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

void do_align(uint n,char *fill,uint len,uint max)

{
  char cVar1;
  int iVar2;
  char *format;
  char *pcVar3;
  
  if ((now_seg == (segT)(PTR__bfd_std_section_00073fb8 + 0x150)) || ((now_seg->flags & 0x103) == 1))
  {
    pcVar3 = fill;
    if (fill == (char *)0x0) {
      sh_flush_pending_output();
    }
    else {
      do {
        if (pcVar3 == fill + len) {
          fill = (char *)0x0;
          len = 0;
          sh_flush_pending_output();
          goto joined_r0x0002c1a6;
        }
        cVar1 = *pcVar3;
        pcVar3 = pcVar3 + 1;
      } while (cVar1 == '\0');
      if (now_seg == (segT)(PTR__bfd_std_section_00073fb8 + 0x150)) {
        pcVar3 = "ignoring fill value in absolute section";
        format = (char *)dcgettext(0,"ignoring fill value in absolute section",5);
      }
      else {
        pcVar3 = now_seg->name;
        format = (char *)dcgettext(0,"ignoring fill value in section `%s\'",5);
      }
      as_warn(format,pcVar3);
      sh_flush_pending_output();
    }
    if (n == 0) {
      return;
    }
    if (need_pass_2 != 0) goto LAB_0002c116;
  }
  else {
    sh_flush_pending_output();
joined_r0x0002c1a6:
    if (n == 0) {
      return;
    }
    if (need_pass_2 != 0) goto LAB_0002c116;
    if (fill != (char *)0x0) {
      if (len < 2) {
        frag_align(n,(int)*fill,max);
      }
      else {
        frag_align_pattern(n,fill,len,max);
      }
      goto LAB_0002c116;
    }
  }
  iVar2 = subseg_text_p(now_seg);
  if (iVar2 == 0) {
    frag_align(n,0,max);
  }
  else {
    frag_align_code(n,max);
  }
  if (n == 0) {
    return;
  }
LAB_0002c116:
  record_alignment(now_seg,n);
  return;
}



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

void FUN_0002c0a0(int param_1,char *param_2,uint param_3,undefined4 param_4)

{
  char cVar1;
  int iVar2;
  undefined4 uVar3;
  char *pcVar4;
  
  if ((DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)) ||
     ((DAT_0007cd7c[5] & 0x103) == 1)) {
    pcVar4 = param_2;
    if (param_2 == (char *)0x0) {
      FUN_00047620();
    }
    else {
      do {
        if (pcVar4 == param_2 + param_3) {
          param_2 = (char *)0x0;
          param_3 = 0;
          FUN_00047620();
          goto joined_r0x0002c1a6;
        }
        cVar1 = *pcVar4;
        pcVar4 = pcVar4 + 1;
      } while (cVar1 == '\0');
      if (DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)) {
        pcVar4 = "ignoring fill value in absolute section";
        uVar3 = dcgettext(0,"ignoring fill value in absolute section",5);
      }
      else {
        pcVar4 = (char *)*DAT_0007cd7c;
        uVar3 = dcgettext(0,"ignoring fill value in section `%s\'",5);
      }
      FUN_0002a6d0(uVar3,pcVar4);
      FUN_00047620();
    }
    if (param_1 == 0) {
      return;
    }
    if (DAT_0007cd68 != 0) goto LAB_0002c116;
  }
  else {
    FUN_00047620();
joined_r0x0002c1a6:
    if (param_1 == 0) {
      return;
    }
    if (DAT_0007cd68 != 0) goto LAB_0002c116;
    if (param_2 != (char *)0x0) {
      if (param_3 < 2) {
        FUN_00023830(param_1,(int)*param_2,param_4);
      }
      else {
        FUN_000238b0(param_1,param_2,param_3,param_4);
      }
      goto LAB_0002c116;
    }
  }
  iVar2 = FUN_00034a10(DAT_0007cd7c);
  if (iVar2 == 0) {
    FUN_00023830(param_1,0,param_4);
  }
  else {
    FUN_000238f0(param_1,param_4);
  }
  if (param_1 == 0) {
    return;
  }
LAB_0002c116:
  FUN_0003cc70(DAT_0007cd7c,param_1);
  return;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00016030
ADD EBX,0x47f57
SUB ESP,0xc
MOV EDI,dword ptr [ESP + 0x20]
MOV ESI,dword ptr [ESP + 0x24]
LEA EBP,[EBX + 0x8d7c]
MOV ECX,dword ptr [EBX + 0xffffffb8]
MOV EDX,dword ptr [EBP]
LEA EAX,[ECX + 0x150]
CMP EDX,EAX
JZ 0x0002c130
MOV EAX,dword ptr [EDX + 0x14]
AND EAX,0x103
CMP EAX,0x1
JZ 0x0002c130
CALL 0x00047620
TEST EDI,EDI
JZ 0x0002c125
LEA EAX,[EBX + 0x8d68]
MOV EAX,dword ptr [EAX]
TEST EAX,EAX
JNZ 0x0002c116
TEST ESI,ESI
JZ 0x0002c14f
CMP dword ptr [ESP + 0x28],0x1
JBE 0x0002c1f8
PUSH dword ptr [ESP + 0x2c]
PUSH dword ptr [ESP + 0x2c]
PUSH ESI
PUSH EDI
CALL 0x000238b0
ADD ESP,0x10
SUB ESP,0x8
PUSH EDI
PUSH dword ptr [EBP]
CALL 0x0003cc70
ADD ESP,0x10
ADD ESP,0xc
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EAX,dword ptr [ESP + 0x28]
ADD EAX,ESI
TEST ESI,ESI
JNZ 0x0002c191
CALL 0x00047620
TEST EDI,EDI
JZ 0x0002c125
LEA EAX,[EBX + 0x8d68]
MOV ESI,dword ptr [EAX]
TEST ESI,ESI
JNZ 0x0002c116
SUB ESP,0xc
PUSH dword ptr [EBP]
CALL 0x00034a10
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0002c230
SUB ESP,0x4
PUSH dword ptr [ESP + 0x30]
PUSH 0x0
PUSH EDI
CALL 0x00023830
ADD ESP,0x10
TEST EDI,EDI
JNZ 0x0002c116
ADD ESP,0xc
POP EBX
POP ESI
POP EDI
POP EBP
RET
ADD ESI,0x1
CMP byte ptr [ESI + -0x1],0x0
JNZ 0x0002c1b8
CMP ESI,EAX
JNZ 0x0002c188
XOR ESI,ESI
MOV dword ptr [ESP + 0x28],0x0
CALL 0x00047620
TEST EDI,EDI
JZ 0x0002c125
JMP 0x0002c0e9
LEA EAX,[ECX + 0x150]
CMP EDX,EAX
JZ 0x0002c218
SUB ESP,0x4
LEA EAX,[EBX + 0xfffdf6e0]
MOV ESI,dword ptr [EDX]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000141a0
POP EDX
POP ECX
PUSH ESI
PUSH EAX
CALL 0x0002a6d0
CALL 0x00047620
ADD ESP,0x10
TEST EDI,EDI
JZ 0x0002c125
JMP 0x0002c143
SUB ESP,0x4
PUSH dword ptr [ESP + 0x30]
MOVSX EAX,byte ptr [ESI]
PUSH EAX
PUSH EDI
CALL 0x00023830
ADD ESP,0x10
JMP 0x0002c116
SUB ESP,0x4
LEA EAX,[EBX + 0xfffdf684]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000141a0
MOV dword ptr [ESP],EAX
JMP 0x0002c1db
SUB ESP,0x8
PUSH dword ptr [ESP + 0x34]
PUSH EDI
CALL 0x000238f0
ADD ESP,0x10
JMP 0x0002c177
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid FUN_0002c0a0(int param_1,char *param_2,uint param_3,undefined4 param_4)\n\n{\n  char cVar1;\n  int iVar2;\n  undefined4 uVar3;\n  char *pcVar4;\n  \n  if ((DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)) ||\n     ((DAT_0007cd7c[5] & 0x103) == 1)) {\n    pcVar4 = param_2;\n    if (param_2 == (char *)0x0) {\n      FUN_00047620();\n    }\n    else {\n      do {\n        if (pcVar4 == param_2 + param_3) {\n          param_2 = (char *)0x0;\n          param_3 = 0;\n          FUN_00047620();\n          goto joined_r0x0002c1a6;\n        }\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + 1;\n      } while (cVar1 == '\0');\n      if (DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)) {\n        pcVar4 = "ignoring fill value in absolute section";\n        uVar3 = dcgettext(0,"ignoring fill value in absolute section",5);\n      }\n      else {\n        pcVar4 = (char *)*DAT_0007cd7c;\n        uVar3 = dcgettext(0,"ignoring fill value in section `%s\'",5);\n      }\n      FUN_0002a6d0(uVar3,pcVar4);\n      FUN_00047620();\n    }\n    if (param_1 == 0) {\n      return;\n    }\n    if (DAT_0007cd68 != 0) goto LAB_0002c116;\n  }\n  else {\n    FUN_00047620();\njoined_r0x0002c1a6:\n    if (param_1 == 0) {\n      return;\n    }\n    if (DAT_0007cd68 != 0) goto LAB_0002c116;\n    if (param_2 != (char *)0x0) {\n      if (param_3 < 2) {\n        FUN_00023830(param_1,(int)*param_2,param_4);\n      }\n      else {\n        FUN_000238b0(param_1,param_2,param_3,param_4);\n      }\n      goto LAB_0002c116;\n    }\n  }\n  iVar2 = FUN_00034a10(DAT_0007cd7c);\n  if (iVar2 == 0) {\n    FUN_00023830(param_1,0,param_4);\n  }\n  else {\n    FUN_000238f0(param_1,param_4);\n  }\n  if (param_1 == 0) {\n    return;\n  }\nLAB_0002c116:\n  FUN_0003cc70(DAT_0007cd7c,param_1);\n  return;\n}\n\n" comment (function_definition "void FUN_0002c0a0(int param_1,char *param_2,uint param_3,undefined4 param_4)\n\n{\n  char cVar1;\n  int iVar2;\n  undefined4 uVar3;\n  char *pcVar4;\n  \n  if ((DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)) ||\n     ((DAT_0007cd7c[5] & 0x103) == 1)) {\n    pcVar4 = param_2;\n    if (param_2 == (char *)0x0) {\n      FUN_00047620();\n    }\n    else {\n      do {\n        if (pcVar4 == param_2 + param_3) {\n          param_2 = (char *)0x0;\n          param_3 = 0;\n          FUN_00047620();\n          goto joined_r0x0002c1a6;\n        }\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + 1;\n      } while (cVar1 == '\0');\n      if (DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)) {\n        pcVar4 = "ignoring fill value in absolute section";\n        uVar3 = dcgettext(0,"ignoring fill value in absolute section",5);\n      }\n      else {\n        pcVar4 = (char *)*DAT_0007cd7c;\n        uVar3 = dcgettext(0,"ignoring fill value in section `%s\'",5);\n      }\n      FUN_0002a6d0(uVar3,pcVar4);\n      FUN_00047620();\n    }\n    if (param_1 == 0) {\n      return;\n    }\n    if (DAT_0007cd68 != 0) goto LAB_0002c116;\n  }\n  else {\n    FUN_00047620();\njoined_r0x0002c1a6:\n    if (param_1 == 0) {\n      return;\n    }\n    if (DAT_0007cd68 != 0) goto LAB_0002c116;\n    if (param_2 != (char *)0x0) {\n      if (param_3 < 2) {\n        FUN_00023830(param_1,(int)*param_2,param_4);\n      }\n      else {\n        FUN_000238b0(param_1,param_2,param_3,param_4);\n      }\n      goto LAB_0002c116;\n    }\n  }\n  iVar2 = FUN_00034a10(DAT_0007cd7c);\n  if (iVar2 == 0) {\n    FUN_00023830(param_1,0,param_4);\n  }\n  else {\n    FUN_000238f0(param_1,param_4);\n  }\n  if (param_1 == 0) {\n    return;\n  }\nLAB_0002c116:\n  FUN_0003cc70(DAT_0007cd7c,param_1);\n  return;\n}" primitive_type (function_declarator "FUN_0002c0a0(int param_1,char *param_2,uint param_3,undefined4 param_4)" identifier (parameter_list "(int param_1,char *param_2,uint param_3,undefined4 param_4)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "char *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "uint param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) ))) (compound_statement "{\n  char cVar1;\n  int iVar2;\n  undefined4 uVar3;\n  char *pcVar4;\n  \n  if ((DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)) ||\n     ((DAT_0007cd7c[5] & 0x103) == 1)) {\n    pcVar4 = param_2;\n    if (param_2 == (char *)0x0) {\n      FUN_00047620();\n    }\n    else {\n      do {\n        if (pcVar4 == param_2 + param_3) {\n          param_2 = (char *)0x0;\n          param_3 = 0;\n          FUN_00047620();\n          goto joined_r0x0002c1a6;\n        }\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + 1;\n      } while (cVar1 == '\0');\n      if (DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)) {\n        pcVar4 = "ignoring fill value in absolute section";\n        uVar3 = dcgettext(0,"ignoring fill value in absolute section",5);\n      }\n      else {\n        pcVar4 = (char *)*DAT_0007cd7c;\n        uVar3 = dcgettext(0,"ignoring fill value in section `%s\'",5);\n      }\n      FUN_0002a6d0(uVar3,pcVar4);\n      FUN_00047620();\n    }\n    if (param_1 == 0) {\n      return;\n    }\n    if (DAT_0007cd68 != 0) goto LAB_0002c116;\n  }\n  else {\n    FUN_00047620();\njoined_r0x0002c1a6:\n    if (param_1 == 0) {\n      return;\n    }\n    if (DAT_0007cd68 != 0) goto LAB_0002c116;\n    if (param_2 != (char *)0x0) {\n      if (param_3 < 2) {\n        FUN_00023830(param_1,(int)*param_2,param_4);\n      }\n      else {\n        FUN_000238b0(param_1,param_2,param_3,param_4);\n      }\n      goto LAB_0002c116;\n    }\n  }\n  iVar2 = FUN_00034a10(DAT_0007cd7c);\n  if (iVar2 == 0) {\n    FUN_00023830(param_1,0,param_4);\n  }\n  else {\n    FUN_000238f0(param_1,param_4);\n  }\n  if (param_1 == 0) {\n    return;\n  }\nLAB_0002c116:\n  FUN_0003cc70(DAT_0007cd7c,param_1);\n  return;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (if_statement "if ((DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)) ||\n     ((DAT_0007cd7c[5] & 0x103) == 1)) {\n    pcVar4 = param_2;\n    if (param_2 == (char *)0x0) {\n      FUN_00047620();\n    }\n    else {\n      do {\n        if (pcVar4 == param_2 + param_3) {\n          param_2 = (char *)0x0;\n          param_3 = 0;\n          FUN_00047620();\n          goto joined_r0x0002c1a6;\n        }\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + 1;\n      } while (cVar1 == '\0');\n      if (DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)) {\n        pcVar4 = "ignoring fill value in absolute section";\n        uVar3 = dcgettext(0,"ignoring fill value in absolute section",5);\n      }\n      else {\n        pcVar4 = (char *)*DAT_0007cd7c;\n        uVar3 = dcgettext(0,"ignoring fill value in section `%s\'",5);\n      }\n      FUN_0002a6d0(uVar3,pcVar4);\n      FUN_00047620();\n    }\n    if (param_1 == 0) {\n      return;\n    }\n    if (DAT_0007cd68 != 0) goto LAB_0002c116;\n  }\n  else {\n    FUN_00047620();\njoined_r0x0002c1a6:\n    if (param_1 == 0) {\n      return;\n    }\n    if (DAT_0007cd68 != 0) goto LAB_0002c116;\n    if (param_2 != (char *)0x0) {\n      if (param_3 < 2) {\n        FUN_00023830(param_1,(int)*param_2,param_4);\n      }\n      else {\n        FUN_000238b0(param_1,param_2,param_3,param_4);\n      }\n      goto LAB_0002c116;\n    }\n  }" if (parenthesized_expression "((DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)) ||\n     ((DAT_0007cd7c[5] & 0x103) == 1))" ( (binary_expression "(DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)) ||\n     ((DAT_0007cd7c[5] & 0x103) == 1)" (parenthesized_expression "(DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150))" ( (binary_expression "DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)" identifier == (cast_expression "(undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__bfd_std_section_00073fb8 + 0x150)" ( (binary_expression "PTR__bfd_std_section_00073fb8 + 0x150" identifier + number_literal) )))) )) || (parenthesized_expression "((DAT_0007cd7c[5] & 0x103) == 1)" ( (binary_expression "(DAT_0007cd7c[5] & 0x103) == 1" (parenthesized_expression "(DAT_0007cd7c[5] & 0x103)" ( (binary_expression "DAT_0007cd7c[5] & 0x103" (subscript_expression "DAT_0007cd7c[5]" identifier [ number_literal ]) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n    pcVar4 = param_2;\n    if (param_2 == (char *)0x0) {\n      FUN_00047620();\n    }\n    else {\n      do {\n        if (pcVar4 == param_2 + param_3) {\n          param_2 = (char *)0x0;\n          param_3 = 0;\n          FUN_00047620();\n          goto joined_r0x0002c1a6;\n        }\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + 1;\n      } while (cVar1 == '\0');\n      if (DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)) {\n        pcVar4 = "ignoring fill value in absolute section";\n        uVar3 = dcgettext(0,"ignoring fill value in absolute section",5);\n      }\n      else {\n        pcVar4 = (char *)*DAT_0007cd7c;\n        uVar3 = dcgettext(0,"ignoring fill value in section `%s\'",5);\n      }\n      FUN_0002a6d0(uVar3,pcVar4);\n      FUN_00047620();\n    }\n    if (param_1 == 0) {\n      return;\n    }\n    if (DAT_0007cd68 != 0) goto LAB_0002c116;\n  }" { (expression_statement "pcVar4 = param_2;" (assignment_expression "pcVar4 = param_2" identifier = identifier) ;) (if_statement "if (param_2 == (char *)0x0) {\n      FUN_00047620();\n    }\n    else {\n      do {\n        if (pcVar4 == param_2 + param_3) {\n          param_2 = (char *)0x0;\n          param_3 = 0;\n          FUN_00047620();\n          goto joined_r0x0002c1a6;\n        }\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + 1;\n      } while (cVar1 == '\0');\n      if (DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)) {\n        pcVar4 = "ignoring fill value in absolute section";\n        uVar3 = dcgettext(0,"ignoring fill value in absolute section",5);\n      }\n      else {\n        pcVar4 = (char *)*DAT_0007cd7c;\n        uVar3 = dcgettext(0,"ignoring fill value in section `%s\'",5);\n      }\n      FUN_0002a6d0(uVar3,pcVar4);\n      FUN_00047620();\n    }" if (parenthesized_expression "(param_2 == (char *)0x0)" ( (binary_expression "param_2 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      FUN_00047620();\n    }" { (expression_statement "FUN_00047620();" (call_expression "FUN_00047620()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n      do {\n        if (pcVar4 == param_2 + param_3) {\n          param_2 = (char *)0x0;\n          param_3 = 0;\n          FUN_00047620();\n          goto joined_r0x0002c1a6;\n        }\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + 1;\n      } while (cVar1 == '\0');\n      if (DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)) {\n        pcVar4 = "ignoring fill value in absolute section";\n        uVar3 = dcgettext(0,"ignoring fill value in absolute section",5);\n      }\n      else {\n        pcVar4 = (char *)*DAT_0007cd7c;\n        uVar3 = dcgettext(0,"ignoring fill value in section `%s\'",5);\n      }\n      FUN_0002a6d0(uVar3,pcVar4);\n      FUN_00047620();\n    }" else (compound_statement "{\n      do {\n        if (pcVar4 == param_2 + param_3) {\n          param_2 = (char *)0x0;\n          param_3 = 0;\n          FUN_00047620();\n          goto joined_r0x0002c1a6;\n        }\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + 1;\n      } while (cVar1 == '\0');\n      if (DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)) {\n        pcVar4 = "ignoring fill value in absolute section";\n        uVar3 = dcgettext(0,"ignoring fill value in absolute section",5);\n      }\n      else {\n        pcVar4 = (char *)*DAT_0007cd7c;\n        uVar3 = dcgettext(0,"ignoring fill value in section `%s\'",5);\n      }\n      FUN_0002a6d0(uVar3,pcVar4);\n      FUN_00047620();\n    }" { (do_statement "do {\n        if (pcVar4 == param_2 + param_3) {\n          param_2 = (char *)0x0;\n          param_3 = 0;\n          FUN_00047620();\n          goto joined_r0x0002c1a6;\n        }\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + 1;\n      } while (cVar1 == '\0');" do (compound_statement "{\n        if (pcVar4 == param_2 + param_3) {\n          param_2 = (char *)0x0;\n          param_3 = 0;\n          FUN_00047620();\n          goto joined_r0x0002c1a6;\n        }\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + 1;\n      }" { (if_statement "if (pcVar4 == param_2 + param_3) {\n          param_2 = (char *)0x0;\n          param_3 = 0;\n          FUN_00047620();\n          goto joined_r0x0002c1a6;\n        }" if (parenthesized_expression "(pcVar4 == param_2 + param_3)" ( (binary_expression "pcVar4 == param_2 + param_3" identifier == (binary_expression "param_2 + param_3" identifier + identifier)) )) (compound_statement "{\n          param_2 = (char *)0x0;\n          param_3 = 0;\n          FUN_00047620();\n          goto joined_r0x0002c1a6;\n        }" { (expression_statement "param_2 = (char *)0x0;" (assignment_expression "param_2 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "param_3 = 0;" (assignment_expression "param_3 = 0" identifier = number_literal) ;) (expression_statement "FUN_00047620();" (call_expression "FUN_00047620()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto joined_r0x0002c1a6;" goto statement_identifier ;) })) (expression_statement "cVar1 = *pcVar4;" (assignment_expression "cVar1 = *pcVar4" identifier = (pointer_expression "*pcVar4" * identifier)) ;) (expression_statement "pcVar4 = pcVar4 + 1;" (assignment_expression "pcVar4 = pcVar4 + 1" identifier = (binary_expression "pcVar4 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(cVar1 == '\0')" ( (binary_expression "cVar1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) ;) (if_statement "if (DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)) {\n        pcVar4 = "ignoring fill value in absolute section";\n        uVar3 = dcgettext(0,"ignoring fill value in absolute section",5);\n      }\n      else {\n        pcVar4 = (char *)*DAT_0007cd7c;\n        uVar3 = dcgettext(0,"ignoring fill value in section `%s\'",5);\n      }" if (parenthesized_expression "(DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150))" ( (binary_expression "DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)" identifier == (cast_expression "(undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__bfd_std_section_00073fb8 + 0x150)" ( (binary_expression "PTR__bfd_std_section_00073fb8 + 0x150" identifier + number_literal) )))) )) (compound_statement "{\n        pcVar4 = "ignoring fill value in absolute section";\n        uVar3 = dcgettext(0,"ignoring fill value in absolute section",5);\n      }" { (expression_statement "pcVar4 = "ignoring fill value in absolute section";" (assignment_expression "pcVar4 = "ignoring fill value in absolute section"" identifier = (string_literal ""ignoring fill value in absolute section"" " string_content ")) ;) (expression_statement "uVar3 = dcgettext(0,"ignoring fill value in absolute section",5);" (assignment_expression "uVar3 = dcgettext(0,"ignoring fill value in absolute section",5)" identifier = (call_expression "dcgettext(0,"ignoring fill value in absolute section",5)" identifier (argument_list "(0,"ignoring fill value in absolute section",5)" ( number_literal , (string_literal ""ignoring fill value in absolute section"" " string_content ") , number_literal )))) ;) }) (else_clause "else {\n        pcVar4 = (char *)*DAT_0007cd7c;\n        uVar3 = dcgettext(0,"ignoring fill value in section `%s\'",5);\n      }" else (compound_statement "{\n        pcVar4 = (char *)*DAT_0007cd7c;\n        uVar3 = dcgettext(0,"ignoring fill value in section `%s\'",5);\n      }" { (expression_statement "pcVar4 = (char *)*DAT_0007cd7c;" (assignment_expression "pcVar4 = (char *)*DAT_0007cd7c" identifier = (cast_expression "(char *)*DAT_0007cd7c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*DAT_0007cd7c" * identifier))) ;) (expression_statement "uVar3 = dcgettext(0,"ignoring fill value in section `%s\'",5);" (assignment_expression "uVar3 = dcgettext(0,"ignoring fill value in section `%s\'",5)" identifier = (call_expression "dcgettext(0,"ignoring fill value in section `%s\'",5)" identifier (argument_list "(0,"ignoring fill value in section `%s\'",5)" ( number_literal , (string_literal ""ignoring fill value in section `%s\'"" " string_content escape_sequence ") , number_literal )))) ;) }))) (expression_statement "FUN_0002a6d0(uVar3,pcVar4);" (call_expression "FUN_0002a6d0(uVar3,pcVar4)" identifier (argument_list "(uVar3,pcVar4)" ( identifier , identifier ))) ;) (expression_statement "FUN_00047620();" (call_expression "FUN_00047620()" identifier (argument_list "()" ( ))) ;) }))) (if_statement "if (param_1 == 0) {\n      return;\n    }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (if_statement "if (DAT_0007cd68 != 0) goto LAB_0002c116;" if (parenthesized_expression "(DAT_0007cd68 != 0)" ( (binary_expression "DAT_0007cd68 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0002c116;" goto statement_identifier ;)) }) (else_clause "else {\n    FUN_00047620();\njoined_r0x0002c1a6:\n    if (param_1 == 0) {\n      return;\n    }\n    if (DAT_0007cd68 != 0) goto LAB_0002c116;\n    if (param_2 != (char *)0x0) {\n      if (param_3 < 2) {\n        FUN_00023830(param_1,(int)*param_2,param_4);\n      }\n      else {\n        FUN_000238b0(param_1,param_2,param_3,param_4);\n      }\n      goto LAB_0002c116;\n    }\n  }" else (compound_statement "{\n    FUN_00047620();\njoined_r0x0002c1a6:\n    if (param_1 == 0) {\n      return;\n    }\n    if (DAT_0007cd68 != 0) goto LAB_0002c116;\n    if (param_2 != (char *)0x0) {\n      if (param_3 < 2) {\n        FUN_00023830(param_1,(int)*param_2,param_4);\n      }\n      else {\n        FUN_000238b0(param_1,param_2,param_3,param_4);\n      }\n      goto LAB_0002c116;\n    }\n  }" { (expression_statement "FUN_00047620();" (call_expression "FUN_00047620()" identifier (argument_list "()" ( ))) ;) (labeled_statement "joined_r0x0002c1a6:\n    if (param_1 == 0) {\n      return;\n    }" statement_identifier : (if_statement "if (param_1 == 0) {\n      return;\n    }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) }))) (if_statement "if (DAT_0007cd68 != 0) goto LAB_0002c116;" if (parenthesized_expression "(DAT_0007cd68 != 0)" ( (binary_expression "DAT_0007cd68 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0002c116;" goto statement_identifier ;)) (if_statement "if (param_2 != (char *)0x0) {\n      if (param_3 < 2) {\n        FUN_00023830(param_1,(int)*param_2,param_4);\n      }\n      else {\n        FUN_000238b0(param_1,param_2,param_3,param_4);\n      }\n      goto LAB_0002c116;\n    }" if (parenthesized_expression "(param_2 != (char *)0x0)" ( (binary_expression "param_2 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (param_3 < 2) {\n        FUN_00023830(param_1,(int)*param_2,param_4);\n      }\n      else {\n        FUN_000238b0(param_1,param_2,param_3,param_4);\n      }\n      goto LAB_0002c116;\n    }" { (if_statement "if (param_3 < 2) {\n        FUN_00023830(param_1,(int)*param_2,param_4);\n      }\n      else {\n        FUN_000238b0(param_1,param_2,param_3,param_4);\n      }" if (parenthesized_expression "(param_3 < 2)" ( (binary_expression "param_3 < 2" identifier < number_literal) )) (compound_statement "{\n        FUN_00023830(param_1,(int)*param_2,param_4);\n      }" { (expression_statement "FUN_00023830(param_1,(int)*param_2,param_4);" (call_expression "FUN_00023830(param_1,(int)*param_2,param_4)" identifier (argument_list "(param_1,(int)*param_2,param_4)" ( identifier , (cast_expression "(int)*param_2" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*param_2" * identifier)) , identifier ))) ;) }) (else_clause "else {\n        FUN_000238b0(param_1,param_2,param_3,param_4);\n      }" else (compound_statement "{\n        FUN_000238b0(param_1,param_2,param_3,param_4);\n      }" { (expression_statement "FUN_000238b0(param_1,param_2,param_3,param_4);" (call_expression "FUN_000238b0(param_1,param_2,param_3,param_4)" identifier (argument_list "(param_1,param_2,param_3,param_4)" ( identifier , identifier , identifier , identifier ))) ;) }))) (goto_statement "goto LAB_0002c116;" goto statement_identifier ;) })) }))) (expression_statement "iVar2 = FUN_00034a10(DAT_0007cd7c);" (assignment_expression "iVar2 = FUN_00034a10(DAT_0007cd7c)" identifier = (call_expression "FUN_00034a10(DAT_0007cd7c)" identifier (argument_list "(DAT_0007cd7c)" ( identifier )))) ;) (if_statement "if (iVar2 == 0) {\n    FUN_00023830(param_1,0,param_4);\n  }\n  else {\n    FUN_000238f0(param_1,param_4);\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    FUN_00023830(param_1,0,param_4);\n  }" { (expression_statement "FUN_00023830(param_1,0,param_4);" (call_expression "FUN_00023830(param_1,0,param_4)" identifier (argument_list "(param_1,0,param_4)" ( identifier , number_literal , identifier ))) ;) }) (else_clause "else {\n    FUN_000238f0(param_1,param_4);\n  }" else (compound_statement "{\n    FUN_000238f0(param_1,param_4);\n  }" { (expression_statement "FUN_000238f0(param_1,param_4);" (call_expression "FUN_000238f0(param_1,param_4)" identifier (argument_list "(param_1,param_4)" ( identifier , identifier ))) ;) }))) (if_statement "if (param_1 == 0) {\n    return;\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (labeled_statement "LAB_0002c116:\n  FUN_0003cc70(DAT_0007cd7c,param_1);" statement_identifier : (expression_statement "FUN_0003cc70(DAT_0007cd7c,param_1);" (call_expression "FUN_0003cc70(DAT_0007cd7c,param_1)" identifier (argument_list "(DAT_0007cd7c,param_1)" ( identifier , identifier ))) ;)) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid do_align(uint n,char *fill,uint len,uint max)\n\n{\n  char cVar1;\n  int iVar2;\n  char *format;\n  char *pcVar3;\n  \n  if ((now_seg == (segT)(PTR__bfd_std_section_00073fb8 + 0x150)) || ((now_seg->flags & 0x103) == 1))\n  {\n    pcVar3 = fill;\n    if (fill == (char *)0x0) {\n      sh_flush_pending_output();\n    }\n    else {\n      do {\n        if (pcVar3 == fill + len) {\n          fill = (char *)0x0;\n          len = 0;\n          sh_flush_pending_output();\n          goto joined_r0x0002c1a6;\n        }\n        cVar1 = *pcVar3;\n        pcVar3 = pcVar3 + 1;\n      } while (cVar1 == '\0');\n      if (now_seg == (segT)(PTR__bfd_std_section_00073fb8 + 0x150)) {\n        pcVar3 = "ignoring fill value in absolute section";\n        format = (char *)dcgettext(0,"ignoring fill value in absolute section",5);\n      }\n      else {\n        pcVar3 = now_seg->name;\n        format = (char *)dcgettext(0,"ignoring fill value in section `%s\'",5);\n      }\n      as_warn(format,pcVar3);\n      sh_flush_pending_output();\n    }\n    if (n == 0) {\n      return;\n    }\n    if (need_pass_2 != 0) goto LAB_0002c116;\n  }\n  else {\n    sh_flush_pending_output();\njoined_r0x0002c1a6:\n    if (n == 0) {\n      return;\n    }\n    if (need_pass_2 != 0) goto LAB_0002c116;\n    if (fill != (char *)0x0) {\n      if (len < 2) {\n        frag_align(n,(int)*fill,max);\n      }\n      else {\n        frag_align_pattern(n,fill,len,max);\n      }\n      goto LAB_0002c116;\n    }\n  }\n  iVar2 = subseg_text_p(now_seg);\n  if (iVar2 == 0) {\n    frag_align(n,0,max);\n  }\n  else {\n    frag_align_code(n,max);\n  }\n  if (n == 0) {\n    return;\n  }\nLAB_0002c116:\n  record_alignment(now_seg,n);\n  return;\n}\n\n" comment (function_definition "void do_align(uint n,char *fill,uint len,uint max)\n\n{\n  char cVar1;\n  int iVar2;\n  char *format;\n  char *pcVar3;\n  \n  if ((now_seg == (segT)(PTR__bfd_std_section_00073fb8 + 0x150)) || ((now_seg->flags & 0x103) == 1))\n  {\n    pcVar3 = fill;\n    if (fill == (char *)0x0) {\n      sh_flush_pending_output();\n    }\n    else {\n      do {\n        if (pcVar3 == fill + len) {\n          fill = (char *)0x0;\n          len = 0;\n          sh_flush_pending_output();\n          goto joined_r0x0002c1a6;\n        }\n        cVar1 = *pcVar3;\n        pcVar3 = pcVar3 + 1;\n      } while (cVar1 == '\0');\n      if (now_seg == (segT)(PTR__bfd_std_section_00073fb8 + 0x150)) {\n        pcVar3 = "ignoring fill value in absolute section";\n        format = (char *)dcgettext(0,"ignoring fill value in absolute section",5);\n      }\n      else {\n        pcVar3 = now_seg->name;\n        format = (char *)dcgettext(0,"ignoring fill value in section `%s\'",5);\n      }\n      as_warn(format,pcVar3);\n      sh_flush_pending_output();\n    }\n    if (n == 0) {\n      return;\n    }\n    if (need_pass_2 != 0) goto LAB_0002c116;\n  }\n  else {\n    sh_flush_pending_output();\njoined_r0x0002c1a6:\n    if (n == 0) {\n      return;\n    }\n    if (need_pass_2 != 0) goto LAB_0002c116;\n    if (fill != (char *)0x0) {\n      if (len < 2) {\n        frag_align(n,(int)*fill,max);\n      }\n      else {\n        frag_align_pattern(n,fill,len,max);\n      }\n      goto LAB_0002c116;\n    }\n  }\n  iVar2 = subseg_text_p(now_seg);\n  if (iVar2 == 0) {\n    frag_align(n,0,max);\n  }\n  else {\n    frag_align_code(n,max);\n  }\n  if (n == 0) {\n    return;\n  }\nLAB_0002c116:\n  record_alignment(now_seg,n);\n  return;\n}" primitive_type (function_declarator "do_align(uint n,char *fill,uint len,uint max)" identifier (parameter_list "(uint n,char *fill,uint len,uint max)" ( (parameter_declaration "uint n" type_identifier identifier) , (parameter_declaration "char *fill" primitive_type (pointer_declarator "*fill" * identifier)) , (parameter_declaration "uint len" type_identifier identifier) , (parameter_declaration "uint max" type_identifier identifier) ))) (compound_statement "{\n  char cVar1;\n  int iVar2;\n  char *format;\n  char *pcVar3;\n  \n  if ((now_seg == (segT)(PTR__bfd_std_section_00073fb8 + 0x150)) || ((now_seg->flags & 0x103) == 1))\n  {\n    pcVar3 = fill;\n    if (fill == (char *)0x0) {\n      sh_flush_pending_output();\n    }\n    else {\n      do {\n        if (pcVar3 == fill + len) {\n          fill = (char *)0x0;\n          len = 0;\n          sh_flush_pending_output();\n          goto joined_r0x0002c1a6;\n        }\n        cVar1 = *pcVar3;\n        pcVar3 = pcVar3 + 1;\n      } while (cVar1 == '\0');\n      if (now_seg == (segT)(PTR__bfd_std_section_00073fb8 + 0x150)) {\n        pcVar3 = "ignoring fill value in absolute section";\n        format = (char *)dcgettext(0,"ignoring fill value in absolute section",5);\n      }\n      else {\n        pcVar3 = now_seg->name;\n        format = (char *)dcgettext(0,"ignoring fill value in section `%s\'",5);\n      }\n      as_warn(format,pcVar3);\n      sh_flush_pending_output();\n    }\n    if (n == 0) {\n      return;\n    }\n    if (need_pass_2 != 0) goto LAB_0002c116;\n  }\n  else {\n    sh_flush_pending_output();\njoined_r0x0002c1a6:\n    if (n == 0) {\n      return;\n    }\n    if (need_pass_2 != 0) goto LAB_0002c116;\n    if (fill != (char *)0x0) {\n      if (len < 2) {\n        frag_align(n,(int)*fill,max);\n      }\n      else {\n        frag_align_pattern(n,fill,len,max);\n      }\n      goto LAB_0002c116;\n    }\n  }\n  iVar2 = subseg_text_p(now_seg);\n  if (iVar2 == 0) {\n    frag_align(n,0,max);\n  }\n  else {\n    frag_align_code(n,max);\n  }\n  if (n == 0) {\n    return;\n  }\nLAB_0002c116:\n  record_alignment(now_seg,n);\n  return;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "char *format;" primitive_type (pointer_declarator "*format" * identifier) ;) (declaration "char *pcVar3;" primitive_type (pointer_declarator "*pcVar3" * identifier) ;) (if_statement "if ((now_seg == (segT)(PTR__bfd_std_section_00073fb8 + 0x150)) || ((now_seg->flags & 0x103) == 1))\n  {\n    pcVar3 = fill;\n    if (fill == (char *)0x0) {\n      sh_flush_pending_output();\n    }\n    else {\n      do {\n        if (pcVar3 == fill + len) {\n          fill = (char *)0x0;\n          len = 0;\n          sh_flush_pending_output();\n          goto joined_r0x0002c1a6;\n        }\n        cVar1 = *pcVar3;\n        pcVar3 = pcVar3 + 1;\n      } while (cVar1 == '\0');\n      if (now_seg == (segT)(PTR__bfd_std_section_00073fb8 + 0x150)) {\n        pcVar3 = "ignoring fill value in absolute section";\n        format = (char *)dcgettext(0,"ignoring fill value in absolute section",5);\n      }\n      else {\n        pcVar3 = now_seg->name;\n        format = (char *)dcgettext(0,"ignoring fill value in section `%s\'",5);\n      }\n      as_warn(format,pcVar3);\n      sh_flush_pending_output();\n    }\n    if (n == 0) {\n      return;\n    }\n    if (need_pass_2 != 0) goto LAB_0002c116;\n  }\n  else {\n    sh_flush_pending_output();\njoined_r0x0002c1a6:\n    if (n == 0) {\n      return;\n    }\n    if (need_pass_2 != 0) goto LAB_0002c116;\n    if (fill != (char *)0x0) {\n      if (len < 2) {\n        frag_align(n,(int)*fill,max);\n      }\n      else {\n        frag_align_pattern(n,fill,len,max);\n      }\n      goto LAB_0002c116;\n    }\n  }" if (parenthesized_expression "((now_seg == (segT)(PTR__bfd_std_section_00073fb8 + 0x150)) || ((now_seg->flags & 0x103) == 1))" ( (binary_expression "(now_seg == (segT)(PTR__bfd_std_section_00073fb8 + 0x150)) || ((now_seg->flags & 0x103) == 1)" (parenthesized_expression "(now_seg == (segT)(PTR__bfd_std_section_00073fb8 + 0x150))" ( (binary_expression "now_seg == (segT)(PTR__bfd_std_section_00073fb8 + 0x150)" identifier == (call_expression "(segT)(PTR__bfd_std_section_00073fb8 + 0x150)" (parenthesized_expression "(segT)" ( identifier )) (argument_list "(PTR__bfd_std_section_00073fb8 + 0x150)" ( (binary_expression "PTR__bfd_std_section_00073fb8 + 0x150" identifier + number_literal) )))) )) || (parenthesized_expression "((now_seg->flags & 0x103) == 1)" ( (binary_expression "(now_seg->flags & 0x103) == 1" (parenthesized_expression "(now_seg->flags & 0x103)" ( (binary_expression "now_seg->flags & 0x103" (field_expression "now_seg->flags" identifier -> field_identifier) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n    pcVar3 = fill;\n    if (fill == (char *)0x0) {\n      sh_flush_pending_output();\n    }\n    else {\n      do {\n        if (pcVar3 == fill + len) {\n          fill = (char *)0x0;\n          len = 0;\n          sh_flush_pending_output();\n          goto joined_r0x0002c1a6;\n        }\n        cVar1 = *pcVar3;\n        pcVar3 = pcVar3 + 1;\n      } while (cVar1 == '\0');\n      if (now_seg == (segT)(PTR__bfd_std_section_00073fb8 + 0x150)) {\n        pcVar3 = "ignoring fill value in absolute section";\n        format = (char *)dcgettext(0,"ignoring fill value in absolute section",5);\n      }\n      else {\n        pcVar3 = now_seg->name;\n        format = (char *)dcgettext(0,"ignoring fill value in section `%s\'",5);\n      }\n      as_warn(format,pcVar3);\n      sh_flush_pending_output();\n    }\n    if (n == 0) {\n      return;\n    }\n    if (need_pass_2 != 0) goto LAB_0002c116;\n  }" { (expression_statement "pcVar3 = fill;" (assignment_expression "pcVar3 = fill" identifier = identifier) ;) (if_statement "if (fill == (char *)0x0) {\n      sh_flush_pending_output();\n    }\n    else {\n      do {\n        if (pcVar3 == fill + len) {\n          fill = (char *)0x0;\n          len = 0;\n          sh_flush_pending_output();\n          goto joined_r0x0002c1a6;\n        }\n        cVar1 = *pcVar3;\n        pcVar3 = pcVar3 + 1;\n      } while (cVar1 == '\0');\n      if (now_seg == (segT)(PTR__bfd_std_section_00073fb8 + 0x150)) {\n        pcVar3 = "ignoring fill value in absolute section";\n        format = (char *)dcgettext(0,"ignoring fill value in absolute section",5);\n      }\n      else {\n        pcVar3 = now_seg->name;\n        format = (char *)dcgettext(0,"ignoring fill value in section `%s\'",5);\n      }\n      as_warn(format,pcVar3);\n      sh_flush_pending_output();\n    }" if (parenthesized_expression "(fill == (char *)0x0)" ( (binary_expression "fill == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      sh_flush_pending_output();\n    }" { (expression_statement "sh_flush_pending_output();" (call_expression "sh_flush_pending_output()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n      do {\n        if (pcVar3 == fill + len) {\n          fill = (char *)0x0;\n          len = 0;\n          sh_flush_pending_output();\n          goto joined_r0x0002c1a6;\n        }\n        cVar1 = *pcVar3;\n        pcVar3 = pcVar3 + 1;\n      } while (cVar1 == '\0');\n      if (now_seg == (segT)(PTR__bfd_std_section_00073fb8 + 0x150)) {\n        pcVar3 = "ignoring fill value in absolute section";\n        format = (char *)dcgettext(0,"ignoring fill value in absolute section",5);\n      }\n      else {\n        pcVar3 = now_seg->name;\n        format = (char *)dcgettext(0,"ignoring fill value in section `%s\'",5);\n      }\n      as_warn(format,pcVar3);\n      sh_flush_pending_output();\n    }" else (compound_statement "{\n      do {\n        if (pcVar3 == fill + len) {\n          fill = (char *)0x0;\n          len = 0;\n          sh_flush_pending_output();\n          goto joined_r0x0002c1a6;\n        }\n        cVar1 = *pcVar3;\n        pcVar3 = pcVar3 + 1;\n      } while (cVar1 == '\0');\n      if (now_seg == (segT)(PTR__bfd_std_section_00073fb8 + 0x150)) {\n        pcVar3 = "ignoring fill value in absolute section";\n        format = (char *)dcgettext(0,"ignoring fill value in absolute section",5);\n      }\n      else {\n        pcVar3 = now_seg->name;\n        format = (char *)dcgettext(0,"ignoring fill value in section `%s\'",5);\n      }\n      as_warn(format,pcVar3);\n      sh_flush_pending_output();\n    }" { (do_statement "do {\n        if (pcVar3 == fill + len) {\n          fill = (char *)0x0;\n          len = 0;\n          sh_flush_pending_output();\n          goto joined_r0x0002c1a6;\n        }\n        cVar1 = *pcVar3;\n        pcVar3 = pcVar3 + 1;\n      } while (cVar1 == '\0');" do (compound_statement "{\n        if (pcVar3 == fill + len) {\n          fill = (char *)0x0;\n          len = 0;\n          sh_flush_pending_output();\n          goto joined_r0x0002c1a6;\n        }\n        cVar1 = *pcVar3;\n        pcVar3 = pcVar3 + 1;\n      }" { (if_statement "if (pcVar3 == fill + len) {\n          fill = (char *)0x0;\n          len = 0;\n          sh_flush_pending_output();\n          goto joined_r0x0002c1a6;\n        }" if (parenthesized_expression "(pcVar3 == fill + len)" ( (binary_expression "pcVar3 == fill + len" identifier == (binary_expression "fill + len" identifier + identifier)) )) (compound_statement "{\n          fill = (char *)0x0;\n          len = 0;\n          sh_flush_pending_output();\n          goto joined_r0x0002c1a6;\n        }" { (expression_statement "fill = (char *)0x0;" (assignment_expression "fill = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "len = 0;" (assignment_expression "len = 0" identifier = number_literal) ;) (expression_statement "sh_flush_pending_output();" (call_expression "sh_flush_pending_output()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto joined_r0x0002c1a6;" goto statement_identifier ;) })) (expression_statement "cVar1 = *pcVar3;" (assignment_expression "cVar1 = *pcVar3" identifier = (pointer_expression "*pcVar3" * identifier)) ;) (expression_statement "pcVar3 = pcVar3 + 1;" (assignment_expression "pcVar3 = pcVar3 + 1" identifier = (binary_expression "pcVar3 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(cVar1 == '\0')" ( (binary_expression "cVar1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) ;) (if_statement "if (now_seg == (segT)(PTR__bfd_std_section_00073fb8 + 0x150)) {\n        pcVar3 = "ignoring fill value in absolute section";\n        format = (char *)dcgettext(0,"ignoring fill value in absolute section",5);\n      }\n      else {\n        pcVar3 = now_seg->name;\n        format = (char *)dcgettext(0,"ignoring fill value in section `%s\'",5);\n      }" if (parenthesized_expression "(now_seg == (segT)(PTR__bfd_std_section_00073fb8 + 0x150))" ( (binary_expression "now_seg == (segT)(PTR__bfd_std_section_00073fb8 + 0x150)" identifier == (call_expression "(segT)(PTR__bfd_std_section_00073fb8 + 0x150)" (parenthesized_expression "(segT)" ( identifier )) (argument_list "(PTR__bfd_std_section_00073fb8 + 0x150)" ( (binary_expression "PTR__bfd_std_section_00073fb8 + 0x150" identifier + number_literal) )))) )) (compound_statement "{\n        pcVar3 = "ignoring fill value in absolute section";\n        format = (char *)dcgettext(0,"ignoring fill value in absolute section",5);\n      }" { (expression_statement "pcVar3 = "ignoring fill value in absolute section";" (assignment_expression "pcVar3 = "ignoring fill value in absolute section"" identifier = (string_literal ""ignoring fill value in absolute section"" " string_content ")) ;) (expression_statement "format = (char *)dcgettext(0,"ignoring fill value in absolute section",5);" (assignment_expression "format = (char *)dcgettext(0,"ignoring fill value in absolute section",5)" identifier = (cast_expression "(char *)dcgettext(0,"ignoring fill value in absolute section",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"ignoring fill value in absolute section",5)" identifier (argument_list "(0,"ignoring fill value in absolute section",5)" ( number_literal , (string_literal ""ignoring fill value in absolute section"" " string_content ") , number_literal ))))) ;) }) (else_clause "else {\n        pcVar3 = now_seg->name;\n        format = (char *)dcgettext(0,"ignoring fill value in section `%s\'",5);\n      }" else (compound_statement "{\n        pcVar3 = now_seg->name;\n        format = (char *)dcgettext(0,"ignoring fill value in section `%s\'",5);\n      }" { (expression_statement "pcVar3 = now_seg->name;" (assignment_expression "pcVar3 = now_seg->name" identifier = (field_expression "now_seg->name" identifier -> field_identifier)) ;) (expression_statement "format = (char *)dcgettext(0,"ignoring fill value in section `%s\'",5);" (assignment_expression "format = (char *)dcgettext(0,"ignoring fill value in section `%s\'",5)" identifier = (cast_expression "(char *)dcgettext(0,"ignoring fill value in section `%s\'",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"ignoring fill value in section `%s\'",5)" identifier (argument_list "(0,"ignoring fill value in section `%s\'",5)" ( number_literal , (string_literal ""ignoring fill value in section `%s\'"" " string_content escape_sequence ") , number_literal ))))) ;) }))) (expression_statement "as_warn(format,pcVar3);" (call_expression "as_warn(format,pcVar3)" identifier (argument_list "(format,pcVar3)" ( identifier , identifier ))) ;) (expression_statement "sh_flush_pending_output();" (call_expression "sh_flush_pending_output()" identifier (argument_list "()" ( ))) ;) }))) (if_statement "if (n == 0) {\n      return;\n    }" if (parenthesized_expression "(n == 0)" ( (binary_expression "n == 0" identifier == number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (if_statement "if (need_pass_2 != 0) goto LAB_0002c116;" if (parenthesized_expression "(need_pass_2 != 0)" ( (binary_expression "need_pass_2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0002c116;" goto statement_identifier ;)) }) (else_clause "else {\n    sh_flush_pending_output();\njoined_r0x0002c1a6:\n    if (n == 0) {\n      return;\n    }\n    if (need_pass_2 != 0) goto LAB_0002c116;\n    if (fill != (char *)0x0) {\n      if (len < 2) {\n        frag_align(n,(int)*fill,max);\n      }\n      else {\n        frag_align_pattern(n,fill,len,max);\n      }\n      goto LAB_0002c116;\n    }\n  }" else (compound_statement "{\n    sh_flush_pending_output();\njoined_r0x0002c1a6:\n    if (n == 0) {\n      return;\n    }\n    if (need_pass_2 != 0) goto LAB_0002c116;\n    if (fill != (char *)0x0) {\n      if (len < 2) {\n        frag_align(n,(int)*fill,max);\n      }\n      else {\n        frag_align_pattern(n,fill,len,max);\n      }\n      goto LAB_0002c116;\n    }\n  }" { (expression_statement "sh_flush_pending_output();" (call_expression "sh_flush_pending_output()" identifier (argument_list "()" ( ))) ;) (labeled_statement "joined_r0x0002c1a6:\n    if (n == 0) {\n      return;\n    }" statement_identifier : (if_statement "if (n == 0) {\n      return;\n    }" if (parenthesized_expression "(n == 0)" ( (binary_expression "n == 0" identifier == number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) }))) (if_statement "if (need_pass_2 != 0) goto LAB_0002c116;" if (parenthesized_expression "(need_pass_2 != 0)" ( (binary_expression "need_pass_2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0002c116;" goto statement_identifier ;)) (if_statement "if (fill != (char *)0x0) {\n      if (len < 2) {\n        frag_align(n,(int)*fill,max);\n      }\n      else {\n        frag_align_pattern(n,fill,len,max);\n      }\n      goto LAB_0002c116;\n    }" if (parenthesized_expression "(fill != (char *)0x0)" ( (binary_expression "fill != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (len < 2) {\n        frag_align(n,(int)*fill,max);\n      }\n      else {\n        frag_align_pattern(n,fill,len,max);\n      }\n      goto LAB_0002c116;\n    }" { (if_statement "if (len < 2) {\n        frag_align(n,(int)*fill,max);\n      }\n      else {\n        frag_align_pattern(n,fill,len,max);\n      }" if (parenthesized_expression "(len < 2)" ( (binary_expression "len < 2" identifier < number_literal) )) (compound_statement "{\n        frag_align(n,(int)*fill,max);\n      }" { (expression_statement "frag_align(n,(int)*fill,max);" (call_expression "frag_align(n,(int)*fill,max)" identifier (argument_list "(n,(int)*fill,max)" ( identifier , (cast_expression "(int)*fill" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*fill" * identifier)) , identifier ))) ;) }) (else_clause "else {\n        frag_align_pattern(n,fill,len,max);\n      }" else (compound_statement "{\n        frag_align_pattern(n,fill,len,max);\n      }" { (expression_statement "frag_align_pattern(n,fill,len,max);" (call_expression "frag_align_pattern(n,fill,len,max)" identifier (argument_list "(n,fill,len,max)" ( identifier , identifier , identifier , identifier ))) ;) }))) (goto_statement "goto LAB_0002c116;" goto statement_identifier ;) })) }))) (expression_statement "iVar2 = subseg_text_p(now_seg);" (assignment_expression "iVar2 = subseg_text_p(now_seg)" identifier = (call_expression "subseg_text_p(now_seg)" identifier (argument_list "(now_seg)" ( identifier )))) ;) (if_statement "if (iVar2 == 0) {\n    frag_align(n,0,max);\n  }\n  else {\n    frag_align_code(n,max);\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    frag_align(n,0,max);\n  }" { (expression_statement "frag_align(n,0,max);" (call_expression "frag_align(n,0,max)" identifier (argument_list "(n,0,max)" ( identifier , number_literal , identifier ))) ;) }) (else_clause "else {\n    frag_align_code(n,max);\n  }" else (compound_statement "{\n    frag_align_code(n,max);\n  }" { (expression_statement "frag_align_code(n,max);" (call_expression "frag_align_code(n,max)" identifier (argument_list "(n,max)" ( identifier , identifier ))) ;) }))) (if_statement "if (n == 0) {\n    return;\n  }" if (parenthesized_expression "(n == 0)" ( (binary_expression "n == 0" identifier == number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (labeled_statement "LAB_0002c116:\n  record_alignment(now_seg,n);" statement_identifier : (expression_statement "record_alignment(now_seg,n);" (call_expression "record_alignment(now_seg,n)" identifier (argument_list "(now_seg,n)" ( identifier , identifier ))) ;)) (return_statement "return;" return ;) })))
(translation_unit "void FUN_0002c0a0(int param_1,char *param_2,uint param_3,undefined4 param_4)\n\n{\n  char cVar1;\n  int iVar2;\n  undefined4 uVar3;\n  char *pcVar4;\n  \n  if ((DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)) ||\n     ((DAT_0007cd7c[5] & 0x103) == 1)) {\n    pcVar4 = param_2;\n    if (param_2 == (char *)0x0) {\n      FUN_00047620();\n    }\n    else {\n      do {\n        if (pcVar4 == param_2 + param_3) {\n          param_2 = (char *)0x0;\n          param_3 = 0;\n          FUN_00047620();\n          goto joined_r0x0002c1a6;\n        }\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + 1;\n      } while (cVar1 == '\0');\n      if (DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)) {\n        pcVar4 = "ignoring fill value in absolute section";\n        uVar3 = dcgettext(0,"ignoring fill value in absolute section",5);\n      }\n      else {\n        pcVar4 = (char *)*DAT_0007cd7c;\n        uVar3 = dcgettext(0,"ignoring fill value in section `%s\'",5);\n      }\n      FUN_0002a6d0(uVar3,pcVar4);\n      FUN_00047620();\n    }\n    if (param_1 == 0) {\n      return;\n    }\n    if (DAT_0007cd68 != 0) goto LAB_0002c116;\n  }\n  else {\n    FUN_00047620();\njoined_r0x0002c1a6:\n    if (param_1 == 0) {\n      return;\n    }\n    if (DAT_0007cd68 != 0) goto LAB_0002c116;\n    if (param_2 != (char *)0x0) {\n      if (param_3 < 2) {\n        FUN_00023830(param_1,(int)*param_2,param_4);\n      }\n      else {\n        FUN_000238b0(param_1,param_2,param_3,param_4);\n      }\n      goto LAB_0002c116;\n    }\n  }\n  iVar2 = FUN_00034a10(DAT_0007cd7c);\n  if (iVar2 == 0) {\n    FUN_00023830(param_1,0,param_4);\n  }\n  else {\n    FUN_000238f0(param_1,param_4);\n  }\n  if (param_1 == 0) {\n    return;\n  }\nLAB_0002c116:\n  FUN_0003cc70(DAT_0007cd7c,param_1);\n  return;\n}\n\n" (function_definition "void FUN_0002c0a0(int param_1,char *param_2,uint param_3,undefined4 param_4)\n\n{\n  char cVar1;\n  int iVar2;\n  undefined4 uVar3;\n  char *pcVar4;\n  \n  if ((DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)) ||\n     ((DAT_0007cd7c[5] & 0x103) == 1)) {\n    pcVar4 = param_2;\n    if (param_2 == (char *)0x0) {\n      FUN_00047620();\n    }\n    else {\n      do {\n        if (pcVar4 == param_2 + param_3) {\n          param_2 = (char *)0x0;\n          param_3 = 0;\n          FUN_00047620();\n          goto joined_r0x0002c1a6;\n        }\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + 1;\n      } while (cVar1 == '\0');\n      if (DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)) {\n        pcVar4 = "ignoring fill value in absolute section";\n        uVar3 = dcgettext(0,"ignoring fill value in absolute section",5);\n      }\n      else {\n        pcVar4 = (char *)*DAT_0007cd7c;\n        uVar3 = dcgettext(0,"ignoring fill value in section `%s\'",5);\n      }\n      FUN_0002a6d0(uVar3,pcVar4);\n      FUN_00047620();\n    }\n    if (param_1 == 0) {\n      return;\n    }\n    if (DAT_0007cd68 != 0) goto LAB_0002c116;\n  }\n  else {\n    FUN_00047620();\njoined_r0x0002c1a6:\n    if (param_1 == 0) {\n      return;\n    }\n    if (DAT_0007cd68 != 0) goto LAB_0002c116;\n    if (param_2 != (char *)0x0) {\n      if (param_3 < 2) {\n        FUN_00023830(param_1,(int)*param_2,param_4);\n      }\n      else {\n        FUN_000238b0(param_1,param_2,param_3,param_4);\n      }\n      goto LAB_0002c116;\n    }\n  }\n  iVar2 = FUN_00034a10(DAT_0007cd7c);\n  if (iVar2 == 0) {\n    FUN_00023830(param_1,0,param_4);\n  }\n  else {\n    FUN_000238f0(param_1,param_4);\n  }\n  if (param_1 == 0) {\n    return;\n  }\nLAB_0002c116:\n  FUN_0003cc70(DAT_0007cd7c,param_1);\n  return;\n}" primitive_type (function_declarator "FUN_0002c0a0(int param_1,char *param_2,uint param_3,undefined4 param_4)" identifier (parameter_list "(int param_1,char *param_2,uint param_3,undefined4 param_4)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "char *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "uint param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) ))) (compound_statement "{\n  char cVar1;\n  int iVar2;\n  undefined4 uVar3;\n  char *pcVar4;\n  \n  if ((DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)) ||\n     ((DAT_0007cd7c[5] & 0x103) == 1)) {\n    pcVar4 = param_2;\n    if (param_2 == (char *)0x0) {\n      FUN_00047620();\n    }\n    else {\n      do {\n        if (pcVar4 == param_2 + param_3) {\n          param_2 = (char *)0x0;\n          param_3 = 0;\n          FUN_00047620();\n          goto joined_r0x0002c1a6;\n        }\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + 1;\n      } while (cVar1 == '\0');\n      if (DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)) {\n        pcVar4 = "ignoring fill value in absolute section";\n        uVar3 = dcgettext(0,"ignoring fill value in absolute section",5);\n      }\n      else {\n        pcVar4 = (char *)*DAT_0007cd7c;\n        uVar3 = dcgettext(0,"ignoring fill value in section `%s\'",5);\n      }\n      FUN_0002a6d0(uVar3,pcVar4);\n      FUN_00047620();\n    }\n    if (param_1 == 0) {\n      return;\n    }\n    if (DAT_0007cd68 != 0) goto LAB_0002c116;\n  }\n  else {\n    FUN_00047620();\njoined_r0x0002c1a6:\n    if (param_1 == 0) {\n      return;\n    }\n    if (DAT_0007cd68 != 0) goto LAB_0002c116;\n    if (param_2 != (char *)0x0) {\n      if (param_3 < 2) {\n        FUN_00023830(param_1,(int)*param_2,param_4);\n      }\n      else {\n        FUN_000238b0(param_1,param_2,param_3,param_4);\n      }\n      goto LAB_0002c116;\n    }\n  }\n  iVar2 = FUN_00034a10(DAT_0007cd7c);\n  if (iVar2 == 0) {\n    FUN_00023830(param_1,0,param_4);\n  }\n  else {\n    FUN_000238f0(param_1,param_4);\n  }\n  if (param_1 == 0) {\n    return;\n  }\nLAB_0002c116:\n  FUN_0003cc70(DAT_0007cd7c,param_1);\n  return;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (if_statement "if ((DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)) ||\n     ((DAT_0007cd7c[5] & 0x103) == 1)) {\n    pcVar4 = param_2;\n    if (param_2 == (char *)0x0) {\n      FUN_00047620();\n    }\n    else {\n      do {\n        if (pcVar4 == param_2 + param_3) {\n          param_2 = (char *)0x0;\n          param_3 = 0;\n          FUN_00047620();\n          goto joined_r0x0002c1a6;\n        }\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + 1;\n      } while (cVar1 == '\0');\n      if (DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)) {\n        pcVar4 = "ignoring fill value in absolute section";\n        uVar3 = dcgettext(0,"ignoring fill value in absolute section",5);\n      }\n      else {\n        pcVar4 = (char *)*DAT_0007cd7c;\n        uVar3 = dcgettext(0,"ignoring fill value in section `%s\'",5);\n      }\n      FUN_0002a6d0(uVar3,pcVar4);\n      FUN_00047620();\n    }\n    if (param_1 == 0) {\n      return;\n    }\n    if (DAT_0007cd68 != 0) goto LAB_0002c116;\n  }\n  else {\n    FUN_00047620();\njoined_r0x0002c1a6:\n    if (param_1 == 0) {\n      return;\n    }\n    if (DAT_0007cd68 != 0) goto LAB_0002c116;\n    if (param_2 != (char *)0x0) {\n      if (param_3 < 2) {\n        FUN_00023830(param_1,(int)*param_2,param_4);\n      }\n      else {\n        FUN_000238b0(param_1,param_2,param_3,param_4);\n      }\n      goto LAB_0002c116;\n    }\n  }" if (parenthesized_expression "((DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)) ||\n     ((DAT_0007cd7c[5] & 0x103) == 1))" ( (binary_expression "(DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)) ||\n     ((DAT_0007cd7c[5] & 0x103) == 1)" (parenthesized_expression "(DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150))" ( (binary_expression "DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)" identifier == (cast_expression "(undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__bfd_std_section_00073fb8 + 0x150)" ( (binary_expression "PTR__bfd_std_section_00073fb8 + 0x150" identifier + number_literal) )))) )) || (parenthesized_expression "((DAT_0007cd7c[5] & 0x103) == 1)" ( (binary_expression "(DAT_0007cd7c[5] & 0x103) == 1" (parenthesized_expression "(DAT_0007cd7c[5] & 0x103)" ( (binary_expression "DAT_0007cd7c[5] & 0x103" (subscript_expression "DAT_0007cd7c[5]" identifier [ number_literal ]) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n    pcVar4 = param_2;\n    if (param_2 == (char *)0x0) {\n      FUN_00047620();\n    }\n    else {\n      do {\n        if (pcVar4 == param_2 + param_3) {\n          param_2 = (char *)0x0;\n          param_3 = 0;\n          FUN_00047620();\n          goto joined_r0x0002c1a6;\n        }\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + 1;\n      } while (cVar1 == '\0');\n      if (DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)) {\n        pcVar4 = "ignoring fill value in absolute section";\n        uVar3 = dcgettext(0,"ignoring fill value in absolute section",5);\n      }\n      else {\n        pcVar4 = (char *)*DAT_0007cd7c;\n        uVar3 = dcgettext(0,"ignoring fill value in section `%s\'",5);\n      }\n      FUN_0002a6d0(uVar3,pcVar4);\n      FUN_00047620();\n    }\n    if (param_1 == 0) {\n      return;\n    }\n    if (DAT_0007cd68 != 0) goto LAB_0002c116;\n  }" { (expression_statement "pcVar4 = param_2;" (assignment_expression "pcVar4 = param_2" identifier = identifier) ;) (if_statement "if (param_2 == (char *)0x0) {\n      FUN_00047620();\n    }\n    else {\n      do {\n        if (pcVar4 == param_2 + param_3) {\n          param_2 = (char *)0x0;\n          param_3 = 0;\n          FUN_00047620();\n          goto joined_r0x0002c1a6;\n        }\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + 1;\n      } while (cVar1 == '\0');\n      if (DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)) {\n        pcVar4 = "ignoring fill value in absolute section";\n        uVar3 = dcgettext(0,"ignoring fill value in absolute section",5);\n      }\n      else {\n        pcVar4 = (char *)*DAT_0007cd7c;\n        uVar3 = dcgettext(0,"ignoring fill value in section `%s\'",5);\n      }\n      FUN_0002a6d0(uVar3,pcVar4);\n      FUN_00047620();\n    }" if (parenthesized_expression "(param_2 == (char *)0x0)" ( (binary_expression "param_2 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      FUN_00047620();\n    }" { (expression_statement "FUN_00047620();" (call_expression "FUN_00047620()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n      do {\n        if (pcVar4 == param_2 + param_3) {\n          param_2 = (char *)0x0;\n          param_3 = 0;\n          FUN_00047620();\n          goto joined_r0x0002c1a6;\n        }\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + 1;\n      } while (cVar1 == '\0');\n      if (DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)) {\n        pcVar4 = "ignoring fill value in absolute section";\n        uVar3 = dcgettext(0,"ignoring fill value in absolute section",5);\n      }\n      else {\n        pcVar4 = (char *)*DAT_0007cd7c;\n        uVar3 = dcgettext(0,"ignoring fill value in section `%s\'",5);\n      }\n      FUN_0002a6d0(uVar3,pcVar4);\n      FUN_00047620();\n    }" else (compound_statement "{\n      do {\n        if (pcVar4 == param_2 + param_3) {\n          param_2 = (char *)0x0;\n          param_3 = 0;\n          FUN_00047620();\n          goto joined_r0x0002c1a6;\n        }\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + 1;\n      } while (cVar1 == '\0');\n      if (DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)) {\n        pcVar4 = "ignoring fill value in absolute section";\n        uVar3 = dcgettext(0,"ignoring fill value in absolute section",5);\n      }\n      else {\n        pcVar4 = (char *)*DAT_0007cd7c;\n        uVar3 = dcgettext(0,"ignoring fill value in section `%s\'",5);\n      }\n      FUN_0002a6d0(uVar3,pcVar4);\n      FUN_00047620();\n    }" { (do_statement "do {\n        if (pcVar4 == param_2 + param_3) {\n          param_2 = (char *)0x0;\n          param_3 = 0;\n          FUN_00047620();\n          goto joined_r0x0002c1a6;\n        }\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + 1;\n      } while (cVar1 == '\0');" do (compound_statement "{\n        if (pcVar4 == param_2 + param_3) {\n          param_2 = (char *)0x0;\n          param_3 = 0;\n          FUN_00047620();\n          goto joined_r0x0002c1a6;\n        }\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + 1;\n      }" { (if_statement "if (pcVar4 == param_2 + param_3) {\n          param_2 = (char *)0x0;\n          param_3 = 0;\n          FUN_00047620();\n          goto joined_r0x0002c1a6;\n        }" if (parenthesized_expression "(pcVar4 == param_2 + param_3)" ( (binary_expression "pcVar4 == param_2 + param_3" identifier == (binary_expression "param_2 + param_3" identifier + identifier)) )) (compound_statement "{\n          param_2 = (char *)0x0;\n          param_3 = 0;\n          FUN_00047620();\n          goto joined_r0x0002c1a6;\n        }" { (expression_statement "param_2 = (char *)0x0;" (assignment_expression "param_2 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "param_3 = 0;" (assignment_expression "param_3 = 0" identifier = number_literal) ;) (expression_statement "FUN_00047620();" (call_expression "FUN_00047620()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto joined_r0x0002c1a6;" goto statement_identifier ;) })) (expression_statement "cVar1 = *pcVar4;" (assignment_expression "cVar1 = *pcVar4" identifier = (pointer_expression "*pcVar4" * identifier)) ;) (expression_statement "pcVar4 = pcVar4 + 1;" (assignment_expression "pcVar4 = pcVar4 + 1" identifier = (binary_expression "pcVar4 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(cVar1 == '\0')" ( (binary_expression "cVar1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) ;) (if_statement "if (DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)) {\n        pcVar4 = "ignoring fill value in absolute section";\n        uVar3 = dcgettext(0,"ignoring fill value in absolute section",5);\n      }\n      else {\n        pcVar4 = (char *)*DAT_0007cd7c;\n        uVar3 = dcgettext(0,"ignoring fill value in section `%s\'",5);\n      }" if (parenthesized_expression "(DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150))" ( (binary_expression "DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)" identifier == (cast_expression "(undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__bfd_std_section_00073fb8 + 0x150)" ( (binary_expression "PTR__bfd_std_section_00073fb8 + 0x150" identifier + number_literal) )))) )) (compound_statement "{\n        pcVar4 = "ignoring fill value in absolute section";\n        uVar3 = dcgettext(0,"ignoring fill value in absolute section",5);\n      }" { (expression_statement "pcVar4 = "ignoring fill value in absolute section";" (assignment_expression "pcVar4 = "ignoring fill value in absolute section"" identifier = (string_literal ""ignoring fill value in absolute section"" " string_content ")) ;) (expression_statement "uVar3 = dcgettext(0,"ignoring fill value in absolute section",5);" (assignment_expression "uVar3 = dcgettext(0,"ignoring fill value in absolute section",5)" identifier = (call_expression "dcgettext(0,"ignoring fill value in absolute section",5)" identifier (argument_list "(0,"ignoring fill value in absolute section",5)" ( number_literal , (string_literal ""ignoring fill value in absolute section"" " string_content ") , number_literal )))) ;) }) (else_clause "else {\n        pcVar4 = (char *)*DAT_0007cd7c;\n        uVar3 = dcgettext(0,"ignoring fill value in section `%s\'",5);\n      }" else (compound_statement "{\n        pcVar4 = (char *)*DAT_0007cd7c;\n        uVar3 = dcgettext(0,"ignoring fill value in section `%s\'",5);\n      }" { (expression_statement "pcVar4 = (char *)*DAT_0007cd7c;" (assignment_expression "pcVar4 = (char *)*DAT_0007cd7c" identifier = (cast_expression "(char *)*DAT_0007cd7c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*DAT_0007cd7c" * identifier))) ;) (expression_statement "uVar3 = dcgettext(0,"ignoring fill value in section `%s\'",5);" (assignment_expression "uVar3 = dcgettext(0,"ignoring fill value in section `%s\'",5)" identifier = (call_expression "dcgettext(0,"ignoring fill value in section `%s\'",5)" identifier (argument_list "(0,"ignoring fill value in section `%s\'",5)" ( number_literal , (string_literal ""ignoring fill value in section `%s\'"" " string_content escape_sequence ") , number_literal )))) ;) }))) (expression_statement "FUN_0002a6d0(uVar3,pcVar4);" (call_expression "FUN_0002a6d0(uVar3,pcVar4)" identifier (argument_list "(uVar3,pcVar4)" ( identifier , identifier ))) ;) (expression_statement "FUN_00047620();" (call_expression "FUN_00047620()" identifier (argument_list "()" ( ))) ;) }))) (if_statement "if (param_1 == 0) {\n      return;\n    }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (if_statement "if (DAT_0007cd68 != 0) goto LAB_0002c116;" if (parenthesized_expression "(DAT_0007cd68 != 0)" ( (binary_expression "DAT_0007cd68 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0002c116;" goto statement_identifier ;)) }) (else_clause "else {\n    FUN_00047620();\njoined_r0x0002c1a6:\n    if (param_1 == 0) {\n      return;\n    }\n    if (DAT_0007cd68 != 0) goto LAB_0002c116;\n    if (param_2 != (char *)0x0) {\n      if (param_3 < 2) {\n        FUN_00023830(param_1,(int)*param_2,param_4);\n      }\n      else {\n        FUN_000238b0(param_1,param_2,param_3,param_4);\n      }\n      goto LAB_0002c116;\n    }\n  }" else (compound_statement "{\n    FUN_00047620();\njoined_r0x0002c1a6:\n    if (param_1 == 0) {\n      return;\n    }\n    if (DAT_0007cd68 != 0) goto LAB_0002c116;\n    if (param_2 != (char *)0x0) {\n      if (param_3 < 2) {\n        FUN_00023830(param_1,(int)*param_2,param_4);\n      }\n      else {\n        FUN_000238b0(param_1,param_2,param_3,param_4);\n      }\n      goto LAB_0002c116;\n    }\n  }" { (expression_statement "FUN_00047620();" (call_expression "FUN_00047620()" identifier (argument_list "()" ( ))) ;) (labeled_statement "joined_r0x0002c1a6:\n    if (param_1 == 0) {\n      return;\n    }" statement_identifier : (if_statement "if (param_1 == 0) {\n      return;\n    }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) }))) (if_statement "if (DAT_0007cd68 != 0) goto LAB_0002c116;" if (parenthesized_expression "(DAT_0007cd68 != 0)" ( (binary_expression "DAT_0007cd68 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0002c116;" goto statement_identifier ;)) (if_statement "if (param_2 != (char *)0x0) {\n      if (param_3 < 2) {\n        FUN_00023830(param_1,(int)*param_2,param_4);\n      }\n      else {\n        FUN_000238b0(param_1,param_2,param_3,param_4);\n      }\n      goto LAB_0002c116;\n    }" if (parenthesized_expression "(param_2 != (char *)0x0)" ( (binary_expression "param_2 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (param_3 < 2) {\n        FUN_00023830(param_1,(int)*param_2,param_4);\n      }\n      else {\n        FUN_000238b0(param_1,param_2,param_3,param_4);\n      }\n      goto LAB_0002c116;\n    }" { (if_statement "if (param_3 < 2) {\n        FUN_00023830(param_1,(int)*param_2,param_4);\n      }\n      else {\n        FUN_000238b0(param_1,param_2,param_3,param_4);\n      }" if (parenthesized_expression "(param_3 < 2)" ( (binary_expression "param_3 < 2" identifier < number_literal) )) (compound_statement "{\n        FUN_00023830(param_1,(int)*param_2,param_4);\n      }" { (expression_statement "FUN_00023830(param_1,(int)*param_2,param_4);" (call_expression "FUN_00023830(param_1,(int)*param_2,param_4)" identifier (argument_list "(param_1,(int)*param_2,param_4)" ( identifier , (cast_expression "(int)*param_2" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*param_2" * identifier)) , identifier ))) ;) }) (else_clause "else {\n        FUN_000238b0(param_1,param_2,param_3,param_4);\n      }" else (compound_statement "{\n        FUN_000238b0(param_1,param_2,param_3,param_4);\n      }" { (expression_statement "FUN_000238b0(param_1,param_2,param_3,param_4);" (call_expression "FUN_000238b0(param_1,param_2,param_3,param_4)" identifier (argument_list "(param_1,param_2,param_3,param_4)" ( identifier , identifier , identifier , identifier ))) ;) }))) (goto_statement "goto LAB_0002c116;" goto statement_identifier ;) })) }))) (expression_statement "iVar2 = FUN_00034a10(DAT_0007cd7c);" (assignment_expression "iVar2 = FUN_00034a10(DAT_0007cd7c)" identifier = (call_expression "FUN_00034a10(DAT_0007cd7c)" identifier (argument_list "(DAT_0007cd7c)" ( identifier )))) ;) (if_statement "if (iVar2 == 0) {\n    FUN_00023830(param_1,0,param_4);\n  }\n  else {\n    FUN_000238f0(param_1,param_4);\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    FUN_00023830(param_1,0,param_4);\n  }" { (expression_statement "FUN_00023830(param_1,0,param_4);" (call_expression "FUN_00023830(param_1,0,param_4)" identifier (argument_list "(param_1,0,param_4)" ( identifier , number_literal , identifier ))) ;) }) (else_clause "else {\n    FUN_000238f0(param_1,param_4);\n  }" else (compound_statement "{\n    FUN_000238f0(param_1,param_4);\n  }" { (expression_statement "FUN_000238f0(param_1,param_4);" (call_expression "FUN_000238f0(param_1,param_4)" identifier (argument_list "(param_1,param_4)" ( identifier , identifier ))) ;) }))) (if_statement "if (param_1 == 0) {\n    return;\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (labeled_statement "LAB_0002c116:\n  FUN_0003cc70(DAT_0007cd7c,param_1);" statement_identifier : (expression_statement "FUN_0003cc70(DAT_0007cd7c,param_1);" (call_expression "FUN_0003cc70(DAT_0007cd7c,param_1)" identifier (argument_list "(DAT_0007cd7c,param_1)" ( identifier , identifier ))) ;)) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) }) (else_clause else (compound_statement { (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (binary_expression IDENT + IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)) , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) }))) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return ;) })) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;)) (return_statement return ;) })))
(function_definition "void FUN_0002c0a0(int param_1,char *param_2,uint param_3,undefined4 param_4)\n\n{\n  char cVar1;\n  int iVar2;\n  undefined4 uVar3;\n  char *pcVar4;\n  \n  if ((DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)) ||\n     ((DAT_0007cd7c[5] & 0x103) == 1)) {\n    pcVar4 = param_2;\n    if (param_2 == (char *)0x0) {\n      FUN_00047620();\n    }\n    else {\n      do {\n        if (pcVar4 == param_2 + param_3) {\n          param_2 = (char *)0x0;\n          param_3 = 0;\n          FUN_00047620();\n          goto joined_r0x0002c1a6;\n        }\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + 1;\n      } while (cVar1 == '\0');\n      if (DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)) {\n        pcVar4 = "ignoring fill value in absolute section";\n        uVar3 = dcgettext(0,"ignoring fill value in absolute section",5);\n      }\n      else {\n        pcVar4 = (char *)*DAT_0007cd7c;\n        uVar3 = dcgettext(0,"ignoring fill value in section `%s\'",5);\n      }\n      FUN_0002a6d0(uVar3,pcVar4);\n      FUN_00047620();\n    }\n    if (param_1 == 0) {\n      return;\n    }\n    if (DAT_0007cd68 != 0) goto LAB_0002c116;\n  }\n  else {\n    FUN_00047620();\njoined_r0x0002c1a6:\n    if (param_1 == 0) {\n      return;\n    }\n    if (DAT_0007cd68 != 0) goto LAB_0002c116;\n    if (param_2 != (char *)0x0) {\n      if (param_3 < 2) {\n        FUN_00023830(param_1,(int)*param_2,param_4);\n      }\n      else {\n        FUN_000238b0(param_1,param_2,param_3,param_4);\n      }\n      goto LAB_0002c116;\n    }\n  }\n  iVar2 = FUN_00034a10(DAT_0007cd7c);\n  if (iVar2 == 0) {\n    FUN_00023830(param_1,0,param_4);\n  }\n  else {\n    FUN_000238f0(param_1,param_4);\n  }\n  if (param_1 == 0) {\n    return;\n  }\nLAB_0002c116:\n  FUN_0003cc70(DAT_0007cd7c,param_1);\n  return;\n}" (primitive_type "void") (function_declarator "FUN_0002c0a0(int param_1,char *param_2,uint param_3,undefined4 param_4)" (identifier "FUN_0002c0a0") (parameter_list "(int param_1,char *param_2,uint param_3,undefined4 param_4)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "char *param_2" (primitive_type "char") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "uint param_3" (type_identifier "uint") (identifier "param_3")) (, ",") (parameter_declaration "undefined4 param_4" (type_identifier "undefined4") (identifier "param_4")) () ")"))) (compound_statement "{\n  char cVar1;\n  int iVar2;\n  undefined4 uVar3;\n  char *pcVar4;\n  \n  if ((DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)) ||\n     ((DAT_0007cd7c[5] & 0x103) == 1)) {\n    pcVar4 = param_2;\n    if (param_2 == (char *)0x0) {\n      FUN_00047620();\n    }\n    else {\n      do {\n        if (pcVar4 == param_2 + param_3) {\n          param_2 = (char *)0x0;\n          param_3 = 0;\n          FUN_00047620();\n          goto joined_r0x0002c1a6;\n        }\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + 1;\n      } while (cVar1 == '\0');\n      if (DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)) {\n        pcVar4 = "ignoring fill value in absolute section";\n        uVar3 = dcgettext(0,"ignoring fill value in absolute section",5);\n      }\n      else {\n        pcVar4 = (char *)*DAT_0007cd7c;\n        uVar3 = dcgettext(0,"ignoring fill value in section `%s\'",5);\n      }\n      FUN_0002a6d0(uVar3,pcVar4);\n      FUN_00047620();\n    }\n    if (param_1 == 0) {\n      return;\n    }\n    if (DAT_0007cd68 != 0) goto LAB_0002c116;\n  }\n  else {\n    FUN_00047620();\njoined_r0x0002c1a6:\n    if (param_1 == 0) {\n      return;\n    }\n    if (DAT_0007cd68 != 0) goto LAB_0002c116;\n    if (param_2 != (char *)0x0) {\n      if (param_3 < 2) {\n        FUN_00023830(param_1,(int)*param_2,param_4);\n      }\n      else {\n        FUN_000238b0(param_1,param_2,param_3,param_4);\n      }\n      goto LAB_0002c116;\n    }\n  }\n  iVar2 = FUN_00034a10(DAT_0007cd7c);\n  if (iVar2 == 0) {\n    FUN_00023830(param_1,0,param_4);\n  }\n  else {\n    FUN_000238f0(param_1,param_4);\n  }\n  if (param_1 == 0) {\n    return;\n  }\nLAB_0002c116:\n  FUN_0003cc70(DAT_0007cd7c,param_1);\n  return;\n}" ({ "{") (declaration "char cVar1;" (primitive_type "char") (identifier "cVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "char *pcVar4;" (primitive_type "char") (pointer_declarator "*pcVar4" (* "*") (identifier "pcVar4")) (; ";")) (if_statement "if ((DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)) ||\n     ((DAT_0007cd7c[5] & 0x103) == 1)) {\n    pcVar4 = param_2;\n    if (param_2 == (char *)0x0) {\n      FUN_00047620();\n    }\n    else {\n      do {\n        if (pcVar4 == param_2 + param_3) {\n          param_2 = (char *)0x0;\n          param_3 = 0;\n          FUN_00047620();\n          goto joined_r0x0002c1a6;\n        }\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + 1;\n      } while (cVar1 == '\0');\n      if (DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)) {\n        pcVar4 = "ignoring fill value in absolute section";\n        uVar3 = dcgettext(0,"ignoring fill value in absolute section",5);\n      }\n      else {\n        pcVar4 = (char *)*DAT_0007cd7c;\n        uVar3 = dcgettext(0,"ignoring fill value in section `%s\'",5);\n      }\n      FUN_0002a6d0(uVar3,pcVar4);\n      FUN_00047620();\n    }\n    if (param_1 == 0) {\n      return;\n    }\n    if (DAT_0007cd68 != 0) goto LAB_0002c116;\n  }\n  else {\n    FUN_00047620();\njoined_r0x0002c1a6:\n    if (param_1 == 0) {\n      return;\n    }\n    if (DAT_0007cd68 != 0) goto LAB_0002c116;\n    if (param_2 != (char *)0x0) {\n      if (param_3 < 2) {\n        FUN_00023830(param_1,(int)*param_2,param_4);\n      }\n      else {\n        FUN_000238b0(param_1,param_2,param_3,param_4);\n      }\n      goto LAB_0002c116;\n    }\n  }" (if "if") (parenthesized_expression "((DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)) ||\n     ((DAT_0007cd7c[5] & 0x103) == 1))" (( "(") (binary_expression "(DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)) ||\n     ((DAT_0007cd7c[5] & 0x103) == 1)" (parenthesized_expression "(DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150))" (( "(") (binary_expression "DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)" (identifier "DAT_0007cd7c") (== "==") (cast_expression "(undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR__bfd_std_section_00073fb8 + 0x150)" (( "(") (binary_expression "PTR__bfd_std_section_00073fb8 + 0x150" (identifier "PTR__bfd_std_section_00073fb8") (+ "+") (number_literal "0x150")) () ")")))) () ")")) (|| "||") (parenthesized_expression "((DAT_0007cd7c[5] & 0x103) == 1)" (( "(") (binary_expression "(DAT_0007cd7c[5] & 0x103) == 1" (parenthesized_expression "(DAT_0007cd7c[5] & 0x103)" (( "(") (binary_expression "DAT_0007cd7c[5] & 0x103" (subscript_expression "DAT_0007cd7c[5]" (identifier "DAT_0007cd7c") ([ "[") (number_literal "5") (] "]")) (& "&") (number_literal "0x103")) () ")")) (== "==") (number_literal "1")) () ")"))) () ")")) (compound_statement "{\n    pcVar4 = param_2;\n    if (param_2 == (char *)0x0) {\n      FUN_00047620();\n    }\n    else {\n      do {\n        if (pcVar4 == param_2 + param_3) {\n          param_2 = (char *)0x0;\n          param_3 = 0;\n          FUN_00047620();\n          goto joined_r0x0002c1a6;\n        }\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + 1;\n      } while (cVar1 == '\0');\n      if (DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)) {\n        pcVar4 = "ignoring fill value in absolute section";\n        uVar3 = dcgettext(0,"ignoring fill value in absolute section",5);\n      }\n      else {\n        pcVar4 = (char *)*DAT_0007cd7c;\n        uVar3 = dcgettext(0,"ignoring fill value in section `%s\'",5);\n      }\n      FUN_0002a6d0(uVar3,pcVar4);\n      FUN_00047620();\n    }\n    if (param_1 == 0) {\n      return;\n    }\n    if (DAT_0007cd68 != 0) goto LAB_0002c116;\n  }" ({ "{") (expression_statement "pcVar4 = param_2;" (assignment_expression "pcVar4 = param_2" (identifier "pcVar4") (= "=") (identifier "param_2")) (; ";")) (if_statement "if (param_2 == (char *)0x0) {\n      FUN_00047620();\n    }\n    else {\n      do {\n        if (pcVar4 == param_2 + param_3) {\n          param_2 = (char *)0x0;\n          param_3 = 0;\n          FUN_00047620();\n          goto joined_r0x0002c1a6;\n        }\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + 1;\n      } while (cVar1 == '\0');\n      if (DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)) {\n        pcVar4 = "ignoring fill value in absolute section";\n        uVar3 = dcgettext(0,"ignoring fill value in absolute section",5);\n      }\n      else {\n        pcVar4 = (char *)*DAT_0007cd7c;\n        uVar3 = dcgettext(0,"ignoring fill value in section `%s\'",5);\n      }\n      FUN_0002a6d0(uVar3,pcVar4);\n      FUN_00047620();\n    }" (if "if") (parenthesized_expression "(param_2 == (char *)0x0)" (( "(") (binary_expression "param_2 == (char *)0x0" (identifier "param_2") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      FUN_00047620();\n    }" ({ "{") (expression_statement "FUN_00047620();" (call_expression "FUN_00047620()" (identifier "FUN_00047620") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n      do {\n        if (pcVar4 == param_2 + param_3) {\n          param_2 = (char *)0x0;\n          param_3 = 0;\n          FUN_00047620();\n          goto joined_r0x0002c1a6;\n        }\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + 1;\n      } while (cVar1 == '\0');\n      if (DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)) {\n        pcVar4 = "ignoring fill value in absolute section";\n        uVar3 = dcgettext(0,"ignoring fill value in absolute section",5);\n      }\n      else {\n        pcVar4 = (char *)*DAT_0007cd7c;\n        uVar3 = dcgettext(0,"ignoring fill value in section `%s\'",5);\n      }\n      FUN_0002a6d0(uVar3,pcVar4);\n      FUN_00047620();\n    }" (else "else") (compound_statement "{\n      do {\n        if (pcVar4 == param_2 + param_3) {\n          param_2 = (char *)0x0;\n          param_3 = 0;\n          FUN_00047620();\n          goto joined_r0x0002c1a6;\n        }\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + 1;\n      } while (cVar1 == '\0');\n      if (DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)) {\n        pcVar4 = "ignoring fill value in absolute section";\n        uVar3 = dcgettext(0,"ignoring fill value in absolute section",5);\n      }\n      else {\n        pcVar4 = (char *)*DAT_0007cd7c;\n        uVar3 = dcgettext(0,"ignoring fill value in section `%s\'",5);\n      }\n      FUN_0002a6d0(uVar3,pcVar4);\n      FUN_00047620();\n    }" ({ "{") (do_statement "do {\n        if (pcVar4 == param_2 + param_3) {\n          param_2 = (char *)0x0;\n          param_3 = 0;\n          FUN_00047620();\n          goto joined_r0x0002c1a6;\n        }\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + 1;\n      } while (cVar1 == '\0');" (do "do") (compound_statement "{\n        if (pcVar4 == param_2 + param_3) {\n          param_2 = (char *)0x0;\n          param_3 = 0;\n          FUN_00047620();\n          goto joined_r0x0002c1a6;\n        }\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + 1;\n      }" ({ "{") (if_statement "if (pcVar4 == param_2 + param_3) {\n          param_2 = (char *)0x0;\n          param_3 = 0;\n          FUN_00047620();\n          goto joined_r0x0002c1a6;\n        }" (if "if") (parenthesized_expression "(pcVar4 == param_2 + param_3)" (( "(") (binary_expression "pcVar4 == param_2 + param_3" (identifier "pcVar4") (== "==") (binary_expression "param_2 + param_3" (identifier "param_2") (+ "+") (identifier "param_3"))) () ")")) (compound_statement "{\n          param_2 = (char *)0x0;\n          param_3 = 0;\n          FUN_00047620();\n          goto joined_r0x0002c1a6;\n        }" ({ "{") (expression_statement "param_2 = (char *)0x0;" (assignment_expression "param_2 = (char *)0x0" (identifier "param_2") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "param_3 = 0;" (assignment_expression "param_3 = 0" (identifier "param_3") (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_00047620();" (call_expression "FUN_00047620()" (identifier "FUN_00047620") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto joined_r0x0002c1a6;" (goto "goto") (statement_identifier "joined_r0x0002c1a6") (; ";")) (} "}"))) (expression_statement "cVar1 = *pcVar4;" (assignment_expression "cVar1 = *pcVar4" (identifier "cVar1") (= "=") (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4"))) (; ";")) (expression_statement "pcVar4 = pcVar4 + 1;" (assignment_expression "pcVar4 = pcVar4 + 1" (identifier "pcVar4") (= "=") (binary_expression "pcVar4 + 1" (identifier "pcVar4") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(cVar1 == '\0')" (( "(") (binary_expression "cVar1 == '\0'" (identifier "cVar1") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (; ";")) (if_statement "if (DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)) {\n        pcVar4 = "ignoring fill value in absolute section";\n        uVar3 = dcgettext(0,"ignoring fill value in absolute section",5);\n      }\n      else {\n        pcVar4 = (char *)*DAT_0007cd7c;\n        uVar3 = dcgettext(0,"ignoring fill value in section `%s\'",5);\n      }" (if "if") (parenthesized_expression "(DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150))" (( "(") (binary_expression "DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)" (identifier "DAT_0007cd7c") (== "==") (cast_expression "(undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR__bfd_std_section_00073fb8 + 0x150)" (( "(") (binary_expression "PTR__bfd_std_section_00073fb8 + 0x150" (identifier "PTR__bfd_std_section_00073fb8") (+ "+") (number_literal "0x150")) () ")")))) () ")")) (compound_statement "{\n        pcVar4 = "ignoring fill value in absolute section";\n        uVar3 = dcgettext(0,"ignoring fill value in absolute section",5);\n      }" ({ "{") (expression_statement "pcVar4 = "ignoring fill value in absolute section";" (assignment_expression "pcVar4 = "ignoring fill value in absolute section"" (identifier "pcVar4") (= "=") (string_literal ""ignoring fill value in absolute section"" (" """) (string_content "ignoring fill value in absolute section") (" """))) (; ";")) (expression_statement "uVar3 = dcgettext(0,"ignoring fill value in absolute section",5);" (assignment_expression "uVar3 = dcgettext(0,"ignoring fill value in absolute section",5)" (identifier "uVar3") (= "=") (call_expression "dcgettext(0,"ignoring fill value in absolute section",5)" (identifier "dcgettext") (argument_list "(0,"ignoring fill value in absolute section",5)" (( "(") (number_literal "0") (, ",") (string_literal ""ignoring fill value in absolute section"" (" """) (string_content "ignoring fill value in absolute section") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (} "}")) (else_clause "else {\n        pcVar4 = (char *)*DAT_0007cd7c;\n        uVar3 = dcgettext(0,"ignoring fill value in section `%s\'",5);\n      }" (else "else") (compound_statement "{\n        pcVar4 = (char *)*DAT_0007cd7c;\n        uVar3 = dcgettext(0,"ignoring fill value in section `%s\'",5);\n      }" ({ "{") (expression_statement "pcVar4 = (char *)*DAT_0007cd7c;" (assignment_expression "pcVar4 = (char *)*DAT_0007cd7c" (identifier "pcVar4") (= "=") (cast_expression "(char *)*DAT_0007cd7c" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*DAT_0007cd7c" (* "*") (identifier "DAT_0007cd7c")))) (; ";")) (expression_statement "uVar3 = dcgettext(0,"ignoring fill value in section `%s\'",5);" (assignment_expression "uVar3 = dcgettext(0,"ignoring fill value in section `%s\'",5)" (identifier "uVar3") (= "=") (call_expression "dcgettext(0,"ignoring fill value in section `%s\'",5)" (identifier "dcgettext") (argument_list "(0,"ignoring fill value in section `%s\'",5)" (( "(") (number_literal "0") (, ",") (string_literal ""ignoring fill value in section `%s\'"" (" """) (string_content "ignoring fill value in section `%s") (escape_sequence "\'") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (} "}")))) (expression_statement "FUN_0002a6d0(uVar3,pcVar4);" (call_expression "FUN_0002a6d0(uVar3,pcVar4)" (identifier "FUN_0002a6d0") (argument_list "(uVar3,pcVar4)" (( "(") (identifier "uVar3") (, ",") (identifier "pcVar4") () ")"))) (; ";")) (expression_statement "FUN_00047620();" (call_expression "FUN_00047620()" (identifier "FUN_00047620") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (if_statement "if (param_1 == 0) {\n      return;\n    }" (if "if") (parenthesized_expression "(param_1 == 0)" (( "(") (binary_expression "param_1 == 0" (identifier "param_1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      return;\n    }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (DAT_0007cd68 != 0) goto LAB_0002c116;" (if "if") (parenthesized_expression "(DAT_0007cd68 != 0)" (( "(") (binary_expression "DAT_0007cd68 != 0" (identifier "DAT_0007cd68") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0002c116;" (goto "goto") (statement_identifier "LAB_0002c116") (; ";"))) (} "}")) (else_clause "else {\n    FUN_00047620();\njoined_r0x0002c1a6:\n    if (param_1 == 0) {\n      return;\n    }\n    if (DAT_0007cd68 != 0) goto LAB_0002c116;\n    if (param_2 != (char *)0x0) {\n      if (param_3 < 2) {\n        FUN_00023830(param_1,(int)*param_2,param_4);\n      }\n      else {\n        FUN_000238b0(param_1,param_2,param_3,param_4);\n      }\n      goto LAB_0002c116;\n    }\n  }" (else "else") (compound_statement "{\n    FUN_00047620();\njoined_r0x0002c1a6:\n    if (param_1 == 0) {\n      return;\n    }\n    if (DAT_0007cd68 != 0) goto LAB_0002c116;\n    if (param_2 != (char *)0x0) {\n      if (param_3 < 2) {\n        FUN_00023830(param_1,(int)*param_2,param_4);\n      }\n      else {\n        FUN_000238b0(param_1,param_2,param_3,param_4);\n      }\n      goto LAB_0002c116;\n    }\n  }" ({ "{") (expression_statement "FUN_00047620();" (call_expression "FUN_00047620()" (identifier "FUN_00047620") (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "joined_r0x0002c1a6:\n    if (param_1 == 0) {\n      return;\n    }" (statement_identifier "joined_r0x0002c1a6") (: ":") (if_statement "if (param_1 == 0) {\n      return;\n    }" (if "if") (parenthesized_expression "(param_1 == 0)" (( "(") (binary_expression "param_1 == 0" (identifier "param_1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      return;\n    }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}")))) (if_statement "if (DAT_0007cd68 != 0) goto LAB_0002c116;" (if "if") (parenthesized_expression "(DAT_0007cd68 != 0)" (( "(") (binary_expression "DAT_0007cd68 != 0" (identifier "DAT_0007cd68") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0002c116;" (goto "goto") (statement_identifier "LAB_0002c116") (; ";"))) (if_statement "if (param_2 != (char *)0x0) {\n      if (param_3 < 2) {\n        FUN_00023830(param_1,(int)*param_2,param_4);\n      }\n      else {\n        FUN_000238b0(param_1,param_2,param_3,param_4);\n      }\n      goto LAB_0002c116;\n    }" (if "if") (parenthesized_expression "(param_2 != (char *)0x0)" (( "(") (binary_expression "param_2 != (char *)0x0" (identifier "param_2") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      if (param_3 < 2) {\n        FUN_00023830(param_1,(int)*param_2,param_4);\n      }\n      else {\n        FUN_000238b0(param_1,param_2,param_3,param_4);\n      }\n      goto LAB_0002c116;\n    }" ({ "{") (if_statement "if (param_3 < 2) {\n        FUN_00023830(param_1,(int)*param_2,param_4);\n      }\n      else {\n        FUN_000238b0(param_1,param_2,param_3,param_4);\n      }" (if "if") (parenthesized_expression "(param_3 < 2)" (( "(") (binary_expression "param_3 < 2" (identifier "param_3") (< "<") (number_literal "2")) () ")")) (compound_statement "{\n        FUN_00023830(param_1,(int)*param_2,param_4);\n      }" ({ "{") (expression_statement "FUN_00023830(param_1,(int)*param_2,param_4);" (call_expression "FUN_00023830(param_1,(int)*param_2,param_4)" (identifier "FUN_00023830") (argument_list "(param_1,(int)*param_2,param_4)" (( "(") (identifier "param_1") (, ",") (cast_expression "(int)*param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (, ",") (identifier "param_4") () ")"))) (; ";")) (} "}")) (else_clause "else {\n        FUN_000238b0(param_1,param_2,param_3,param_4);\n      }" (else "else") (compound_statement "{\n        FUN_000238b0(param_1,param_2,param_3,param_4);\n      }" ({ "{") (expression_statement "FUN_000238b0(param_1,param_2,param_3,param_4);" (call_expression "FUN_000238b0(param_1,param_2,param_3,param_4)" (identifier "FUN_000238b0") (argument_list "(param_1,param_2,param_3,param_4)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (identifier "param_3") (, ",") (identifier "param_4") () ")"))) (; ";")) (} "}")))) (goto_statement "goto LAB_0002c116;" (goto "goto") (statement_identifier "LAB_0002c116") (; ";")) (} "}"))) (} "}")))) (expression_statement "iVar2 = FUN_00034a10(DAT_0007cd7c);" (assignment_expression "iVar2 = FUN_00034a10(DAT_0007cd7c)" (identifier "iVar2") (= "=") (call_expression "FUN_00034a10(DAT_0007cd7c)" (identifier "FUN_00034a10") (argument_list "(DAT_0007cd7c)" (( "(") (identifier "DAT_0007cd7c") () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n    FUN_00023830(param_1,0,param_4);\n  }\n  else {\n    FUN_000238f0(param_1,param_4);\n  }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_00023830(param_1,0,param_4);\n  }" ({ "{") (expression_statement "FUN_00023830(param_1,0,param_4);" (call_expression "FUN_00023830(param_1,0,param_4)" (identifier "FUN_00023830") (argument_list "(param_1,0,param_4)" (( "(") (identifier "param_1") (, ",") (number_literal "0") (, ",") (identifier "param_4") () ")"))) (; ";")) (} "}")) (else_clause "else {\n    FUN_000238f0(param_1,param_4);\n  }" (else "else") (compound_statement "{\n    FUN_000238f0(param_1,param_4);\n  }" ({ "{") (expression_statement "FUN_000238f0(param_1,param_4);" (call_expression "FUN_000238f0(param_1,param_4)" (identifier "FUN_000238f0") (argument_list "(param_1,param_4)" (( "(") (identifier "param_1") (, ",") (identifier "param_4") () ")"))) (; ";")) (} "}")))) (if_statement "if (param_1 == 0) {\n    return;\n  }" (if "if") (parenthesized_expression "(param_1 == 0)" (( "(") (binary_expression "param_1 == 0" (identifier "param_1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (labeled_statement "LAB_0002c116:\n  FUN_0003cc70(DAT_0007cd7c,param_1);" (statement_identifier "LAB_0002c116") (: ":") (expression_statement "FUN_0003cc70(DAT_0007cd7c,param_1);" (call_expression "FUN_0003cc70(DAT_0007cd7c,param_1)" (identifier "FUN_0003cc70") (argument_list "(DAT_0007cd7c,param_1)" (( "(") (identifier "DAT_0007cd7c") (, ",") (identifier "param_1") () ")"))) (; ";"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

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

void function_1(type_1 var_10,char *var_3,type_1 var_6,type_1 max)

{
  char var_7;
  int var_15;
  char *format;
  char *var_5;
  
  if ((var_1 == (segT)(var_2 + 0x150)) || ((var_1->flags & 0x103) == 1))
  {
    var_5 = var_3;
    if (var_3 == (char *)0x0) {
      var_4();
    }
    else {
      do {
        if (var_5 == var_3 + var_6) {
          var_3 = (char *)0x0;
          var_6 = 0;
          var_4();
          goto joined_r0x0002c1a6;
        }
        var_7 = *var_5;
        var_5 = var_5 + 1;
      } while (var_7 == '\0');
      if (var_1 == (segT)(var_2 + 0x150)) {
        var_5 = "ignoring fill value in absolute section";
        format = (char *)var_8(0,"ignoring fill value in absolute section",5);
      }
      else {
        var_5 = var_1->name;
        format = (char *)var_8(0,"ignoring fill value in section `%s\'",5);
      }
      var_9(format,var_5);
      var_4();
    }
    if (var_10 == 0) {
      return;
    }
    if (var_11 != 0) goto LAB_0002c116;
  }
  else {
    var_4();
joined_r0x0002c1a6:
    if (var_10 == 0) {
      return;
    }
    if (var_11 != 0) goto LAB_0002c116;
    if (var_3 != (char *)0x0) {
      if (var_6 < 2) {
        var_12(var_10,(int)*var_3,max);
      }
      else {
        var_13(var_10,var_3,var_6,max);
      }
      goto LAB_0002c116;
    }
  }
  var_15 = var_14(var_1);
  if (var_15 == 0) {
    var_12(var_10,0,max);
  }
  else {
    var_16(var_10,max);
  }
  if (var_10 == 0) {
    return;
  }
LAB_0002c116:
  var_17(var_1,var_10);
  return;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list)))) alternative: (else_clause (compound_statement (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (number_literal)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content) (escape_sequence)) (number_literal)))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) (identifier))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier))))))) (goto_statement label: (statement_identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (identifier))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (return_statement))))

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

void MASKED(int param_1,char *param_2,uint param_3,undefined4 param_4)

{
  char cVar1;
  int iVar2;
  undefined4 uVar3;
  char *pcVar4;
  
  if ((DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)) ||
     ((DAT_0007cd7c[5] & 0x103) == 1)) {
    pcVar4 = param_2;
    if (param_2 == (char *)0x0) {
      FUN_00047620();
    }
    else {
      do {
        if (pcVar4 == param_2 + param_3) {
          param_2 = (char *)0x0;
          param_3 = 0;
          FUN_00047620();
          goto joined_r0x0002c1a6;
        }
        cVar1 = *pcVar4;
        pcVar4 = pcVar4 + 1;
      } while (cVar1 == '\0');
      if (DAT_0007cd7c == (undefined4 *)(PTR__bfd_std_section_00073fb8 + 0x150)) {
        pcVar4 = "ignoring fill value in absolute section";
        uVar3 = dcgettext(0,"ignoring fill value in absolute section",5);
      }
      else {
        pcVar4 = (char *)*DAT_0007cd7c;
        uVar3 = dcgettext(0,"ignoring fill value in section `%s\'",5);
      }
      FUN_0002a6d0(uVar3,pcVar4);
      FUN_00047620();
    }
    if (param_1 == 0) {
      return;
    }
    if (DAT_0007cd68 != 0) goto LAB_0002c116;
  }
  else {
    FUN_00047620();
joined_r0x0002c1a6:
    if (param_1 == 0) {
      return;
    }
    if (DAT_0007cd68 != 0) goto LAB_0002c116;
    if (param_2 != (char *)0x0) {
      if (param_3 < 2) {
        FUN_00023830(param_1,(int)*param_2,param_4);
      }
      else {
        FUN_000238b0(param_1,param_2,param_3,param_4);
      }
      goto LAB_0002c116;
    }
  }
  iVar2 = FUN_00034a10(DAT_0007cd7c);
  if (iVar2 == 0) {
    FUN_00023830(param_1,0,param_4);
  }
  else {
    FUN_000238f0(param_1,param_4);
  }
  if (param_1 == 0) {
    return;
  }
LAB_0002c116:
  FUN_0003cc70(DAT_0007cd7c,param_1);
  return;
}

