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

bfd_boolean
plugin_notice(bfd_link_info *info,bfd_link_hash_entry *h,bfd_link_hash_entry *inh,bfd *abfd,
             asection *section,bfd_vma value,flagword flags)

{
  undefined1 *puVar1;
  char cVar2;
  bfd *pbVar3;
  bfd *pbVar4;
  int iVar5;
  bfd_boolean bVar6;
  
  if (h == (bfd_link_hash_entry *)0x0) goto LAB_0003394d;
  if (h->field_0xc == '\a') {
    pbVar4 = (h->u).undef.abfd;
    if (abfd != (bfd *)0x0) goto LAB_000338d2;
LAB_000338d8:
    if ((section == (asection *)(PTR__bfd_std_section_000bafc4 + 0x1f8)) || ((flags & 0x2000) != 0))
    {
      if (*(char *)&pbVar4->iovec == '\0') {
        if (inh->field_0xc == '\0') {
          if ((abfd->field_0x29 & 8) == 0) {
            inh->field_0xd = inh->field_0xd | 1;
          }
          else {
            inh->field_0xd = inh->field_0xd | 2;
          }
        }
        goto LAB_00033920;
      }
      if ((abfd->field_0x29 & 8) == 0) {
        inh->field_0xd = inh->field_0xd | 1;
        goto LAB_00033914;
      }
      inh->field_0xd = inh->field_0xd | 2;
    }
    else {
      if ((flags & 0x1800) != 0) goto LAB_00033920;
      cVar2 = *(char *)&pbVar4->iovec;
      if (section == (asection *)(PTR__bfd_std_section_000bafc4 + 0xa8)) {
        if (((byte)(cVar2 - 1U) < 2) &&
           ((pbVar4->lru_next == (bfd *)0x0 || (((&pbVar4->lru_next->field_0x28)[2] & 0x20) != 0))))
        {
          pbVar4->lru_next = abfd;
        }
      }
      else {
        if ((byte)(cVar2 - 3U) < 2) {
          pbVar3 = pbVar4->lru_next->nested_archives;
joined_r0x00033a9b:
          if ((pbVar3 != (bfd *)0x0) && ((pbVar3->field_0x2a & 0x20) != 0)) {
            *(undefined1 *)&pbVar4->iovec = 2;
            pbVar4->lru_next = pbVar3;
          }
        }
        else if (cVar2 == '\x05') {
          pbVar3 = (bfd *)pbVar4->lru_next->xvec->_close_and_cleanup;
          goto joined_r0x00033a9b;
        }
        if ((section->flags & 0x1000) == 0) goto LAB_00033920;
      }
      if ((abfd->field_0x29 & 8) == 0) {
LAB_00033914:
        puVar1 = (undefined1 *)((int)&pbVar4->iovec + 1);
        *puVar1 = *puVar1 | 1;
        goto LAB_00033920;
      }
    }
    puVar1 = (undefined1 *)((int)&pbVar4->iovec + 1);
    *puVar1 = *puVar1 | 2;
  }
  else {
    pbVar4 = (bfd *)h;
    if (abfd == (bfd *)0x0) goto LAB_000338d8;
LAB_000338d2:
    if ((abfd->field_0x2a & 0x20) == 0) goto LAB_000338d8;
  }
LAB_00033920:
  if ((orig_notice_all == 0) &&
     ((info->notice_hash == (bfd_hash_table *)0x0 ||
      (iVar5 = bfd_hash_lookup(info->notice_hash,(h->root).string,0,0), iVar5 == 0)))) {
    return 1;
  }
LAB_0003394d:
                    /* WARNING: Could not recover jumptable at 0x00033985. Too many branches */
                    /* WARNING: Treating indirect jump as call */
  bVar6 = (*orig_callbacks->notice)(info,h,inh,abfd,section,value,flags);
  return bVar6;
}



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

undefined4
FUN_00033880(int param_1,int param_2,int param_3,int param_4,undefined *param_5,undefined4 param_6,
            uint param_7)

{
  char cVar1;
  int iVar2;
  int iVar3;
  undefined4 uVar4;
  
  if (param_2 == 0) goto LAB_0003394d;
  if (*(char *)(param_2 + 0xc) == '\a') {
    iVar3 = *(int *)(param_2 + 0x14);
    if (param_4 != 0) goto LAB_000338d2;
LAB_000338d8:
    if ((param_5 == PTR__bfd_std_section_000bafc4 + 0x1f8) || ((param_7 & 0x2000) != 0)) {
      if (*(char *)(iVar3 + 0xc) == '\0') {
        if (*(char *)(param_3 + 0xc) == '\0') {
          if ((*(byte *)(param_4 + 0x29) & 8) == 0) {
            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;
          }
          else {
            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;
          }
        }
        goto LAB_00033920;
      }
      if ((*(byte *)(param_4 + 0x29) & 8) == 0) {
        *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;
        goto LAB_00033914;
      }
      *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;
    }
    else {
      if ((param_7 & 0x1800) != 0) goto LAB_00033920;
      cVar1 = *(char *)(iVar3 + 0xc);
      if (param_5 == PTR__bfd_std_section_000bafc4 + 0xa8) {
        if (((byte)(cVar1 - 1U) < 2) &&
           ((*(int *)(iVar3 + 0x14) == 0 || ((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)
            ))) {
          *(int *)(iVar3 + 0x14) = param_4;
        }
      }
      else {
        if ((byte)(cVar1 - 3U) < 2) {
          iVar2 = *(int *)(*(int *)(iVar3 + 0x14) + 0x94);
joined_r0x00033a9b:
          if ((iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)) {
            *(undefined1 *)(iVar3 + 0xc) = 2;
            *(int *)(iVar3 + 0x14) = iVar2;
          }
        }
        else if (cVar1 == '\x05') {
          iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94);
          goto joined_r0x00033a9b;
        }
        if ((param_5[0x15] & 0x10) == 0) goto LAB_00033920;
      }
      if ((*(byte *)(param_4 + 0x29) & 8) == 0) {
LAB_00033914:
        *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 1;
        goto LAB_00033920;
      }
    }
    *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 2;
  }
  else {
    iVar3 = param_2;
    if (param_4 == 0) goto LAB_000338d8;
LAB_000338d2:
    if ((*(byte *)(param_4 + 0x2a) & 0x20) == 0) goto LAB_000338d8;
  }
LAB_00033920:
  if ((DAT_000bbb60 == 0) &&
     ((*(int *)(param_1 + 0x24) == 0 ||
      (iVar3 = bfd_hash_lookup(*(int *)(param_1 + 0x24),*(undefined4 *)(param_2 + 4),0,0),
      iVar3 == 0)))) {
    return 1;
  }
LAB_0003394d:
                    /* WARNING: Could not recover jumptable at 0x00033985. Too many branches */
                    /* WARNING: Treating indirect jump as call */
  uVar4 = (**(code **)(DAT_000bbb5c + 0x28))();
  return uVar4;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00015a10
ADD EBX,0x87777
SUB ESP,0x2c
MOV EAX,dword ptr [ESP + 0x50]
MOV ESI,dword ptr [ESP + 0x44]
MOV ECX,dword ptr [ESP + 0x40]
MOV EBP,dword ptr [ESP + 0x48]
MOV dword ptr [ESP + 0xc],EAX
MOV EAX,dword ptr [ESP + 0x54]
MOV EDI,dword ptr [ESP + 0x4c]
MOV dword ptr [ESP + 0x14],EAX
MOV EAX,dword ptr [ESP + 0x58]
MOV dword ptr [ESP + 0x10],EAX
TEST ESI,ESI
JZ 0x0003394d
CMP byte ptr [ESI + 0xc],0x7
MOV EAX,ESI
JZ 0x00033990
TEST EDI,EDI
JZ 0x000338d8
TEST byte ptr [EDI + 0x2a],0x20
JNZ 0x00033920
MOV EDX,dword ptr [EBX + 0xffffffc4]
MOV dword ptr [ESP + 0x18],EDX
ADD EDX,0x1f8
CMP dword ptr [ESP + 0xc],EDX
JZ 0x000338fc
TEST dword ptr [ESP + 0x10],0x2000
JZ 0x000339b0
CMP byte ptr [EAX + 0xc],0x0
JZ 0x00033a30
TEST byte ptr [EDI + 0x29],0x8
JNZ 0x00033a50
OR byte ptr [EBP + 0xd],0x1
OR byte ptr [EAX + 0xd],0x1
LEA ESI,[ESI]
NOP
MOV EAX,dword ptr [EBX + 0xb60]
TEST EAX,EAX
JNZ 0x0003394d
MOV EAX,dword ptr [ECX + 0x24]
MOV dword ptr [ESP + 0x18],ECX
TEST EAX,EAX
JZ 0x000339a0
PUSH 0x0
PUSH 0x0
PUSH dword ptr [ESI + 0x4]
PUSH EAX
CALL 0x00014660
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x18]
TEST EAX,EAX
JZ 0x000339a0
MOV EDX,dword ptr [ESP + 0x10]
MOV EAX,dword ptr [EBX + 0xb5c]
MOV dword ptr [ESP + 0x4c],EDI
MOV EBX,dword ptr [ESP + 0xc]
MOV dword ptr [ESP + 0x48],EBP
MOV dword ptr [ESP + 0x58],EDX
MOV EDX,dword ptr [ESP + 0x14]
MOV dword ptr [ESP + 0x50],EBX
MOV dword ptr [ESP + 0x44],ESI
MOV dword ptr [ESP + 0x54],EDX
MOV dword ptr [ESP + 0x40],ECX
MOV EAX,dword ptr [EAX + 0x28]
ADD ESP,0x2c
POP EBX
POP ESI
POP EDI
POP EBP
JMP EAX
MOV EAX,dword ptr [ESI + 0x14]
TEST EDI,EDI
JNZ 0x000338d2
JMP 0x000338d8
ADD ESP,0x2c
MOV EAX,0x1
POP EBX
POP ESI
POP EDI
POP EBP
RET
TEST dword ptr [ESP + 0x10],0x1800
JNZ 0x00033920
MOVZX EDX,byte ptr [EAX + 0xc]
MOV byte ptr [ESP + 0x1f],DL
MOV EDX,dword ptr [ESP + 0x18]
ADD EDX,0xa8
CMP dword ptr [ESP + 0xc],EDX
MOVZX EDX,byte ptr [ESP + 0x1f]
JZ 0x00033a70
SUB EDX,0x3
CMP DL,0x1
JBE 0x00033a90
CMP byte ptr [ESP + 0x1f],0x5
JNZ 0x00033a0f
MOV EDX,dword ptr [EAX + 0x14]
MOV EDX,dword ptr [EDX + 0x4]
MOV EDX,dword ptr [EDX + 0x94]
TEST EDX,EDX
JZ 0x00033a0f
TEST byte ptr [EDX + 0x2a],0x20
JZ 0x00033a0f
MOV byte ptr [EAX + 0xc],0x2
MOV dword ptr [EAX + 0x14],EDX
MOV EDX,dword ptr [ESP + 0xc]
TEST byte ptr [EDX + 0x15],0x10
JZ 0x00033920
TEST byte ptr [EDI + 0x29],0x8
JNZ 0x00033a54
JMP 0x00033914
CMP byte ptr [EBP + 0xc],0x0
JNZ 0x00033920
TEST byte ptr [EDI + 0x29],0x8
JZ 0x00033a60
OR byte ptr [EBP + 0xd],0x2
JMP 0x00033920
OR byte ptr [EBP + 0xd],0x2
OR byte ptr [EAX + 0xd],0x2
JMP 0x00033920
OR byte ptr [EBP + 0xd],0x1
JMP 0x00033920
SUB EDX,0x1
CMP DL,0x1
JA 0x00033a1d
MOV EDX,dword ptr [EAX + 0x14]
TEST EDX,EDX
JZ 0x00033a85
TEST byte ptr [EDX + 0x2a],0x20
JZ 0x00033a1d
MOV dword ptr [EAX + 0x14],EDI
JMP 0x00033a1d
MOV EDX,dword ptr [EAX + 0x14]
MOV EDX,dword ptr [EDX + 0x94]
TEST EDX,EDX
JNZ 0x00033a02
JMP 0x00033a0f
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nundefined4\nFUN_00033880(int param_1,int param_2,int param_3,int param_4,undefined *param_5,undefined4 param_6,\n            uint param_7)\n\n{\n  char cVar1;\n  int iVar2;\n  int iVar3;\n  undefined4 uVar4;\n  \n  if (param_2 == 0) goto LAB_0003394d;\n  if (*(char *)(param_2 + 0xc) == '\a') {\n    iVar3 = *(int *)(param_2 + 0x14);\n    if (param_4 != 0) goto LAB_000338d2;\nLAB_000338d8:\n    if ((param_5 == PTR__bfd_std_section_000bafc4 + 0x1f8) || ((param_7 & 0x2000) != 0)) {\n      if (*(char *)(iVar3 + 0xc) == '\0') {\n        if (*(char *)(param_3 + 0xc) == '\0') {\n          if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n          }\n          else {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n          }\n        }\n        goto LAB_00033920;\n      }\n      if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n        *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n        goto LAB_00033914;\n      }\n      *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n    }\n    else {\n      if ((param_7 & 0x1800) != 0) goto LAB_00033920;\n      cVar1 = *(char *)(iVar3 + 0xc);\n      if (param_5 == PTR__bfd_std_section_000bafc4 + 0xa8) {\n        if (((byte)(cVar1 - 1U) < 2) &&\n           ((*(int *)(iVar3 + 0x14) == 0 || ((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)\n            ))) {\n          *(int *)(iVar3 + 0x14) = param_4;\n        }\n      }\n      else {\n        if ((byte)(cVar1 - 3U) < 2) {\n          iVar2 = *(int *)(*(int *)(iVar3 + 0x14) + 0x94);\njoined_r0x00033a9b:\n          if ((iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)) {\n            *(undefined1 *)(iVar3 + 0xc) = 2;\n            *(int *)(iVar3 + 0x14) = iVar2;\n          }\n        }\n        else if (cVar1 == '\x05') {\n          iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94);\n          goto joined_r0x00033a9b;\n        }\n        if ((param_5[0x15] & 0x10) == 0) goto LAB_00033920;\n      }\n      if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\nLAB_00033914:\n        *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 1;\n        goto LAB_00033920;\n      }\n    }\n    *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 2;\n  }\n  else {\n    iVar3 = param_2;\n    if (param_4 == 0) goto LAB_000338d8;\nLAB_000338d2:\n    if ((*(byte *)(param_4 + 0x2a) & 0x20) == 0) goto LAB_000338d8;\n  }\nLAB_00033920:\n  if ((DAT_000bbb60 == 0) &&\n     ((*(int *)(param_1 + 0x24) == 0 ||\n      (iVar3 = bfd_hash_lookup(*(int *)(param_1 + 0x24),*(undefined4 *)(param_2 + 4),0,0),\n      iVar3 == 0)))) {\n    return 1;\n  }\nLAB_0003394d:\n                    /* WARNING: Could not recover jumptable at 0x00033985. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  uVar4 = (**(code **)(DAT_000bbb5c + 0x28))();\n  return uVar4;\n}\n\n" comment (function_definition "undefined4\nFUN_00033880(int param_1,int param_2,int param_3,int param_4,undefined *param_5,undefined4 param_6,\n            uint param_7)\n\n{\n  char cVar1;\n  int iVar2;\n  int iVar3;\n  undefined4 uVar4;\n  \n  if (param_2 == 0) goto LAB_0003394d;\n  if (*(char *)(param_2 + 0xc) == '\a') {\n    iVar3 = *(int *)(param_2 + 0x14);\n    if (param_4 != 0) goto LAB_000338d2;\nLAB_000338d8:\n    if ((param_5 == PTR__bfd_std_section_000bafc4 + 0x1f8) || ((param_7 & 0x2000) != 0)) {\n      if (*(char *)(iVar3 + 0xc) == '\0') {\n        if (*(char *)(param_3 + 0xc) == '\0') {\n          if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n          }\n          else {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n          }\n        }\n        goto LAB_00033920;\n      }\n      if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n        *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n        goto LAB_00033914;\n      }\n      *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n    }\n    else {\n      if ((param_7 & 0x1800) != 0) goto LAB_00033920;\n      cVar1 = *(char *)(iVar3 + 0xc);\n      if (param_5 == PTR__bfd_std_section_000bafc4 + 0xa8) {\n        if (((byte)(cVar1 - 1U) < 2) &&\n           ((*(int *)(iVar3 + 0x14) == 0 || ((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)\n            ))) {\n          *(int *)(iVar3 + 0x14) = param_4;\n        }\n      }\n      else {\n        if ((byte)(cVar1 - 3U) < 2) {\n          iVar2 = *(int *)(*(int *)(iVar3 + 0x14) + 0x94);\njoined_r0x00033a9b:\n          if ((iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)) {\n            *(undefined1 *)(iVar3 + 0xc) = 2;\n            *(int *)(iVar3 + 0x14) = iVar2;\n          }\n        }\n        else if (cVar1 == '\x05') {\n          iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94);\n          goto joined_r0x00033a9b;\n        }\n        if ((param_5[0x15] & 0x10) == 0) goto LAB_00033920;\n      }\n      if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\nLAB_00033914:\n        *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 1;\n        goto LAB_00033920;\n      }\n    }\n    *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 2;\n  }\n  else {\n    iVar3 = param_2;\n    if (param_4 == 0) goto LAB_000338d8;\nLAB_000338d2:\n    if ((*(byte *)(param_4 + 0x2a) & 0x20) == 0) goto LAB_000338d8;\n  }\nLAB_00033920:\n  if ((DAT_000bbb60 == 0) &&\n     ((*(int *)(param_1 + 0x24) == 0 ||\n      (iVar3 = bfd_hash_lookup(*(int *)(param_1 + 0x24),*(undefined4 *)(param_2 + 4),0,0),\n      iVar3 == 0)))) {\n    return 1;\n  }\nLAB_0003394d:\n                    /* WARNING: Could not recover jumptable at 0x00033985. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  uVar4 = (**(code **)(DAT_000bbb5c + 0x28))();\n  return uVar4;\n}" type_identifier (function_declarator "FUN_00033880(int param_1,int param_2,int param_3,int param_4,undefined *param_5,undefined4 param_6,\n            uint param_7)" identifier (parameter_list "(int param_1,int param_2,int param_3,int param_4,undefined *param_5,undefined4 param_6,\n            uint param_7)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "int param_4" primitive_type identifier) , (parameter_declaration "undefined *param_5" type_identifier (pointer_declarator "*param_5" * identifier)) , (parameter_declaration "undefined4 param_6" type_identifier identifier) , (parameter_declaration "uint param_7" type_identifier identifier) ))) (compound_statement "{\n  char cVar1;\n  int iVar2;\n  int iVar3;\n  undefined4 uVar4;\n  \n  if (param_2 == 0) goto LAB_0003394d;\n  if (*(char *)(param_2 + 0xc) == '\a') {\n    iVar3 = *(int *)(param_2 + 0x14);\n    if (param_4 != 0) goto LAB_000338d2;\nLAB_000338d8:\n    if ((param_5 == PTR__bfd_std_section_000bafc4 + 0x1f8) || ((param_7 & 0x2000) != 0)) {\n      if (*(char *)(iVar3 + 0xc) == '\0') {\n        if (*(char *)(param_3 + 0xc) == '\0') {\n          if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n          }\n          else {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n          }\n        }\n        goto LAB_00033920;\n      }\n      if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n        *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n        goto LAB_00033914;\n      }\n      *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n    }\n    else {\n      if ((param_7 & 0x1800) != 0) goto LAB_00033920;\n      cVar1 = *(char *)(iVar3 + 0xc);\n      if (param_5 == PTR__bfd_std_section_000bafc4 + 0xa8) {\n        if (((byte)(cVar1 - 1U) < 2) &&\n           ((*(int *)(iVar3 + 0x14) == 0 || ((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)\n            ))) {\n          *(int *)(iVar3 + 0x14) = param_4;\n        }\n      }\n      else {\n        if ((byte)(cVar1 - 3U) < 2) {\n          iVar2 = *(int *)(*(int *)(iVar3 + 0x14) + 0x94);\njoined_r0x00033a9b:\n          if ((iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)) {\n            *(undefined1 *)(iVar3 + 0xc) = 2;\n            *(int *)(iVar3 + 0x14) = iVar2;\n          }\n        }\n        else if (cVar1 == '\x05') {\n          iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94);\n          goto joined_r0x00033a9b;\n        }\n        if ((param_5[0x15] & 0x10) == 0) goto LAB_00033920;\n      }\n      if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\nLAB_00033914:\n        *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 1;\n        goto LAB_00033920;\n      }\n    }\n    *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 2;\n  }\n  else {\n    iVar3 = param_2;\n    if (param_4 == 0) goto LAB_000338d8;\nLAB_000338d2:\n    if ((*(byte *)(param_4 + 0x2a) & 0x20) == 0) goto LAB_000338d8;\n  }\nLAB_00033920:\n  if ((DAT_000bbb60 == 0) &&\n     ((*(int *)(param_1 + 0x24) == 0 ||\n      (iVar3 = bfd_hash_lookup(*(int *)(param_1 + 0x24),*(undefined4 *)(param_2 + 4),0,0),\n      iVar3 == 0)))) {\n    return 1;\n  }\nLAB_0003394d:\n                    /* WARNING: Could not recover jumptable at 0x00033985. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  uVar4 = (**(code **)(DAT_000bbb5c + 0x28))();\n  return uVar4;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (if_statement "if (param_2 == 0) goto LAB_0003394d;" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0003394d;" goto statement_identifier ;)) (if_statement "if (*(char *)(param_2 + 0xc) == '\a') {\n    iVar3 = *(int *)(param_2 + 0x14);\n    if (param_4 != 0) goto LAB_000338d2;\nLAB_000338d8:\n    if ((param_5 == PTR__bfd_std_section_000bafc4 + 0x1f8) || ((param_7 & 0x2000) != 0)) {\n      if (*(char *)(iVar3 + 0xc) == '\0') {\n        if (*(char *)(param_3 + 0xc) == '\0') {\n          if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n          }\n          else {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n          }\n        }\n        goto LAB_00033920;\n      }\n      if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n        *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n        goto LAB_00033914;\n      }\n      *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n    }\n    else {\n      if ((param_7 & 0x1800) != 0) goto LAB_00033920;\n      cVar1 = *(char *)(iVar3 + 0xc);\n      if (param_5 == PTR__bfd_std_section_000bafc4 + 0xa8) {\n        if (((byte)(cVar1 - 1U) < 2) &&\n           ((*(int *)(iVar3 + 0x14) == 0 || ((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)\n            ))) {\n          *(int *)(iVar3 + 0x14) = param_4;\n        }\n      }\n      else {\n        if ((byte)(cVar1 - 3U) < 2) {\n          iVar2 = *(int *)(*(int *)(iVar3 + 0x14) + 0x94);\njoined_r0x00033a9b:\n          if ((iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)) {\n            *(undefined1 *)(iVar3 + 0xc) = 2;\n            *(int *)(iVar3 + 0x14) = iVar2;\n          }\n        }\n        else if (cVar1 == '\x05') {\n          iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94);\n          goto joined_r0x00033a9b;\n        }\n        if ((param_5[0x15] & 0x10) == 0) goto LAB_00033920;\n      }\n      if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\nLAB_00033914:\n        *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 1;\n        goto LAB_00033920;\n      }\n    }\n    *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 2;\n  }\n  else {\n    iVar3 = param_2;\n    if (param_4 == 0) goto LAB_000338d8;\nLAB_000338d2:\n    if ((*(byte *)(param_4 + 0x2a) & 0x20) == 0) goto LAB_000338d8;\n  }" if (parenthesized_expression "(*(char *)(param_2 + 0xc) == '\a')" ( (binary_expression "*(char *)(param_2 + 0xc) == '\a'" (pointer_expression "*(char *)(param_2 + 0xc)" * (cast_expression "(char *)(param_2 + 0xc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc)" ( (binary_expression "param_2 + 0xc" identifier + number_literal) )))) == (char_literal "'\a'" ' escape_sequence ')) )) (compound_statement "{\n    iVar3 = *(int *)(param_2 + 0x14);\n    if (param_4 != 0) goto LAB_000338d2;\nLAB_000338d8:\n    if ((param_5 == PTR__bfd_std_section_000bafc4 + 0x1f8) || ((param_7 & 0x2000) != 0)) {\n      if (*(char *)(iVar3 + 0xc) == '\0') {\n        if (*(char *)(param_3 + 0xc) == '\0') {\n          if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n          }\n          else {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n          }\n        }\n        goto LAB_00033920;\n      }\n      if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n        *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n        goto LAB_00033914;\n      }\n      *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n    }\n    else {\n      if ((param_7 & 0x1800) != 0) goto LAB_00033920;\n      cVar1 = *(char *)(iVar3 + 0xc);\n      if (param_5 == PTR__bfd_std_section_000bafc4 + 0xa8) {\n        if (((byte)(cVar1 - 1U) < 2) &&\n           ((*(int *)(iVar3 + 0x14) == 0 || ((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)\n            ))) {\n          *(int *)(iVar3 + 0x14) = param_4;\n        }\n      }\n      else {\n        if ((byte)(cVar1 - 3U) < 2) {\n          iVar2 = *(int *)(*(int *)(iVar3 + 0x14) + 0x94);\njoined_r0x00033a9b:\n          if ((iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)) {\n            *(undefined1 *)(iVar3 + 0xc) = 2;\n            *(int *)(iVar3 + 0x14) = iVar2;\n          }\n        }\n        else if (cVar1 == '\x05') {\n          iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94);\n          goto joined_r0x00033a9b;\n        }\n        if ((param_5[0x15] & 0x10) == 0) goto LAB_00033920;\n      }\n      if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\nLAB_00033914:\n        *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 1;\n        goto LAB_00033920;\n      }\n    }\n    *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 2;\n  }" { (expression_statement "iVar3 = *(int *)(param_2 + 0x14);" (assignment_expression "iVar3 = *(int *)(param_2 + 0x14)" identifier = (pointer_expression "*(int *)(param_2 + 0x14)" * (cast_expression "(int *)(param_2 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x14)" ( (binary_expression "param_2 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (param_4 != 0) goto LAB_000338d2;" if (parenthesized_expression "(param_4 != 0)" ( (binary_expression "param_4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000338d2;" goto statement_identifier ;)) (labeled_statement "LAB_000338d8:\n    if ((param_5 == PTR__bfd_std_section_000bafc4 + 0x1f8) || ((param_7 & 0x2000) != 0)) {\n      if (*(char *)(iVar3 + 0xc) == '\0') {\n        if (*(char *)(param_3 + 0xc) == '\0') {\n          if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n          }\n          else {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n          }\n        }\n        goto LAB_00033920;\n      }\n      if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n        *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n        goto LAB_00033914;\n      }\n      *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n    }\n    else {\n      if ((param_7 & 0x1800) != 0) goto LAB_00033920;\n      cVar1 = *(char *)(iVar3 + 0xc);\n      if (param_5 == PTR__bfd_std_section_000bafc4 + 0xa8) {\n        if (((byte)(cVar1 - 1U) < 2) &&\n           ((*(int *)(iVar3 + 0x14) == 0 || ((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)\n            ))) {\n          *(int *)(iVar3 + 0x14) = param_4;\n        }\n      }\n      else {\n        if ((byte)(cVar1 - 3U) < 2) {\n          iVar2 = *(int *)(*(int *)(iVar3 + 0x14) + 0x94);\njoined_r0x00033a9b:\n          if ((iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)) {\n            *(undefined1 *)(iVar3 + 0xc) = 2;\n            *(int *)(iVar3 + 0x14) = iVar2;\n          }\n        }\n        else if (cVar1 == '\x05') {\n          iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94);\n          goto joined_r0x00033a9b;\n        }\n        if ((param_5[0x15] & 0x10) == 0) goto LAB_00033920;\n      }\n      if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\nLAB_00033914:\n        *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 1;\n        goto LAB_00033920;\n      }\n    }" statement_identifier : (if_statement "if ((param_5 == PTR__bfd_std_section_000bafc4 + 0x1f8) || ((param_7 & 0x2000) != 0)) {\n      if (*(char *)(iVar3 + 0xc) == '\0') {\n        if (*(char *)(param_3 + 0xc) == '\0') {\n          if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n          }\n          else {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n          }\n        }\n        goto LAB_00033920;\n      }\n      if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n        *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n        goto LAB_00033914;\n      }\n      *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n    }\n    else {\n      if ((param_7 & 0x1800) != 0) goto LAB_00033920;\n      cVar1 = *(char *)(iVar3 + 0xc);\n      if (param_5 == PTR__bfd_std_section_000bafc4 + 0xa8) {\n        if (((byte)(cVar1 - 1U) < 2) &&\n           ((*(int *)(iVar3 + 0x14) == 0 || ((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)\n            ))) {\n          *(int *)(iVar3 + 0x14) = param_4;\n        }\n      }\n      else {\n        if ((byte)(cVar1 - 3U) < 2) {\n          iVar2 = *(int *)(*(int *)(iVar3 + 0x14) + 0x94);\njoined_r0x00033a9b:\n          if ((iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)) {\n            *(undefined1 *)(iVar3 + 0xc) = 2;\n            *(int *)(iVar3 + 0x14) = iVar2;\n          }\n        }\n        else if (cVar1 == '\x05') {\n          iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94);\n          goto joined_r0x00033a9b;\n        }\n        if ((param_5[0x15] & 0x10) == 0) goto LAB_00033920;\n      }\n      if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\nLAB_00033914:\n        *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 1;\n        goto LAB_00033920;\n      }\n    }" if (parenthesized_expression "((param_5 == PTR__bfd_std_section_000bafc4 + 0x1f8) || ((param_7 & 0x2000) != 0))" ( (binary_expression "(param_5 == PTR__bfd_std_section_000bafc4 + 0x1f8) || ((param_7 & 0x2000) != 0)" (parenthesized_expression "(param_5 == PTR__bfd_std_section_000bafc4 + 0x1f8)" ( (binary_expression "param_5 == PTR__bfd_std_section_000bafc4 + 0x1f8" identifier == (binary_expression "PTR__bfd_std_section_000bafc4 + 0x1f8" identifier + number_literal)) )) || (parenthesized_expression "((param_7 & 0x2000) != 0)" ( (binary_expression "(param_7 & 0x2000) != 0" (parenthesized_expression "(param_7 & 0x2000)" ( (binary_expression "param_7 & 0x2000" identifier & number_literal) )) != number_literal) ))) )) (compound_statement "{\n      if (*(char *)(iVar3 + 0xc) == '\0') {\n        if (*(char *)(param_3 + 0xc) == '\0') {\n          if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n          }\n          else {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n          }\n        }\n        goto LAB_00033920;\n      }\n      if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n        *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n        goto LAB_00033914;\n      }\n      *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n    }" { (if_statement "if (*(char *)(iVar3 + 0xc) == '\0') {\n        if (*(char *)(param_3 + 0xc) == '\0') {\n          if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n          }\n          else {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n          }\n        }\n        goto LAB_00033920;\n      }" if (parenthesized_expression "(*(char *)(iVar3 + 0xc) == '\0')" ( (binary_expression "*(char *)(iVar3 + 0xc) == '\0'" (pointer_expression "*(char *)(iVar3 + 0xc)" * (cast_expression "(char *)(iVar3 + 0xc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0xc)" ( (binary_expression "iVar3 + 0xc" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        if (*(char *)(param_3 + 0xc) == '\0') {\n          if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n          }\n          else {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n          }\n        }\n        goto LAB_00033920;\n      }" { (if_statement "if (*(char *)(param_3 + 0xc) == '\0') {\n          if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n          }\n          else {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n          }\n        }" if (parenthesized_expression "(*(char *)(param_3 + 0xc) == '\0')" ( (binary_expression "*(char *)(param_3 + 0xc) == '\0'" (pointer_expression "*(char *)(param_3 + 0xc)" * (cast_expression "(char *)(param_3 + 0xc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n          }\n          else {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n          }\n        }" { (if_statement "if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n          }\n          else {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n          }" if (parenthesized_expression "((*(byte *)(param_4 + 0x29) & 8) == 0)" ( (binary_expression "(*(byte *)(param_4 + 0x29) & 8) == 0" (parenthesized_expression "(*(byte *)(param_4 + 0x29) & 8)" ( (binary_expression "*(byte *)(param_4 + 0x29) & 8" (pointer_expression "*(byte *)(param_4 + 0x29)" * (cast_expression "(byte *)(param_4 + 0x29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x29)" ( (binary_expression "param_4 + 0x29" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n          }" { (expression_statement "*(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;" (assignment_expression "*(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1" (pointer_expression "*(byte *)(param_3 + 0xd)" * (cast_expression "(byte *)(param_3 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xd)" ( (binary_expression "param_3 + 0xd" identifier + number_literal) )))) = (binary_expression "*(byte *)(param_3 + 0xd) | 1" (pointer_expression "*(byte *)(param_3 + 0xd)" * (cast_expression "(byte *)(param_3 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xd)" ( (binary_expression "param_3 + 0xd" identifier + number_literal) )))) | number_literal)) ;) }) (else_clause "else {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n          }" else (compound_statement "{\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n          }" { (expression_statement "*(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;" (assignment_expression "*(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2" (pointer_expression "*(byte *)(param_3 + 0xd)" * (cast_expression "(byte *)(param_3 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xd)" ( (binary_expression "param_3 + 0xd" identifier + number_literal) )))) = (binary_expression "*(byte *)(param_3 + 0xd) | 2" (pointer_expression "*(byte *)(param_3 + 0xd)" * (cast_expression "(byte *)(param_3 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xd)" ( (binary_expression "param_3 + 0xd" identifier + number_literal) )))) | number_literal)) ;) }))) })) (goto_statement "goto LAB_00033920;" goto statement_identifier ;) })) (if_statement "if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n        *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n        goto LAB_00033914;\n      }" if (parenthesized_expression "((*(byte *)(param_4 + 0x29) & 8) == 0)" ( (binary_expression "(*(byte *)(param_4 + 0x29) & 8) == 0" (parenthesized_expression "(*(byte *)(param_4 + 0x29) & 8)" ( (binary_expression "*(byte *)(param_4 + 0x29) & 8" (pointer_expression "*(byte *)(param_4 + 0x29)" * (cast_expression "(byte *)(param_4 + 0x29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x29)" ( (binary_expression "param_4 + 0x29" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n        *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n        goto LAB_00033914;\n      }" { (expression_statement "*(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;" (assignment_expression "*(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1" (pointer_expression "*(byte *)(param_3 + 0xd)" * (cast_expression "(byte *)(param_3 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xd)" ( (binary_expression "param_3 + 0xd" identifier + number_literal) )))) = (binary_expression "*(byte *)(param_3 + 0xd) | 1" (pointer_expression "*(byte *)(param_3 + 0xd)" * (cast_expression "(byte *)(param_3 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xd)" ( (binary_expression "param_3 + 0xd" identifier + number_literal) )))) | number_literal)) ;) (goto_statement "goto LAB_00033914;" goto statement_identifier ;) })) (expression_statement "*(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;" (assignment_expression "*(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2" (pointer_expression "*(byte *)(param_3 + 0xd)" * (cast_expression "(byte *)(param_3 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xd)" ( (binary_expression "param_3 + 0xd" identifier + number_literal) )))) = (binary_expression "*(byte *)(param_3 + 0xd) | 2" (pointer_expression "*(byte *)(param_3 + 0xd)" * (cast_expression "(byte *)(param_3 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xd)" ( (binary_expression "param_3 + 0xd" identifier + number_literal) )))) | number_literal)) ;) }) (else_clause "else {\n      if ((param_7 & 0x1800) != 0) goto LAB_00033920;\n      cVar1 = *(char *)(iVar3 + 0xc);\n      if (param_5 == PTR__bfd_std_section_000bafc4 + 0xa8) {\n        if (((byte)(cVar1 - 1U) < 2) &&\n           ((*(int *)(iVar3 + 0x14) == 0 || ((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)\n            ))) {\n          *(int *)(iVar3 + 0x14) = param_4;\n        }\n      }\n      else {\n        if ((byte)(cVar1 - 3U) < 2) {\n          iVar2 = *(int *)(*(int *)(iVar3 + 0x14) + 0x94);\njoined_r0x00033a9b:\n          if ((iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)) {\n            *(undefined1 *)(iVar3 + 0xc) = 2;\n            *(int *)(iVar3 + 0x14) = iVar2;\n          }\n        }\n        else if (cVar1 == '\x05') {\n          iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94);\n          goto joined_r0x00033a9b;\n        }\n        if ((param_5[0x15] & 0x10) == 0) goto LAB_00033920;\n      }\n      if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\nLAB_00033914:\n        *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 1;\n        goto LAB_00033920;\n      }\n    }" else (compound_statement "{\n      if ((param_7 & 0x1800) != 0) goto LAB_00033920;\n      cVar1 = *(char *)(iVar3 + 0xc);\n      if (param_5 == PTR__bfd_std_section_000bafc4 + 0xa8) {\n        if (((byte)(cVar1 - 1U) < 2) &&\n           ((*(int *)(iVar3 + 0x14) == 0 || ((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)\n            ))) {\n          *(int *)(iVar3 + 0x14) = param_4;\n        }\n      }\n      else {\n        if ((byte)(cVar1 - 3U) < 2) {\n          iVar2 = *(int *)(*(int *)(iVar3 + 0x14) + 0x94);\njoined_r0x00033a9b:\n          if ((iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)) {\n            *(undefined1 *)(iVar3 + 0xc) = 2;\n            *(int *)(iVar3 + 0x14) = iVar2;\n          }\n        }\n        else if (cVar1 == '\x05') {\n          iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94);\n          goto joined_r0x00033a9b;\n        }\n        if ((param_5[0x15] & 0x10) == 0) goto LAB_00033920;\n      }\n      if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\nLAB_00033914:\n        *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 1;\n        goto LAB_00033920;\n      }\n    }" { (if_statement "if ((param_7 & 0x1800) != 0) goto LAB_00033920;" if (parenthesized_expression "((param_7 & 0x1800) != 0)" ( (binary_expression "(param_7 & 0x1800) != 0" (parenthesized_expression "(param_7 & 0x1800)" ( (binary_expression "param_7 & 0x1800" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_00033920;" goto statement_identifier ;)) (expression_statement "cVar1 = *(char *)(iVar3 + 0xc);" (assignment_expression "cVar1 = *(char *)(iVar3 + 0xc)" identifier = (pointer_expression "*(char *)(iVar3 + 0xc)" * (cast_expression "(char *)(iVar3 + 0xc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0xc)" ( (binary_expression "iVar3 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (param_5 == PTR__bfd_std_section_000bafc4 + 0xa8) {\n        if (((byte)(cVar1 - 1U) < 2) &&\n           ((*(int *)(iVar3 + 0x14) == 0 || ((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)\n            ))) {\n          *(int *)(iVar3 + 0x14) = param_4;\n        }\n      }\n      else {\n        if ((byte)(cVar1 - 3U) < 2) {\n          iVar2 = *(int *)(*(int *)(iVar3 + 0x14) + 0x94);\njoined_r0x00033a9b:\n          if ((iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)) {\n            *(undefined1 *)(iVar3 + 0xc) = 2;\n            *(int *)(iVar3 + 0x14) = iVar2;\n          }\n        }\n        else if (cVar1 == '\x05') {\n          iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94);\n          goto joined_r0x00033a9b;\n        }\n        if ((param_5[0x15] & 0x10) == 0) goto LAB_00033920;\n      }" if (parenthesized_expression "(param_5 == PTR__bfd_std_section_000bafc4 + 0xa8)" ( (binary_expression "param_5 == PTR__bfd_std_section_000bafc4 + 0xa8" identifier == (binary_expression "PTR__bfd_std_section_000bafc4 + 0xa8" identifier + number_literal)) )) (compound_statement "{\n        if (((byte)(cVar1 - 1U) < 2) &&\n           ((*(int *)(iVar3 + 0x14) == 0 || ((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)\n            ))) {\n          *(int *)(iVar3 + 0x14) = param_4;\n        }\n      }" { (if_statement "if (((byte)(cVar1 - 1U) < 2) &&\n           ((*(int *)(iVar3 + 0x14) == 0 || ((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)\n            ))) {\n          *(int *)(iVar3 + 0x14) = param_4;\n        }" if (parenthesized_expression "(((byte)(cVar1 - 1U) < 2) &&\n           ((*(int *)(iVar3 + 0x14) == 0 || ((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)\n            )))" ( (binary_expression "((byte)(cVar1 - 1U) < 2) &&\n           ((*(int *)(iVar3 + 0x14) == 0 || ((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)\n            ))" (parenthesized_expression "((byte)(cVar1 - 1U) < 2)" ( (binary_expression "(byte)(cVar1 - 1U) < 2" (call_expression "(byte)(cVar1 - 1U)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(cVar1 - 1U)" ( (binary_expression "cVar1 - 1U" identifier - number_literal) ))) < number_literal) )) && (parenthesized_expression "((*(int *)(iVar3 + 0x14) == 0 || ((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)\n            ))" ( (parenthesized_expression "(*(int *)(iVar3 + 0x14) == 0 || ((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)\n            )" ( (binary_expression "*(int *)(iVar3 + 0x14) == 0 || ((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)" (binary_expression "*(int *)(iVar3 + 0x14) == 0" (pointer_expression "*(int *)(iVar3 + 0x14)" * (cast_expression "(int *)(iVar3 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x14)" ( (binary_expression "iVar3 + 0x14" identifier + number_literal) )))) == number_literal) || (parenthesized_expression "((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)" ( (binary_expression "(*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0" (parenthesized_expression "(*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20)" ( (binary_expression "*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20" (pointer_expression "*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a)" * (cast_expression "(byte *)(*(int *)(iVar3 + 0x14) + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar3 + 0x14) + 0x2a)" ( (binary_expression "*(int *)(iVar3 + 0x14) + 0x2a" (pointer_expression "*(int *)(iVar3 + 0x14)" * (cast_expression "(int *)(iVar3 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x14)" ( (binary_expression "iVar3 + 0x14" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) != number_literal) ))) )) ))) )) (compound_statement "{\n          *(int *)(iVar3 + 0x14) = param_4;\n        }" { (expression_statement "*(int *)(iVar3 + 0x14) = param_4;" (assignment_expression "*(int *)(iVar3 + 0x14) = param_4" (pointer_expression "*(int *)(iVar3 + 0x14)" * (cast_expression "(int *)(iVar3 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x14)" ( (binary_expression "iVar3 + 0x14" identifier + number_literal) )))) = identifier) ;) })) }) (else_clause "else {\n        if ((byte)(cVar1 - 3U) < 2) {\n          iVar2 = *(int *)(*(int *)(iVar3 + 0x14) + 0x94);\njoined_r0x00033a9b:\n          if ((iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)) {\n            *(undefined1 *)(iVar3 + 0xc) = 2;\n            *(int *)(iVar3 + 0x14) = iVar2;\n          }\n        }\n        else if (cVar1 == '\x05') {\n          iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94);\n          goto joined_r0x00033a9b;\n        }\n        if ((param_5[0x15] & 0x10) == 0) goto LAB_00033920;\n      }" else (compound_statement "{\n        if ((byte)(cVar1 - 3U) < 2) {\n          iVar2 = *(int *)(*(int *)(iVar3 + 0x14) + 0x94);\njoined_r0x00033a9b:\n          if ((iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)) {\n            *(undefined1 *)(iVar3 + 0xc) = 2;\n            *(int *)(iVar3 + 0x14) = iVar2;\n          }\n        }\n        else if (cVar1 == '\x05') {\n          iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94);\n          goto joined_r0x00033a9b;\n        }\n        if ((param_5[0x15] & 0x10) == 0) goto LAB_00033920;\n      }" { (if_statement "if ((byte)(cVar1 - 3U) < 2) {\n          iVar2 = *(int *)(*(int *)(iVar3 + 0x14) + 0x94);\njoined_r0x00033a9b:\n          if ((iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)) {\n            *(undefined1 *)(iVar3 + 0xc) = 2;\n            *(int *)(iVar3 + 0x14) = iVar2;\n          }\n        }\n        else if (cVar1 == '\x05') {\n          iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94);\n          goto joined_r0x00033a9b;\n        }" if (parenthesized_expression "((byte)(cVar1 - 3U) < 2)" ( (binary_expression "(byte)(cVar1 - 3U) < 2" (call_expression "(byte)(cVar1 - 3U)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(cVar1 - 3U)" ( (binary_expression "cVar1 - 3U" identifier - number_literal) ))) < number_literal) )) (compound_statement "{\n          iVar2 = *(int *)(*(int *)(iVar3 + 0x14) + 0x94);\njoined_r0x00033a9b:\n          if ((iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)) {\n            *(undefined1 *)(iVar3 + 0xc) = 2;\n            *(int *)(iVar3 + 0x14) = iVar2;\n          }\n        }" { (expression_statement "iVar2 = *(int *)(*(int *)(iVar3 + 0x14) + 0x94);" (assignment_expression "iVar2 = *(int *)(*(int *)(iVar3 + 0x14) + 0x94)" identifier = (pointer_expression "*(int *)(*(int *)(iVar3 + 0x14) + 0x94)" * (cast_expression "(int *)(*(int *)(iVar3 + 0x14) + 0x94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar3 + 0x14) + 0x94)" ( (binary_expression "*(int *)(iVar3 + 0x14) + 0x94" (pointer_expression "*(int *)(iVar3 + 0x14)" * (cast_expression "(int *)(iVar3 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x14)" ( (binary_expression "iVar3 + 0x14" identifier + number_literal) )))) + number_literal) ))))) ;) (labeled_statement "joined_r0x00033a9b:\n          if ((iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)) {\n            *(undefined1 *)(iVar3 + 0xc) = 2;\n            *(int *)(iVar3 + 0x14) = iVar2;\n          }" statement_identifier : (if_statement "if ((iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)) {\n            *(undefined1 *)(iVar3 + 0xc) = 2;\n            *(int *)(iVar3 + 0x14) = iVar2;\n          }" if (parenthesized_expression "((iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0))" ( (binary_expression "(iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)" (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) && (parenthesized_expression "((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)" ( (binary_expression "(*(byte *)(iVar2 + 0x2a) & 0x20) != 0" (parenthesized_expression "(*(byte *)(iVar2 + 0x2a) & 0x20)" ( (binary_expression "*(byte *)(iVar2 + 0x2a) & 0x20" (pointer_expression "*(byte *)(iVar2 + 0x2a)" * (cast_expression "(byte *)(iVar2 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x2a)" ( (binary_expression "iVar2 + 0x2a" identifier + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n            *(undefined1 *)(iVar3 + 0xc) = 2;\n            *(int *)(iVar3 + 0x14) = iVar2;\n          }" { (expression_statement "*(undefined1 *)(iVar3 + 0xc) = 2;" (assignment_expression "*(undefined1 *)(iVar3 + 0xc) = 2" (pointer_expression "*(undefined1 *)(iVar3 + 0xc)" * (cast_expression "(undefined1 *)(iVar3 + 0xc)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0xc)" ( (binary_expression "iVar3 + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(iVar3 + 0x14) = iVar2;" (assignment_expression "*(int *)(iVar3 + 0x14) = iVar2" (pointer_expression "*(int *)(iVar3 + 0x14)" * (cast_expression "(int *)(iVar3 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x14)" ( (binary_expression "iVar3 + 0x14" identifier + number_literal) )))) = identifier) ;) }))) }) (else_clause "else if (cVar1 == '\x05') {\n          iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94);\n          goto joined_r0x00033a9b;\n        }" else (if_statement "if (cVar1 == '\x05') {\n          iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94);\n          goto joined_r0x00033a9b;\n        }" if (parenthesized_expression "(cVar1 == '\x05')" ( (binary_expression "cVar1 == '\x05'" identifier == (char_literal "'\x05'" ' escape_sequence ')) )) (compound_statement "{\n          iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94);\n          goto joined_r0x00033a9b;\n        }" { (expression_statement "iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94);" (assignment_expression "iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94)" identifier = (pointer_expression "*(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94)" * (cast_expression "(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94)" ( (binary_expression "*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94" (pointer_expression "*(int *)(*(int *)(iVar3 + 0x14) + 4)" * (cast_expression "(int *)(*(int *)(iVar3 + 0x14) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar3 + 0x14) + 4)" ( (binary_expression "*(int *)(iVar3 + 0x14) + 4" (pointer_expression "*(int *)(iVar3 + 0x14)" * (cast_expression "(int *)(iVar3 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x14)" ( (binary_expression "iVar3 + 0x14" identifier + number_literal) )))) + number_literal) )))) + number_literal) ))))) ;) (goto_statement "goto joined_r0x00033a9b;" goto statement_identifier ;) })))) (if_statement "if ((param_5[0x15] & 0x10) == 0) goto LAB_00033920;" if (parenthesized_expression "((param_5[0x15] & 0x10) == 0)" ( (binary_expression "(param_5[0x15] & 0x10) == 0" (parenthesized_expression "(param_5[0x15] & 0x10)" ( (binary_expression "param_5[0x15] & 0x10" (subscript_expression "param_5[0x15]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00033920;" goto statement_identifier ;)) }))) (if_statement "if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\nLAB_00033914:\n        *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 1;\n        goto LAB_00033920;\n      }" if (parenthesized_expression "((*(byte *)(param_4 + 0x29) & 8) == 0)" ( (binary_expression "(*(byte *)(param_4 + 0x29) & 8) == 0" (parenthesized_expression "(*(byte *)(param_4 + 0x29) & 8)" ( (binary_expression "*(byte *)(param_4 + 0x29) & 8" (pointer_expression "*(byte *)(param_4 + 0x29)" * (cast_expression "(byte *)(param_4 + 0x29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x29)" ( (binary_expression "param_4 + 0x29" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_00033914:\n        *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 1;\n        goto LAB_00033920;\n      }" { (labeled_statement "LAB_00033914:\n        *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 1;" statement_identifier : (expression_statement "*(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 1;" (assignment_expression "*(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 1" (pointer_expression "*(byte *)(iVar3 + 0xd)" * (cast_expression "(byte *)(iVar3 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0xd)" ( (binary_expression "iVar3 + 0xd" identifier + number_literal) )))) = (binary_expression "*(byte *)(iVar3 + 0xd) | 1" (pointer_expression "*(byte *)(iVar3 + 0xd)" * (cast_expression "(byte *)(iVar3 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0xd)" ( (binary_expression "iVar3 + 0xd" identifier + number_literal) )))) | number_literal)) ;)) (goto_statement "goto LAB_00033920;" goto statement_identifier ;) })) })))) (expression_statement "*(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 2;" (assignment_expression "*(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 2" (pointer_expression "*(byte *)(iVar3 + 0xd)" * (cast_expression "(byte *)(iVar3 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0xd)" ( (binary_expression "iVar3 + 0xd" identifier + number_literal) )))) = (binary_expression "*(byte *)(iVar3 + 0xd) | 2" (pointer_expression "*(byte *)(iVar3 + 0xd)" * (cast_expression "(byte *)(iVar3 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0xd)" ( (binary_expression "iVar3 + 0xd" identifier + number_literal) )))) | number_literal)) ;) }) (else_clause "else {\n    iVar3 = param_2;\n    if (param_4 == 0) goto LAB_000338d8;\nLAB_000338d2:\n    if ((*(byte *)(param_4 + 0x2a) & 0x20) == 0) goto LAB_000338d8;\n  }" else (compound_statement "{\n    iVar3 = param_2;\n    if (param_4 == 0) goto LAB_000338d8;\nLAB_000338d2:\n    if ((*(byte *)(param_4 + 0x2a) & 0x20) == 0) goto LAB_000338d8;\n  }" { (expression_statement "iVar3 = param_2;" (assignment_expression "iVar3 = param_2" identifier = identifier) ;) (if_statement "if (param_4 == 0) goto LAB_000338d8;" if (parenthesized_expression "(param_4 == 0)" ( (binary_expression "param_4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000338d8;" goto statement_identifier ;)) (labeled_statement "LAB_000338d2:\n    if ((*(byte *)(param_4 + 0x2a) & 0x20) == 0) goto LAB_000338d8;" statement_identifier : (if_statement "if ((*(byte *)(param_4 + 0x2a) & 0x20) == 0) goto LAB_000338d8;" if (parenthesized_expression "((*(byte *)(param_4 + 0x2a) & 0x20) == 0)" ( (binary_expression "(*(byte *)(param_4 + 0x2a) & 0x20) == 0" (parenthesized_expression "(*(byte *)(param_4 + 0x2a) & 0x20)" ( (binary_expression "*(byte *)(param_4 + 0x2a) & 0x20" (pointer_expression "*(byte *)(param_4 + 0x2a)" * (cast_expression "(byte *)(param_4 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x2a)" ( (binary_expression "param_4 + 0x2a" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000338d8;" goto statement_identifier ;))) }))) (labeled_statement "LAB_00033920:\n  if ((DAT_000bbb60 == 0) &&\n     ((*(int *)(param_1 + 0x24) == 0 ||\n      (iVar3 = bfd_hash_lookup(*(int *)(param_1 + 0x24),*(undefined4 *)(param_2 + 4),0,0),\n      iVar3 == 0)))) {\n    return 1;\n  }" statement_identifier : (if_statement "if ((DAT_000bbb60 == 0) &&\n     ((*(int *)(param_1 + 0x24) == 0 ||\n      (iVar3 = bfd_hash_lookup(*(int *)(param_1 + 0x24),*(undefined4 *)(param_2 + 4),0,0),\n      iVar3 == 0)))) {\n    return 1;\n  }" if (parenthesized_expression "((DAT_000bbb60 == 0) &&\n     ((*(int *)(param_1 + 0x24) == 0 ||\n      (iVar3 = bfd_hash_lookup(*(int *)(param_1 + 0x24),*(undefined4 *)(param_2 + 4),0,0),\n      iVar3 == 0))))" ( (binary_expression "(DAT_000bbb60 == 0) &&\n     ((*(int *)(param_1 + 0x24) == 0 ||\n      (iVar3 = bfd_hash_lookup(*(int *)(param_1 + 0x24),*(undefined4 *)(param_2 + 4),0,0),\n      iVar3 == 0)))" (parenthesized_expression "(DAT_000bbb60 == 0)" ( (binary_expression "DAT_000bbb60 == 0" identifier == number_literal) )) && (parenthesized_expression "((*(int *)(param_1 + 0x24) == 0 ||\n      (iVar3 = bfd_hash_lookup(*(int *)(param_1 + 0x24),*(undefined4 *)(param_2 + 4),0,0),\n      iVar3 == 0)))" ( (parenthesized_expression "(*(int *)(param_1 + 0x24) == 0 ||\n      (iVar3 = bfd_hash_lookup(*(int *)(param_1 + 0x24),*(undefined4 *)(param_2 + 4),0,0),\n      iVar3 == 0))" ( (binary_expression "*(int *)(param_1 + 0x24) == 0 ||\n      (iVar3 = bfd_hash_lookup(*(int *)(param_1 + 0x24),*(undefined4 *)(param_2 + 4),0,0),\n      iVar3 == 0)" (binary_expression "*(int *)(param_1 + 0x24) == 0" (pointer_expression "*(int *)(param_1 + 0x24)" * (cast_expression "(int *)(param_1 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) == number_literal) || (parenthesized_expression "(iVar3 = bfd_hash_lookup(*(int *)(param_1 + 0x24),*(undefined4 *)(param_2 + 4),0,0),\n      iVar3 == 0)" ( (comma_expression "iVar3 = bfd_hash_lookup(*(int *)(param_1 + 0x24),*(undefined4 *)(param_2 + 4),0,0),\n      iVar3 == 0" (assignment_expression "iVar3 = bfd_hash_lookup(*(int *)(param_1 + 0x24),*(undefined4 *)(param_2 + 4),0,0)" identifier = (call_expression "bfd_hash_lookup(*(int *)(param_1 + 0x24),*(undefined4 *)(param_2 + 4),0,0)" identifier (argument_list "(*(int *)(param_1 + 0x24),*(undefined4 *)(param_2 + 4),0,0)" ( (pointer_expression "*(int *)(param_1 + 0x24)" * (cast_expression "(int *)(param_1 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_2 + 4)" * (cast_expression "(undefined4 *)(param_2 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 4)" ( (binary_expression "param_2 + 4" identifier + number_literal) )))) , number_literal , number_literal )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) ))) )) (compound_statement "{\n    return 1;\n  }" { (return_statement "return 1;" return number_literal ;) }))) (labeled_statement "LAB_0003394d:\n                    /* WARNING: Could not recover jumptable at 0x00033985. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  uVar4 = (**(code **)(DAT_000bbb5c + 0x28))();" statement_identifier : comment comment (expression_statement "uVar4 = (**(code **)(DAT_000bbb5c + 0x28))();" (assignment_expression "uVar4 = (**(code **)(DAT_000bbb5c + 0x28))()" identifier = (call_expression "(**(code **)(DAT_000bbb5c + 0x28))()" (parenthesized_expression "(**(code **)(DAT_000bbb5c + 0x28))" ( (pointer_expression "**(code **)(DAT_000bbb5c + 0x28)" * (pointer_expression "*(code **)(DAT_000bbb5c + 0x28)" * (cast_expression "(code **)(DAT_000bbb5c + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(DAT_000bbb5c + 0x28)" ( (binary_expression "DAT_000bbb5c + 0x28" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;)) (return_statement "return uVar4;" return identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nbfd_boolean\nplugin_notice(bfd_link_info *info,bfd_link_hash_entry *h,bfd_link_hash_entry *inh,bfd *abfd,\n             asection *section,bfd_vma value,flagword flags)\n\n{\n  undefined1 *puVar1;\n  char cVar2;\n  bfd *pbVar3;\n  bfd *pbVar4;\n  int iVar5;\n  bfd_boolean bVar6;\n  \n  if (h == (bfd_link_hash_entry *)0x0) goto LAB_0003394d;\n  if (h->field_0xc == '\a') {\n    pbVar4 = (h->u).undef.abfd;\n    if (abfd != (bfd *)0x0) goto LAB_000338d2;\nLAB_000338d8:\n    if ((section == (asection *)(PTR__bfd_std_section_000bafc4 + 0x1f8)) || ((flags & 0x2000) != 0))\n    {\n      if (*(char *)&pbVar4->iovec == '\0') {\n        if (inh->field_0xc == '\0') {\n          if ((abfd->field_0x29 & 8) == 0) {\n            inh->field_0xd = inh->field_0xd | 1;\n          }\n          else {\n            inh->field_0xd = inh->field_0xd | 2;\n          }\n        }\n        goto LAB_00033920;\n      }\n      if ((abfd->field_0x29 & 8) == 0) {\n        inh->field_0xd = inh->field_0xd | 1;\n        goto LAB_00033914;\n      }\n      inh->field_0xd = inh->field_0xd | 2;\n    }\n    else {\n      if ((flags & 0x1800) != 0) goto LAB_00033920;\n      cVar2 = *(char *)&pbVar4->iovec;\n      if (section == (asection *)(PTR__bfd_std_section_000bafc4 + 0xa8)) {\n        if (((byte)(cVar2 - 1U) < 2) &&\n           ((pbVar4->lru_next == (bfd *)0x0 || (((&pbVar4->lru_next->field_0x28)[2] & 0x20) != 0))))\n        {\n          pbVar4->lru_next = abfd;\n        }\n      }\n      else {\n        if ((byte)(cVar2 - 3U) < 2) {\n          pbVar3 = pbVar4->lru_next->nested_archives;\njoined_r0x00033a9b:\n          if ((pbVar3 != (bfd *)0x0) && ((pbVar3->field_0x2a & 0x20) != 0)) {\n            *(undefined1 *)&pbVar4->iovec = 2;\n            pbVar4->lru_next = pbVar3;\n          }\n        }\n        else if (cVar2 == '\x05') {\n          pbVar3 = (bfd *)pbVar4->lru_next->xvec->_close_and_cleanup;\n          goto joined_r0x00033a9b;\n        }\n        if ((section->flags & 0x1000) == 0) goto LAB_00033920;\n      }\n      if ((abfd->field_0x29 & 8) == 0) {\nLAB_00033914:\n        puVar1 = (undefined1 *)((int)&pbVar4->iovec + 1);\n        *puVar1 = *puVar1 | 1;\n        goto LAB_00033920;\n      }\n    }\n    puVar1 = (undefined1 *)((int)&pbVar4->iovec + 1);\n    *puVar1 = *puVar1 | 2;\n  }\n  else {\n    pbVar4 = (bfd *)h;\n    if (abfd == (bfd *)0x0) goto LAB_000338d8;\nLAB_000338d2:\n    if ((abfd->field_0x2a & 0x20) == 0) goto LAB_000338d8;\n  }\nLAB_00033920:\n  if ((orig_notice_all == 0) &&\n     ((info->notice_hash == (bfd_hash_table *)0x0 ||\n      (iVar5 = bfd_hash_lookup(info->notice_hash,(h->root).string,0,0), iVar5 == 0)))) {\n    return 1;\n  }\nLAB_0003394d:\n                    /* WARNING: Could not recover jumptable at 0x00033985. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  bVar6 = (*orig_callbacks->notice)(info,h,inh,abfd,section,value,flags);\n  return bVar6;\n}\n\n" comment (function_definition "bfd_boolean\nplugin_notice(bfd_link_info *info,bfd_link_hash_entry *h,bfd_link_hash_entry *inh,bfd *abfd,\n             asection *section,bfd_vma value,flagword flags)\n\n{\n  undefined1 *puVar1;\n  char cVar2;\n  bfd *pbVar3;\n  bfd *pbVar4;\n  int iVar5;\n  bfd_boolean bVar6;\n  \n  if (h == (bfd_link_hash_entry *)0x0) goto LAB_0003394d;\n  if (h->field_0xc == '\a') {\n    pbVar4 = (h->u).undef.abfd;\n    if (abfd != (bfd *)0x0) goto LAB_000338d2;\nLAB_000338d8:\n    if ((section == (asection *)(PTR__bfd_std_section_000bafc4 + 0x1f8)) || ((flags & 0x2000) != 0))\n    {\n      if (*(char *)&pbVar4->iovec == '\0') {\n        if (inh->field_0xc == '\0') {\n          if ((abfd->field_0x29 & 8) == 0) {\n            inh->field_0xd = inh->field_0xd | 1;\n          }\n          else {\n            inh->field_0xd = inh->field_0xd | 2;\n          }\n        }\n        goto LAB_00033920;\n      }\n      if ((abfd->field_0x29 & 8) == 0) {\n        inh->field_0xd = inh->field_0xd | 1;\n        goto LAB_00033914;\n      }\n      inh->field_0xd = inh->field_0xd | 2;\n    }\n    else {\n      if ((flags & 0x1800) != 0) goto LAB_00033920;\n      cVar2 = *(char *)&pbVar4->iovec;\n      if (section == (asection *)(PTR__bfd_std_section_000bafc4 + 0xa8)) {\n        if (((byte)(cVar2 - 1U) < 2) &&\n           ((pbVar4->lru_next == (bfd *)0x0 || (((&pbVar4->lru_next->field_0x28)[2] & 0x20) != 0))))\n        {\n          pbVar4->lru_next = abfd;\n        }\n      }\n      else {\n        if ((byte)(cVar2 - 3U) < 2) {\n          pbVar3 = pbVar4->lru_next->nested_archives;\njoined_r0x00033a9b:\n          if ((pbVar3 != (bfd *)0x0) && ((pbVar3->field_0x2a & 0x20) != 0)) {\n            *(undefined1 *)&pbVar4->iovec = 2;\n            pbVar4->lru_next = pbVar3;\n          }\n        }\n        else if (cVar2 == '\x05') {\n          pbVar3 = (bfd *)pbVar4->lru_next->xvec->_close_and_cleanup;\n          goto joined_r0x00033a9b;\n        }\n        if ((section->flags & 0x1000) == 0) goto LAB_00033920;\n      }\n      if ((abfd->field_0x29 & 8) == 0) {\nLAB_00033914:\n        puVar1 = (undefined1 *)((int)&pbVar4->iovec + 1);\n        *puVar1 = *puVar1 | 1;\n        goto LAB_00033920;\n      }\n    }\n    puVar1 = (undefined1 *)((int)&pbVar4->iovec + 1);\n    *puVar1 = *puVar1 | 2;\n  }\n  else {\n    pbVar4 = (bfd *)h;\n    if (abfd == (bfd *)0x0) goto LAB_000338d8;\nLAB_000338d2:\n    if ((abfd->field_0x2a & 0x20) == 0) goto LAB_000338d8;\n  }\nLAB_00033920:\n  if ((orig_notice_all == 0) &&\n     ((info->notice_hash == (bfd_hash_table *)0x0 ||\n      (iVar5 = bfd_hash_lookup(info->notice_hash,(h->root).string,0,0), iVar5 == 0)))) {\n    return 1;\n  }\nLAB_0003394d:\n                    /* WARNING: Could not recover jumptable at 0x00033985. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  bVar6 = (*orig_callbacks->notice)(info,h,inh,abfd,section,value,flags);\n  return bVar6;\n}" type_identifier (function_declarator "plugin_notice(bfd_link_info *info,bfd_link_hash_entry *h,bfd_link_hash_entry *inh,bfd *abfd,\n             asection *section,bfd_vma value,flagword flags)" identifier (parameter_list "(bfd_link_info *info,bfd_link_hash_entry *h,bfd_link_hash_entry *inh,bfd *abfd,\n             asection *section,bfd_vma value,flagword flags)" ( (parameter_declaration "bfd_link_info *info" type_identifier (pointer_declarator "*info" * identifier)) , (parameter_declaration "bfd_link_hash_entry *h" type_identifier (pointer_declarator "*h" * identifier)) , (parameter_declaration "bfd_link_hash_entry *inh" type_identifier (pointer_declarator "*inh" * identifier)) , (parameter_declaration "bfd *abfd" type_identifier (pointer_declarator "*abfd" * identifier)) , (parameter_declaration "asection *section" type_identifier (pointer_declarator "*section" * identifier)) , (parameter_declaration "bfd_vma value" type_identifier identifier) , (parameter_declaration "flagword flags" type_identifier identifier) ))) (compound_statement "{\n  undefined1 *puVar1;\n  char cVar2;\n  bfd *pbVar3;\n  bfd *pbVar4;\n  int iVar5;\n  bfd_boolean bVar6;\n  \n  if (h == (bfd_link_hash_entry *)0x0) goto LAB_0003394d;\n  if (h->field_0xc == '\a') {\n    pbVar4 = (h->u).undef.abfd;\n    if (abfd != (bfd *)0x0) goto LAB_000338d2;\nLAB_000338d8:\n    if ((section == (asection *)(PTR__bfd_std_section_000bafc4 + 0x1f8)) || ((flags & 0x2000) != 0))\n    {\n      if (*(char *)&pbVar4->iovec == '\0') {\n        if (inh->field_0xc == '\0') {\n          if ((abfd->field_0x29 & 8) == 0) {\n            inh->field_0xd = inh->field_0xd | 1;\n          }\n          else {\n            inh->field_0xd = inh->field_0xd | 2;\n          }\n        }\n        goto LAB_00033920;\n      }\n      if ((abfd->field_0x29 & 8) == 0) {\n        inh->field_0xd = inh->field_0xd | 1;\n        goto LAB_00033914;\n      }\n      inh->field_0xd = inh->field_0xd | 2;\n    }\n    else {\n      if ((flags & 0x1800) != 0) goto LAB_00033920;\n      cVar2 = *(char *)&pbVar4->iovec;\n      if (section == (asection *)(PTR__bfd_std_section_000bafc4 + 0xa8)) {\n        if (((byte)(cVar2 - 1U) < 2) &&\n           ((pbVar4->lru_next == (bfd *)0x0 || (((&pbVar4->lru_next->field_0x28)[2] & 0x20) != 0))))\n        {\n          pbVar4->lru_next = abfd;\n        }\n      }\n      else {\n        if ((byte)(cVar2 - 3U) < 2) {\n          pbVar3 = pbVar4->lru_next->nested_archives;\njoined_r0x00033a9b:\n          if ((pbVar3 != (bfd *)0x0) && ((pbVar3->field_0x2a & 0x20) != 0)) {\n            *(undefined1 *)&pbVar4->iovec = 2;\n            pbVar4->lru_next = pbVar3;\n          }\n        }\n        else if (cVar2 == '\x05') {\n          pbVar3 = (bfd *)pbVar4->lru_next->xvec->_close_and_cleanup;\n          goto joined_r0x00033a9b;\n        }\n        if ((section->flags & 0x1000) == 0) goto LAB_00033920;\n      }\n      if ((abfd->field_0x29 & 8) == 0) {\nLAB_00033914:\n        puVar1 = (undefined1 *)((int)&pbVar4->iovec + 1);\n        *puVar1 = *puVar1 | 1;\n        goto LAB_00033920;\n      }\n    }\n    puVar1 = (undefined1 *)((int)&pbVar4->iovec + 1);\n    *puVar1 = *puVar1 | 2;\n  }\n  else {\n    pbVar4 = (bfd *)h;\n    if (abfd == (bfd *)0x0) goto LAB_000338d8;\nLAB_000338d2:\n    if ((abfd->field_0x2a & 0x20) == 0) goto LAB_000338d8;\n  }\nLAB_00033920:\n  if ((orig_notice_all == 0) &&\n     ((info->notice_hash == (bfd_hash_table *)0x0 ||\n      (iVar5 = bfd_hash_lookup(info->notice_hash,(h->root).string,0,0), iVar5 == 0)))) {\n    return 1;\n  }\nLAB_0003394d:\n                    /* WARNING: Could not recover jumptable at 0x00033985. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  bVar6 = (*orig_callbacks->notice)(info,h,inh,abfd,section,value,flags);\n  return bVar6;\n}" { (declaration "undefined1 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "bfd *pbVar3;" type_identifier (pointer_declarator "*pbVar3" * identifier) ;) (declaration "bfd *pbVar4;" type_identifier (pointer_declarator "*pbVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "bfd_boolean bVar6;" type_identifier identifier ;) (if_statement "if (h == (bfd_link_hash_entry *)0x0) goto LAB_0003394d;" if (parenthesized_expression "(h == (bfd_link_hash_entry *)0x0)" ( (binary_expression "h == (bfd_link_hash_entry *)0x0" identifier == (cast_expression "(bfd_link_hash_entry *)0x0" ( (type_descriptor "bfd_link_hash_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0003394d;" goto statement_identifier ;)) (if_statement "if (h->field_0xc == '\a') {\n    pbVar4 = (h->u).undef.abfd;\n    if (abfd != (bfd *)0x0) goto LAB_000338d2;\nLAB_000338d8:\n    if ((section == (asection *)(PTR__bfd_std_section_000bafc4 + 0x1f8)) || ((flags & 0x2000) != 0))\n    {\n      if (*(char *)&pbVar4->iovec == '\0') {\n        if (inh->field_0xc == '\0') {\n          if ((abfd->field_0x29 & 8) == 0) {\n            inh->field_0xd = inh->field_0xd | 1;\n          }\n          else {\n            inh->field_0xd = inh->field_0xd | 2;\n          }\n        }\n        goto LAB_00033920;\n      }\n      if ((abfd->field_0x29 & 8) == 0) {\n        inh->field_0xd = inh->field_0xd | 1;\n        goto LAB_00033914;\n      }\n      inh->field_0xd = inh->field_0xd | 2;\n    }\n    else {\n      if ((flags & 0x1800) != 0) goto LAB_00033920;\n      cVar2 = *(char *)&pbVar4->iovec;\n      if (section == (asection *)(PTR__bfd_std_section_000bafc4 + 0xa8)) {\n        if (((byte)(cVar2 - 1U) < 2) &&\n           ((pbVar4->lru_next == (bfd *)0x0 || (((&pbVar4->lru_next->field_0x28)[2] & 0x20) != 0))))\n        {\n          pbVar4->lru_next = abfd;\n        }\n      }\n      else {\n        if ((byte)(cVar2 - 3U) < 2) {\n          pbVar3 = pbVar4->lru_next->nested_archives;\njoined_r0x00033a9b:\n          if ((pbVar3 != (bfd *)0x0) && ((pbVar3->field_0x2a & 0x20) != 0)) {\n            *(undefined1 *)&pbVar4->iovec = 2;\n            pbVar4->lru_next = pbVar3;\n          }\n        }\n        else if (cVar2 == '\x05') {\n          pbVar3 = (bfd *)pbVar4->lru_next->xvec->_close_and_cleanup;\n          goto joined_r0x00033a9b;\n        }\n        if ((section->flags & 0x1000) == 0) goto LAB_00033920;\n      }\n      if ((abfd->field_0x29 & 8) == 0) {\nLAB_00033914:\n        puVar1 = (undefined1 *)((int)&pbVar4->iovec + 1);\n        *puVar1 = *puVar1 | 1;\n        goto LAB_00033920;\n      }\n    }\n    puVar1 = (undefined1 *)((int)&pbVar4->iovec + 1);\n    *puVar1 = *puVar1 | 2;\n  }\n  else {\n    pbVar4 = (bfd *)h;\n    if (abfd == (bfd *)0x0) goto LAB_000338d8;\nLAB_000338d2:\n    if ((abfd->field_0x2a & 0x20) == 0) goto LAB_000338d8;\n  }" if (parenthesized_expression "(h->field_0xc == '\a')" ( (binary_expression "h->field_0xc == '\a'" (field_expression "h->field_0xc" identifier -> field_identifier) == (char_literal "'\a'" ' escape_sequence ')) )) (compound_statement "{\n    pbVar4 = (h->u).undef.abfd;\n    if (abfd != (bfd *)0x0) goto LAB_000338d2;\nLAB_000338d8:\n    if ((section == (asection *)(PTR__bfd_std_section_000bafc4 + 0x1f8)) || ((flags & 0x2000) != 0))\n    {\n      if (*(char *)&pbVar4->iovec == '\0') {\n        if (inh->field_0xc == '\0') {\n          if ((abfd->field_0x29 & 8) == 0) {\n            inh->field_0xd = inh->field_0xd | 1;\n          }\n          else {\n            inh->field_0xd = inh->field_0xd | 2;\n          }\n        }\n        goto LAB_00033920;\n      }\n      if ((abfd->field_0x29 & 8) == 0) {\n        inh->field_0xd = inh->field_0xd | 1;\n        goto LAB_00033914;\n      }\n      inh->field_0xd = inh->field_0xd | 2;\n    }\n    else {\n      if ((flags & 0x1800) != 0) goto LAB_00033920;\n      cVar2 = *(char *)&pbVar4->iovec;\n      if (section == (asection *)(PTR__bfd_std_section_000bafc4 + 0xa8)) {\n        if (((byte)(cVar2 - 1U) < 2) &&\n           ((pbVar4->lru_next == (bfd *)0x0 || (((&pbVar4->lru_next->field_0x28)[2] & 0x20) != 0))))\n        {\n          pbVar4->lru_next = abfd;\n        }\n      }\n      else {\n        if ((byte)(cVar2 - 3U) < 2) {\n          pbVar3 = pbVar4->lru_next->nested_archives;\njoined_r0x00033a9b:\n          if ((pbVar3 != (bfd *)0x0) && ((pbVar3->field_0x2a & 0x20) != 0)) {\n            *(undefined1 *)&pbVar4->iovec = 2;\n            pbVar4->lru_next = pbVar3;\n          }\n        }\n        else if (cVar2 == '\x05') {\n          pbVar3 = (bfd *)pbVar4->lru_next->xvec->_close_and_cleanup;\n          goto joined_r0x00033a9b;\n        }\n        if ((section->flags & 0x1000) == 0) goto LAB_00033920;\n      }\n      if ((abfd->field_0x29 & 8) == 0) {\nLAB_00033914:\n        puVar1 = (undefined1 *)((int)&pbVar4->iovec + 1);\n        *puVar1 = *puVar1 | 1;\n        goto LAB_00033920;\n      }\n    }\n    puVar1 = (undefined1 *)((int)&pbVar4->iovec + 1);\n    *puVar1 = *puVar1 | 2;\n  }" { (expression_statement "pbVar4 = (h->u).undef.abfd;" (assignment_expression "pbVar4 = (h->u).undef.abfd" identifier = (field_expression "(h->u).undef.abfd" (field_expression "(h->u).undef" (parenthesized_expression "(h->u)" ( (field_expression "h->u" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if (abfd != (bfd *)0x0) goto LAB_000338d2;" if (parenthesized_expression "(abfd != (bfd *)0x0)" ( (binary_expression "abfd != (bfd *)0x0" identifier != (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000338d2;" goto statement_identifier ;)) (labeled_statement "LAB_000338d8:\n    if ((section == (asection *)(PTR__bfd_std_section_000bafc4 + 0x1f8)) || ((flags & 0x2000) != 0))\n    {\n      if (*(char *)&pbVar4->iovec == '\0') {\n        if (inh->field_0xc == '\0') {\n          if ((abfd->field_0x29 & 8) == 0) {\n            inh->field_0xd = inh->field_0xd | 1;\n          }\n          else {\n            inh->field_0xd = inh->field_0xd | 2;\n          }\n        }\n        goto LAB_00033920;\n      }\n      if ((abfd->field_0x29 & 8) == 0) {\n        inh->field_0xd = inh->field_0xd | 1;\n        goto LAB_00033914;\n      }\n      inh->field_0xd = inh->field_0xd | 2;\n    }\n    else {\n      if ((flags & 0x1800) != 0) goto LAB_00033920;\n      cVar2 = *(char *)&pbVar4->iovec;\n      if (section == (asection *)(PTR__bfd_std_section_000bafc4 + 0xa8)) {\n        if (((byte)(cVar2 - 1U) < 2) &&\n           ((pbVar4->lru_next == (bfd *)0x0 || (((&pbVar4->lru_next->field_0x28)[2] & 0x20) != 0))))\n        {\n          pbVar4->lru_next = abfd;\n        }\n      }\n      else {\n        if ((byte)(cVar2 - 3U) < 2) {\n          pbVar3 = pbVar4->lru_next->nested_archives;\njoined_r0x00033a9b:\n          if ((pbVar3 != (bfd *)0x0) && ((pbVar3->field_0x2a & 0x20) != 0)) {\n            *(undefined1 *)&pbVar4->iovec = 2;\n            pbVar4->lru_next = pbVar3;\n          }\n        }\n        else if (cVar2 == '\x05') {\n          pbVar3 = (bfd *)pbVar4->lru_next->xvec->_close_and_cleanup;\n          goto joined_r0x00033a9b;\n        }\n        if ((section->flags & 0x1000) == 0) goto LAB_00033920;\n      }\n      if ((abfd->field_0x29 & 8) == 0) {\nLAB_00033914:\n        puVar1 = (undefined1 *)((int)&pbVar4->iovec + 1);\n        *puVar1 = *puVar1 | 1;\n        goto LAB_00033920;\n      }\n    }" statement_identifier : (if_statement "if ((section == (asection *)(PTR__bfd_std_section_000bafc4 + 0x1f8)) || ((flags & 0x2000) != 0))\n    {\n      if (*(char *)&pbVar4->iovec == '\0') {\n        if (inh->field_0xc == '\0') {\n          if ((abfd->field_0x29 & 8) == 0) {\n            inh->field_0xd = inh->field_0xd | 1;\n          }\n          else {\n            inh->field_0xd = inh->field_0xd | 2;\n          }\n        }\n        goto LAB_00033920;\n      }\n      if ((abfd->field_0x29 & 8) == 0) {\n        inh->field_0xd = inh->field_0xd | 1;\n        goto LAB_00033914;\n      }\n      inh->field_0xd = inh->field_0xd | 2;\n    }\n    else {\n      if ((flags & 0x1800) != 0) goto LAB_00033920;\n      cVar2 = *(char *)&pbVar4->iovec;\n      if (section == (asection *)(PTR__bfd_std_section_000bafc4 + 0xa8)) {\n        if (((byte)(cVar2 - 1U) < 2) &&\n           ((pbVar4->lru_next == (bfd *)0x0 || (((&pbVar4->lru_next->field_0x28)[2] & 0x20) != 0))))\n        {\n          pbVar4->lru_next = abfd;\n        }\n      }\n      else {\n        if ((byte)(cVar2 - 3U) < 2) {\n          pbVar3 = pbVar4->lru_next->nested_archives;\njoined_r0x00033a9b:\n          if ((pbVar3 != (bfd *)0x0) && ((pbVar3->field_0x2a & 0x20) != 0)) {\n            *(undefined1 *)&pbVar4->iovec = 2;\n            pbVar4->lru_next = pbVar3;\n          }\n        }\n        else if (cVar2 == '\x05') {\n          pbVar3 = (bfd *)pbVar4->lru_next->xvec->_close_and_cleanup;\n          goto joined_r0x00033a9b;\n        }\n        if ((section->flags & 0x1000) == 0) goto LAB_00033920;\n      }\n      if ((abfd->field_0x29 & 8) == 0) {\nLAB_00033914:\n        puVar1 = (undefined1 *)((int)&pbVar4->iovec + 1);\n        *puVar1 = *puVar1 | 1;\n        goto LAB_00033920;\n      }\n    }" if (parenthesized_expression "((section == (asection *)(PTR__bfd_std_section_000bafc4 + 0x1f8)) || ((flags & 0x2000) != 0))" ( (binary_expression "(section == (asection *)(PTR__bfd_std_section_000bafc4 + 0x1f8)) || ((flags & 0x2000) != 0)" (parenthesized_expression "(section == (asection *)(PTR__bfd_std_section_000bafc4 + 0x1f8))" ( (binary_expression "section == (asection *)(PTR__bfd_std_section_000bafc4 + 0x1f8)" identifier == (cast_expression "(asection *)(PTR__bfd_std_section_000bafc4 + 0x1f8)" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__bfd_std_section_000bafc4 + 0x1f8)" ( (binary_expression "PTR__bfd_std_section_000bafc4 + 0x1f8" identifier + number_literal) )))) )) || (parenthesized_expression "((flags & 0x2000) != 0)" ( (binary_expression "(flags & 0x2000) != 0" (parenthesized_expression "(flags & 0x2000)" ( (binary_expression "flags & 0x2000" identifier & number_literal) )) != number_literal) ))) )) (compound_statement "{\n      if (*(char *)&pbVar4->iovec == '\0') {\n        if (inh->field_0xc == '\0') {\n          if ((abfd->field_0x29 & 8) == 0) {\n            inh->field_0xd = inh->field_0xd | 1;\n          }\n          else {\n            inh->field_0xd = inh->field_0xd | 2;\n          }\n        }\n        goto LAB_00033920;\n      }\n      if ((abfd->field_0x29 & 8) == 0) {\n        inh->field_0xd = inh->field_0xd | 1;\n        goto LAB_00033914;\n      }\n      inh->field_0xd = inh->field_0xd | 2;\n    }" { (if_statement "if (*(char *)&pbVar4->iovec == '\0') {\n        if (inh->field_0xc == '\0') {\n          if ((abfd->field_0x29 & 8) == 0) {\n            inh->field_0xd = inh->field_0xd | 1;\n          }\n          else {\n            inh->field_0xd = inh->field_0xd | 2;\n          }\n        }\n        goto LAB_00033920;\n      }" if (parenthesized_expression "(*(char *)&pbVar4->iovec == '\0')" ( (binary_expression "*(char *)&pbVar4->iovec == '\0'" (pointer_expression "*(char *)&pbVar4->iovec" * (cast_expression "(char *)&pbVar4->iovec" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pbVar4->iovec" & (field_expression "pbVar4->iovec" identifier -> field_identifier)))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        if (inh->field_0xc == '\0') {\n          if ((abfd->field_0x29 & 8) == 0) {\n            inh->field_0xd = inh->field_0xd | 1;\n          }\n          else {\n            inh->field_0xd = inh->field_0xd | 2;\n          }\n        }\n        goto LAB_00033920;\n      }" { (if_statement "if (inh->field_0xc == '\0') {\n          if ((abfd->field_0x29 & 8) == 0) {\n            inh->field_0xd = inh->field_0xd | 1;\n          }\n          else {\n            inh->field_0xd = inh->field_0xd | 2;\n          }\n        }" if (parenthesized_expression "(inh->field_0xc == '\0')" ( (binary_expression "inh->field_0xc == '\0'" (field_expression "inh->field_0xc" identifier -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          if ((abfd->field_0x29 & 8) == 0) {\n            inh->field_0xd = inh->field_0xd | 1;\n          }\n          else {\n            inh->field_0xd = inh->field_0xd | 2;\n          }\n        }" { (if_statement "if ((abfd->field_0x29 & 8) == 0) {\n            inh->field_0xd = inh->field_0xd | 1;\n          }\n          else {\n            inh->field_0xd = inh->field_0xd | 2;\n          }" if (parenthesized_expression "((abfd->field_0x29 & 8) == 0)" ( (binary_expression "(abfd->field_0x29 & 8) == 0" (parenthesized_expression "(abfd->field_0x29 & 8)" ( (binary_expression "abfd->field_0x29 & 8" (field_expression "abfd->field_0x29" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n            inh->field_0xd = inh->field_0xd | 1;\n          }" { (expression_statement "inh->field_0xd = inh->field_0xd | 1;" (assignment_expression "inh->field_0xd = inh->field_0xd | 1" (field_expression "inh->field_0xd" identifier -> field_identifier) = (binary_expression "inh->field_0xd | 1" (field_expression "inh->field_0xd" identifier -> field_identifier) | number_literal)) ;) }) (else_clause "else {\n            inh->field_0xd = inh->field_0xd | 2;\n          }" else (compound_statement "{\n            inh->field_0xd = inh->field_0xd | 2;\n          }" { (expression_statement "inh->field_0xd = inh->field_0xd | 2;" (assignment_expression "inh->field_0xd = inh->field_0xd | 2" (field_expression "inh->field_0xd" identifier -> field_identifier) = (binary_expression "inh->field_0xd | 2" (field_expression "inh->field_0xd" identifier -> field_identifier) | number_literal)) ;) }))) })) (goto_statement "goto LAB_00033920;" goto statement_identifier ;) })) (if_statement "if ((abfd->field_0x29 & 8) == 0) {\n        inh->field_0xd = inh->field_0xd | 1;\n        goto LAB_00033914;\n      }" if (parenthesized_expression "((abfd->field_0x29 & 8) == 0)" ( (binary_expression "(abfd->field_0x29 & 8) == 0" (parenthesized_expression "(abfd->field_0x29 & 8)" ( (binary_expression "abfd->field_0x29 & 8" (field_expression "abfd->field_0x29" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n        inh->field_0xd = inh->field_0xd | 1;\n        goto LAB_00033914;\n      }" { (expression_statement "inh->field_0xd = inh->field_0xd | 1;" (assignment_expression "inh->field_0xd = inh->field_0xd | 1" (field_expression "inh->field_0xd" identifier -> field_identifier) = (binary_expression "inh->field_0xd | 1" (field_expression "inh->field_0xd" identifier -> field_identifier) | number_literal)) ;) (goto_statement "goto LAB_00033914;" goto statement_identifier ;) })) (expression_statement "inh->field_0xd = inh->field_0xd | 2;" (assignment_expression "inh->field_0xd = inh->field_0xd | 2" (field_expression "inh->field_0xd" identifier -> field_identifier) = (binary_expression "inh->field_0xd | 2" (field_expression "inh->field_0xd" identifier -> field_identifier) | number_literal)) ;) }) (else_clause "else {\n      if ((flags & 0x1800) != 0) goto LAB_00033920;\n      cVar2 = *(char *)&pbVar4->iovec;\n      if (section == (asection *)(PTR__bfd_std_section_000bafc4 + 0xa8)) {\n        if (((byte)(cVar2 - 1U) < 2) &&\n           ((pbVar4->lru_next == (bfd *)0x0 || (((&pbVar4->lru_next->field_0x28)[2] & 0x20) != 0))))\n        {\n          pbVar4->lru_next = abfd;\n        }\n      }\n      else {\n        if ((byte)(cVar2 - 3U) < 2) {\n          pbVar3 = pbVar4->lru_next->nested_archives;\njoined_r0x00033a9b:\n          if ((pbVar3 != (bfd *)0x0) && ((pbVar3->field_0x2a & 0x20) != 0)) {\n            *(undefined1 *)&pbVar4->iovec = 2;\n            pbVar4->lru_next = pbVar3;\n          }\n        }\n        else if (cVar2 == '\x05') {\n          pbVar3 = (bfd *)pbVar4->lru_next->xvec->_close_and_cleanup;\n          goto joined_r0x00033a9b;\n        }\n        if ((section->flags & 0x1000) == 0) goto LAB_00033920;\n      }\n      if ((abfd->field_0x29 & 8) == 0) {\nLAB_00033914:\n        puVar1 = (undefined1 *)((int)&pbVar4->iovec + 1);\n        *puVar1 = *puVar1 | 1;\n        goto LAB_00033920;\n      }\n    }" else (compound_statement "{\n      if ((flags & 0x1800) != 0) goto LAB_00033920;\n      cVar2 = *(char *)&pbVar4->iovec;\n      if (section == (asection *)(PTR__bfd_std_section_000bafc4 + 0xa8)) {\n        if (((byte)(cVar2 - 1U) < 2) &&\n           ((pbVar4->lru_next == (bfd *)0x0 || (((&pbVar4->lru_next->field_0x28)[2] & 0x20) != 0))))\n        {\n          pbVar4->lru_next = abfd;\n        }\n      }\n      else {\n        if ((byte)(cVar2 - 3U) < 2) {\n          pbVar3 = pbVar4->lru_next->nested_archives;\njoined_r0x00033a9b:\n          if ((pbVar3 != (bfd *)0x0) && ((pbVar3->field_0x2a & 0x20) != 0)) {\n            *(undefined1 *)&pbVar4->iovec = 2;\n            pbVar4->lru_next = pbVar3;\n          }\n        }\n        else if (cVar2 == '\x05') {\n          pbVar3 = (bfd *)pbVar4->lru_next->xvec->_close_and_cleanup;\n          goto joined_r0x00033a9b;\n        }\n        if ((section->flags & 0x1000) == 0) goto LAB_00033920;\n      }\n      if ((abfd->field_0x29 & 8) == 0) {\nLAB_00033914:\n        puVar1 = (undefined1 *)((int)&pbVar4->iovec + 1);\n        *puVar1 = *puVar1 | 1;\n        goto LAB_00033920;\n      }\n    }" { (if_statement "if ((flags & 0x1800) != 0) goto LAB_00033920;" if (parenthesized_expression "((flags & 0x1800) != 0)" ( (binary_expression "(flags & 0x1800) != 0" (parenthesized_expression "(flags & 0x1800)" ( (binary_expression "flags & 0x1800" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_00033920;" goto statement_identifier ;)) (expression_statement "cVar2 = *(char *)&pbVar4->iovec;" (assignment_expression "cVar2 = *(char *)&pbVar4->iovec" identifier = (pointer_expression "*(char *)&pbVar4->iovec" * (cast_expression "(char *)&pbVar4->iovec" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pbVar4->iovec" & (field_expression "pbVar4->iovec" identifier -> field_identifier))))) ;) (if_statement "if (section == (asection *)(PTR__bfd_std_section_000bafc4 + 0xa8)) {\n        if (((byte)(cVar2 - 1U) < 2) &&\n           ((pbVar4->lru_next == (bfd *)0x0 || (((&pbVar4->lru_next->field_0x28)[2] & 0x20) != 0))))\n        {\n          pbVar4->lru_next = abfd;\n        }\n      }\n      else {\n        if ((byte)(cVar2 - 3U) < 2) {\n          pbVar3 = pbVar4->lru_next->nested_archives;\njoined_r0x00033a9b:\n          if ((pbVar3 != (bfd *)0x0) && ((pbVar3->field_0x2a & 0x20) != 0)) {\n            *(undefined1 *)&pbVar4->iovec = 2;\n            pbVar4->lru_next = pbVar3;\n          }\n        }\n        else if (cVar2 == '\x05') {\n          pbVar3 = (bfd *)pbVar4->lru_next->xvec->_close_and_cleanup;\n          goto joined_r0x00033a9b;\n        }\n        if ((section->flags & 0x1000) == 0) goto LAB_00033920;\n      }" if (parenthesized_expression "(section == (asection *)(PTR__bfd_std_section_000bafc4 + 0xa8))" ( (binary_expression "section == (asection *)(PTR__bfd_std_section_000bafc4 + 0xa8)" identifier == (cast_expression "(asection *)(PTR__bfd_std_section_000bafc4 + 0xa8)" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__bfd_std_section_000bafc4 + 0xa8)" ( (binary_expression "PTR__bfd_std_section_000bafc4 + 0xa8" identifier + number_literal) )))) )) (compound_statement "{\n        if (((byte)(cVar2 - 1U) < 2) &&\n           ((pbVar4->lru_next == (bfd *)0x0 || (((&pbVar4->lru_next->field_0x28)[2] & 0x20) != 0))))\n        {\n          pbVar4->lru_next = abfd;\n        }\n      }" { (if_statement "if (((byte)(cVar2 - 1U) < 2) &&\n           ((pbVar4->lru_next == (bfd *)0x0 || (((&pbVar4->lru_next->field_0x28)[2] & 0x20) != 0))))\n        {\n          pbVar4->lru_next = abfd;\n        }" if (parenthesized_expression "(((byte)(cVar2 - 1U) < 2) &&\n           ((pbVar4->lru_next == (bfd *)0x0 || (((&pbVar4->lru_next->field_0x28)[2] & 0x20) != 0))))" ( (binary_expression "((byte)(cVar2 - 1U) < 2) &&\n           ((pbVar4->lru_next == (bfd *)0x0 || (((&pbVar4->lru_next->field_0x28)[2] & 0x20) != 0)))" (parenthesized_expression "((byte)(cVar2 - 1U) < 2)" ( (binary_expression "(byte)(cVar2 - 1U) < 2" (call_expression "(byte)(cVar2 - 1U)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(cVar2 - 1U)" ( (binary_expression "cVar2 - 1U" identifier - number_literal) ))) < number_literal) )) && (parenthesized_expression "((pbVar4->lru_next == (bfd *)0x0 || (((&pbVar4->lru_next->field_0x28)[2] & 0x20) != 0)))" ( (parenthesized_expression "(pbVar4->lru_next == (bfd *)0x0 || (((&pbVar4->lru_next->field_0x28)[2] & 0x20) != 0))" ( (binary_expression "pbVar4->lru_next == (bfd *)0x0 || (((&pbVar4->lru_next->field_0x28)[2] & 0x20) != 0)" (binary_expression "pbVar4->lru_next == (bfd *)0x0" (field_expression "pbVar4->lru_next" identifier -> field_identifier) == (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) || (parenthesized_expression "(((&pbVar4->lru_next->field_0x28)[2] & 0x20) != 0)" ( (binary_expression "((&pbVar4->lru_next->field_0x28)[2] & 0x20) != 0" (parenthesized_expression "((&pbVar4->lru_next->field_0x28)[2] & 0x20)" ( (binary_expression "(&pbVar4->lru_next->field_0x28)[2] & 0x20" (subscript_expression "(&pbVar4->lru_next->field_0x28)[2]" (parenthesized_expression "(&pbVar4->lru_next->field_0x28)" ( (pointer_expression "&pbVar4->lru_next->field_0x28" & (field_expression "pbVar4->lru_next->field_0x28" (field_expression "pbVar4->lru_next" identifier -> field_identifier) -> field_identifier)) )) [ number_literal ]) & number_literal) )) != number_literal) ))) )) ))) )) (compound_statement "{\n          pbVar4->lru_next = abfd;\n        }" { (expression_statement "pbVar4->lru_next = abfd;" (assignment_expression "pbVar4->lru_next = abfd" (field_expression "pbVar4->lru_next" identifier -> field_identifier) = identifier) ;) })) }) (else_clause "else {\n        if ((byte)(cVar2 - 3U) < 2) {\n          pbVar3 = pbVar4->lru_next->nested_archives;\njoined_r0x00033a9b:\n          if ((pbVar3 != (bfd *)0x0) && ((pbVar3->field_0x2a & 0x20) != 0)) {\n            *(undefined1 *)&pbVar4->iovec = 2;\n            pbVar4->lru_next = pbVar3;\n          }\n        }\n        else if (cVar2 == '\x05') {\n          pbVar3 = (bfd *)pbVar4->lru_next->xvec->_close_and_cleanup;\n          goto joined_r0x00033a9b;\n        }\n        if ((section->flags & 0x1000) == 0) goto LAB_00033920;\n      }" else (compound_statement "{\n        if ((byte)(cVar2 - 3U) < 2) {\n          pbVar3 = pbVar4->lru_next->nested_archives;\njoined_r0x00033a9b:\n          if ((pbVar3 != (bfd *)0x0) && ((pbVar3->field_0x2a & 0x20) != 0)) {\n            *(undefined1 *)&pbVar4->iovec = 2;\n            pbVar4->lru_next = pbVar3;\n          }\n        }\n        else if (cVar2 == '\x05') {\n          pbVar3 = (bfd *)pbVar4->lru_next->xvec->_close_and_cleanup;\n          goto joined_r0x00033a9b;\n        }\n        if ((section->flags & 0x1000) == 0) goto LAB_00033920;\n      }" { (if_statement "if ((byte)(cVar2 - 3U) < 2) {\n          pbVar3 = pbVar4->lru_next->nested_archives;\njoined_r0x00033a9b:\n          if ((pbVar3 != (bfd *)0x0) && ((pbVar3->field_0x2a & 0x20) != 0)) {\n            *(undefined1 *)&pbVar4->iovec = 2;\n            pbVar4->lru_next = pbVar3;\n          }\n        }\n        else if (cVar2 == '\x05') {\n          pbVar3 = (bfd *)pbVar4->lru_next->xvec->_close_and_cleanup;\n          goto joined_r0x00033a9b;\n        }" if (parenthesized_expression "((byte)(cVar2 - 3U) < 2)" ( (binary_expression "(byte)(cVar2 - 3U) < 2" (call_expression "(byte)(cVar2 - 3U)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(cVar2 - 3U)" ( (binary_expression "cVar2 - 3U" identifier - number_literal) ))) < number_literal) )) (compound_statement "{\n          pbVar3 = pbVar4->lru_next->nested_archives;\njoined_r0x00033a9b:\n          if ((pbVar3 != (bfd *)0x0) && ((pbVar3->field_0x2a & 0x20) != 0)) {\n            *(undefined1 *)&pbVar4->iovec = 2;\n            pbVar4->lru_next = pbVar3;\n          }\n        }" { (expression_statement "pbVar3 = pbVar4->lru_next->nested_archives;" (assignment_expression "pbVar3 = pbVar4->lru_next->nested_archives" identifier = (field_expression "pbVar4->lru_next->nested_archives" (field_expression "pbVar4->lru_next" identifier -> field_identifier) -> field_identifier)) ;) (labeled_statement "joined_r0x00033a9b:\n          if ((pbVar3 != (bfd *)0x0) && ((pbVar3->field_0x2a & 0x20) != 0)) {\n            *(undefined1 *)&pbVar4->iovec = 2;\n            pbVar4->lru_next = pbVar3;\n          }" statement_identifier : (if_statement "if ((pbVar3 != (bfd *)0x0) && ((pbVar3->field_0x2a & 0x20) != 0)) {\n            *(undefined1 *)&pbVar4->iovec = 2;\n            pbVar4->lru_next = pbVar3;\n          }" if (parenthesized_expression "((pbVar3 != (bfd *)0x0) && ((pbVar3->field_0x2a & 0x20) != 0))" ( (binary_expression "(pbVar3 != (bfd *)0x0) && ((pbVar3->field_0x2a & 0x20) != 0)" (parenthesized_expression "(pbVar3 != (bfd *)0x0)" ( (binary_expression "pbVar3 != (bfd *)0x0" identifier != (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((pbVar3->field_0x2a & 0x20) != 0)" ( (binary_expression "(pbVar3->field_0x2a & 0x20) != 0" (parenthesized_expression "(pbVar3->field_0x2a & 0x20)" ( (binary_expression "pbVar3->field_0x2a & 0x20" (field_expression "pbVar3->field_0x2a" identifier -> field_identifier) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n            *(undefined1 *)&pbVar4->iovec = 2;\n            pbVar4->lru_next = pbVar3;\n          }" { (expression_statement "*(undefined1 *)&pbVar4->iovec = 2;" (assignment_expression "*(undefined1 *)&pbVar4->iovec = 2" (pointer_expression "*(undefined1 *)&pbVar4->iovec" * (cast_expression "(undefined1 *)&pbVar4->iovec" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pbVar4->iovec" & (field_expression "pbVar4->iovec" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "pbVar4->lru_next = pbVar3;" (assignment_expression "pbVar4->lru_next = pbVar3" (field_expression "pbVar4->lru_next" identifier -> field_identifier) = identifier) ;) }))) }) (else_clause "else if (cVar2 == '\x05') {\n          pbVar3 = (bfd *)pbVar4->lru_next->xvec->_close_and_cleanup;\n          goto joined_r0x00033a9b;\n        }" else (if_statement "if (cVar2 == '\x05') {\n          pbVar3 = (bfd *)pbVar4->lru_next->xvec->_close_and_cleanup;\n          goto joined_r0x00033a9b;\n        }" if (parenthesized_expression "(cVar2 == '\x05')" ( (binary_expression "cVar2 == '\x05'" identifier == (char_literal "'\x05'" ' escape_sequence ')) )) (compound_statement "{\n          pbVar3 = (bfd *)pbVar4->lru_next->xvec->_close_and_cleanup;\n          goto joined_r0x00033a9b;\n        }" { (expression_statement "pbVar3 = (bfd *)pbVar4->lru_next->xvec->_close_and_cleanup;" (assignment_expression "pbVar3 = (bfd *)pbVar4->lru_next->xvec->_close_and_cleanup" identifier = (cast_expression "(bfd *)pbVar4->lru_next->xvec->_close_and_cleanup" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pbVar4->lru_next->xvec->_close_and_cleanup" (field_expression "pbVar4->lru_next->xvec" (field_expression "pbVar4->lru_next" identifier -> field_identifier) -> field_identifier) -> field_identifier))) ;) (goto_statement "goto joined_r0x00033a9b;" goto statement_identifier ;) })))) (if_statement "if ((section->flags & 0x1000) == 0) goto LAB_00033920;" if (parenthesized_expression "((section->flags & 0x1000) == 0)" ( (binary_expression "(section->flags & 0x1000) == 0" (parenthesized_expression "(section->flags & 0x1000)" ( (binary_expression "section->flags & 0x1000" (field_expression "section->flags" identifier -> field_identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00033920;" goto statement_identifier ;)) }))) (if_statement "if ((abfd->field_0x29 & 8) == 0) {\nLAB_00033914:\n        puVar1 = (undefined1 *)((int)&pbVar4->iovec + 1);\n        *puVar1 = *puVar1 | 1;\n        goto LAB_00033920;\n      }" if (parenthesized_expression "((abfd->field_0x29 & 8) == 0)" ( (binary_expression "(abfd->field_0x29 & 8) == 0" (parenthesized_expression "(abfd->field_0x29 & 8)" ( (binary_expression "abfd->field_0x29 & 8" (field_expression "abfd->field_0x29" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_00033914:\n        puVar1 = (undefined1 *)((int)&pbVar4->iovec + 1);\n        *puVar1 = *puVar1 | 1;\n        goto LAB_00033920;\n      }" { (labeled_statement "LAB_00033914:\n        puVar1 = (undefined1 *)((int)&pbVar4->iovec + 1);" statement_identifier : (expression_statement "puVar1 = (undefined1 *)((int)&pbVar4->iovec + 1);" (assignment_expression "puVar1 = (undefined1 *)((int)&pbVar4->iovec + 1)" identifier = (cast_expression "(undefined1 *)((int)&pbVar4->iovec + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pbVar4->iovec + 1)" ( (binary_expression "(int)&pbVar4->iovec + 1" (cast_expression "(int)&pbVar4->iovec" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pbVar4->iovec" & (field_expression "pbVar4->iovec" identifier -> field_identifier))) + number_literal) )))) ;)) (expression_statement "*puVar1 = *puVar1 | 1;" (assignment_expression "*puVar1 = *puVar1 | 1" (pointer_expression "*puVar1" * identifier) = (binary_expression "*puVar1 | 1" (pointer_expression "*puVar1" * identifier) | number_literal)) ;) (goto_statement "goto LAB_00033920;" goto statement_identifier ;) })) })))) (expression_statement "puVar1 = (undefined1 *)((int)&pbVar4->iovec + 1);" (assignment_expression "puVar1 = (undefined1 *)((int)&pbVar4->iovec + 1)" identifier = (cast_expression "(undefined1 *)((int)&pbVar4->iovec + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pbVar4->iovec + 1)" ( (binary_expression "(int)&pbVar4->iovec + 1" (cast_expression "(int)&pbVar4->iovec" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pbVar4->iovec" & (field_expression "pbVar4->iovec" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "*puVar1 = *puVar1 | 2;" (assignment_expression "*puVar1 = *puVar1 | 2" (pointer_expression "*puVar1" * identifier) = (binary_expression "*puVar1 | 2" (pointer_expression "*puVar1" * identifier) | number_literal)) ;) }) (else_clause "else {\n    pbVar4 = (bfd *)h;\n    if (abfd == (bfd *)0x0) goto LAB_000338d8;\nLAB_000338d2:\n    if ((abfd->field_0x2a & 0x20) == 0) goto LAB_000338d8;\n  }" else (compound_statement "{\n    pbVar4 = (bfd *)h;\n    if (abfd == (bfd *)0x0) goto LAB_000338d8;\nLAB_000338d2:\n    if ((abfd->field_0x2a & 0x20) == 0) goto LAB_000338d8;\n  }" { (expression_statement "pbVar4 = (bfd *)h;" (assignment_expression "pbVar4 = (bfd *)h" identifier = (cast_expression "(bfd *)h" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (abfd == (bfd *)0x0) goto LAB_000338d8;" if (parenthesized_expression "(abfd == (bfd *)0x0)" ( (binary_expression "abfd == (bfd *)0x0" identifier == (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000338d8;" goto statement_identifier ;)) (labeled_statement "LAB_000338d2:\n    if ((abfd->field_0x2a & 0x20) == 0) goto LAB_000338d8;" statement_identifier : (if_statement "if ((abfd->field_0x2a & 0x20) == 0) goto LAB_000338d8;" if (parenthesized_expression "((abfd->field_0x2a & 0x20) == 0)" ( (binary_expression "(abfd->field_0x2a & 0x20) == 0" (parenthesized_expression "(abfd->field_0x2a & 0x20)" ( (binary_expression "abfd->field_0x2a & 0x20" (field_expression "abfd->field_0x2a" identifier -> field_identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000338d8;" goto statement_identifier ;))) }))) (labeled_statement "LAB_00033920:\n  if ((orig_notice_all == 0) &&\n     ((info->notice_hash == (bfd_hash_table *)0x0 ||\n      (iVar5 = bfd_hash_lookup(info->notice_hash,(h->root).string,0,0), iVar5 == 0)))) {\n    return 1;\n  }" statement_identifier : (if_statement "if ((orig_notice_all == 0) &&\n     ((info->notice_hash == (bfd_hash_table *)0x0 ||\n      (iVar5 = bfd_hash_lookup(info->notice_hash,(h->root).string,0,0), iVar5 == 0)))) {\n    return 1;\n  }" if (parenthesized_expression "((orig_notice_all == 0) &&\n     ((info->notice_hash == (bfd_hash_table *)0x0 ||\n      (iVar5 = bfd_hash_lookup(info->notice_hash,(h->root).string,0,0), iVar5 == 0))))" ( (binary_expression "(orig_notice_all == 0) &&\n     ((info->notice_hash == (bfd_hash_table *)0x0 ||\n      (iVar5 = bfd_hash_lookup(info->notice_hash,(h->root).string,0,0), iVar5 == 0)))" (parenthesized_expression "(orig_notice_all == 0)" ( (binary_expression "orig_notice_all == 0" identifier == number_literal) )) && (parenthesized_expression "((info->notice_hash == (bfd_hash_table *)0x0 ||\n      (iVar5 = bfd_hash_lookup(info->notice_hash,(h->root).string,0,0), iVar5 == 0)))" ( (parenthesized_expression "(info->notice_hash == (bfd_hash_table *)0x0 ||\n      (iVar5 = bfd_hash_lookup(info->notice_hash,(h->root).string,0,0), iVar5 == 0))" ( (binary_expression "info->notice_hash == (bfd_hash_table *)0x0 ||\n      (iVar5 = bfd_hash_lookup(info->notice_hash,(h->root).string,0,0), iVar5 == 0)" (binary_expression "info->notice_hash == (bfd_hash_table *)0x0" (field_expression "info->notice_hash" identifier -> field_identifier) == (cast_expression "(bfd_hash_table *)0x0" ( (type_descriptor "bfd_hash_table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) || (parenthesized_expression "(iVar5 = bfd_hash_lookup(info->notice_hash,(h->root).string,0,0), iVar5 == 0)" ( (comma_expression "iVar5 = bfd_hash_lookup(info->notice_hash,(h->root).string,0,0), iVar5 == 0" (assignment_expression "iVar5 = bfd_hash_lookup(info->notice_hash,(h->root).string,0,0)" identifier = (call_expression "bfd_hash_lookup(info->notice_hash,(h->root).string,0,0)" identifier (argument_list "(info->notice_hash,(h->root).string,0,0)" ( (field_expression "info->notice_hash" identifier -> field_identifier) , (field_expression "(h->root).string" (parenthesized_expression "(h->root)" ( (field_expression "h->root" identifier -> field_identifier) )) . field_identifier) , number_literal , number_literal )))) , (binary_expression "iVar5 == 0" identifier == number_literal)) ))) )) ))) )) (compound_statement "{\n    return 1;\n  }" { (return_statement "return 1;" return number_literal ;) }))) (labeled_statement "LAB_0003394d:\n                    /* WARNING: Could not recover jumptable at 0x00033985. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  bVar6 = (*orig_callbacks->notice)(info,h,inh,abfd,section,value,flags);" statement_identifier : comment comment (expression_statement "bVar6 = (*orig_callbacks->notice)(info,h,inh,abfd,section,value,flags);" (assignment_expression "bVar6 = (*orig_callbacks->notice)(info,h,inh,abfd,section,value,flags)" identifier = (call_expression "(*orig_callbacks->notice)(info,h,inh,abfd,section,value,flags)" (parenthesized_expression "(*orig_callbacks->notice)" ( (pointer_expression "*orig_callbacks->notice" * (field_expression "orig_callbacks->notice" identifier -> field_identifier)) )) (argument_list "(info,h,inh,abfd,section,value,flags)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier )))) ;)) (return_statement "return bVar6;" return identifier ;) })))
(translation_unit "undefined4\nFUN_00033880(int param_1,int param_2,int param_3,int param_4,undefined *param_5,undefined4 param_6,\n            uint param_7)\n\n{\n  char cVar1;\n  int iVar2;\n  int iVar3;\n  undefined4 uVar4;\n  \n  if (param_2 == 0) goto LAB_0003394d;\n  if (*(char *)(param_2 + 0xc) == '\a') {\n    iVar3 = *(int *)(param_2 + 0x14);\n    if (param_4 != 0) goto LAB_000338d2;\nLAB_000338d8:\n    if ((param_5 == PTR__bfd_std_section_000bafc4 + 0x1f8) || ((param_7 & 0x2000) != 0)) {\n      if (*(char *)(iVar3 + 0xc) == '\0') {\n        if (*(char *)(param_3 + 0xc) == '\0') {\n          if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n          }\n          else {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n          }\n        }\n        goto LAB_00033920;\n      }\n      if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n        *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n        goto LAB_00033914;\n      }\n      *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n    }\n    else {\n      if ((param_7 & 0x1800) != 0) goto LAB_00033920;\n      cVar1 = *(char *)(iVar3 + 0xc);\n      if (param_5 == PTR__bfd_std_section_000bafc4 + 0xa8) {\n        if (((byte)(cVar1 - 1U) < 2) &&\n           ((*(int *)(iVar3 + 0x14) == 0 || ((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)\n            ))) {\n          *(int *)(iVar3 + 0x14) = param_4;\n        }\n      }\n      else {\n        if ((byte)(cVar1 - 3U) < 2) {\n          iVar2 = *(int *)(*(int *)(iVar3 + 0x14) + 0x94);\njoined_r0x00033a9b:\n          if ((iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)) {\n            *(undefined1 *)(iVar3 + 0xc) = 2;\n            *(int *)(iVar3 + 0x14) = iVar2;\n          }\n        }\n        else if (cVar1 == '\x05') {\n          iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94);\n          goto joined_r0x00033a9b;\n        }\n        if ((param_5[0x15] & 0x10) == 0) goto LAB_00033920;\n      }\n      if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\nLAB_00033914:\n        *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 1;\n        goto LAB_00033920;\n      }\n    }\n    *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 2;\n  }\n  else {\n    iVar3 = param_2;\n    if (param_4 == 0) goto LAB_000338d8;\nLAB_000338d2:\n    if ((*(byte *)(param_4 + 0x2a) & 0x20) == 0) goto LAB_000338d8;\n  }\nLAB_00033920:\n  if ((DAT_000bbb60 == 0) &&\n     ((*(int *)(param_1 + 0x24) == 0 ||\n      (iVar3 = bfd_hash_lookup(*(int *)(param_1 + 0x24),*(undefined4 *)(param_2 + 4),0,0),\n      iVar3 == 0)))) {\n    return 1;\n  }\nLAB_0003394d:\n                    \n                    \n  uVar4 = (**(code **)(DAT_000bbb5c + 0x28))();\n  return uVar4;\n}\n\n" (function_definition "undefined4\nFUN_00033880(int param_1,int param_2,int param_3,int param_4,undefined *param_5,undefined4 param_6,\n            uint param_7)\n\n{\n  char cVar1;\n  int iVar2;\n  int iVar3;\n  undefined4 uVar4;\n  \n  if (param_2 == 0) goto LAB_0003394d;\n  if (*(char *)(param_2 + 0xc) == '\a') {\n    iVar3 = *(int *)(param_2 + 0x14);\n    if (param_4 != 0) goto LAB_000338d2;\nLAB_000338d8:\n    if ((param_5 == PTR__bfd_std_section_000bafc4 + 0x1f8) || ((param_7 & 0x2000) != 0)) {\n      if (*(char *)(iVar3 + 0xc) == '\0') {\n        if (*(char *)(param_3 + 0xc) == '\0') {\n          if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n          }\n          else {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n          }\n        }\n        goto LAB_00033920;\n      }\n      if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n        *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n        goto LAB_00033914;\n      }\n      *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n    }\n    else {\n      if ((param_7 & 0x1800) != 0) goto LAB_00033920;\n      cVar1 = *(char *)(iVar3 + 0xc);\n      if (param_5 == PTR__bfd_std_section_000bafc4 + 0xa8) {\n        if (((byte)(cVar1 - 1U) < 2) &&\n           ((*(int *)(iVar3 + 0x14) == 0 || ((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)\n            ))) {\n          *(int *)(iVar3 + 0x14) = param_4;\n        }\n      }\n      else {\n        if ((byte)(cVar1 - 3U) < 2) {\n          iVar2 = *(int *)(*(int *)(iVar3 + 0x14) + 0x94);\njoined_r0x00033a9b:\n          if ((iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)) {\n            *(undefined1 *)(iVar3 + 0xc) = 2;\n            *(int *)(iVar3 + 0x14) = iVar2;\n          }\n        }\n        else if (cVar1 == '\x05') {\n          iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94);\n          goto joined_r0x00033a9b;\n        }\n        if ((param_5[0x15] & 0x10) == 0) goto LAB_00033920;\n      }\n      if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\nLAB_00033914:\n        *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 1;\n        goto LAB_00033920;\n      }\n    }\n    *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 2;\n  }\n  else {\n    iVar3 = param_2;\n    if (param_4 == 0) goto LAB_000338d8;\nLAB_000338d2:\n    if ((*(byte *)(param_4 + 0x2a) & 0x20) == 0) goto LAB_000338d8;\n  }\nLAB_00033920:\n  if ((DAT_000bbb60 == 0) &&\n     ((*(int *)(param_1 + 0x24) == 0 ||\n      (iVar3 = bfd_hash_lookup(*(int *)(param_1 + 0x24),*(undefined4 *)(param_2 + 4),0,0),\n      iVar3 == 0)))) {\n    return 1;\n  }\nLAB_0003394d:\n                    \n                    \n  uVar4 = (**(code **)(DAT_000bbb5c + 0x28))();\n  return uVar4;\n}" type_identifier (function_declarator "FUN_00033880(int param_1,int param_2,int param_3,int param_4,undefined *param_5,undefined4 param_6,\n            uint param_7)" identifier (parameter_list "(int param_1,int param_2,int param_3,int param_4,undefined *param_5,undefined4 param_6,\n            uint param_7)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "int param_4" primitive_type identifier) , (parameter_declaration "undefined *param_5" type_identifier (pointer_declarator "*param_5" * identifier)) , (parameter_declaration "undefined4 param_6" type_identifier identifier) , (parameter_declaration "uint param_7" type_identifier identifier) ))) (compound_statement "{\n  char cVar1;\n  int iVar2;\n  int iVar3;\n  undefined4 uVar4;\n  \n  if (param_2 == 0) goto LAB_0003394d;\n  if (*(char *)(param_2 + 0xc) == '\a') {\n    iVar3 = *(int *)(param_2 + 0x14);\n    if (param_4 != 0) goto LAB_000338d2;\nLAB_000338d8:\n    if ((param_5 == PTR__bfd_std_section_000bafc4 + 0x1f8) || ((param_7 & 0x2000) != 0)) {\n      if (*(char *)(iVar3 + 0xc) == '\0') {\n        if (*(char *)(param_3 + 0xc) == '\0') {\n          if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n          }\n          else {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n          }\n        }\n        goto LAB_00033920;\n      }\n      if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n        *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n        goto LAB_00033914;\n      }\n      *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n    }\n    else {\n      if ((param_7 & 0x1800) != 0) goto LAB_00033920;\n      cVar1 = *(char *)(iVar3 + 0xc);\n      if (param_5 == PTR__bfd_std_section_000bafc4 + 0xa8) {\n        if (((byte)(cVar1 - 1U) < 2) &&\n           ((*(int *)(iVar3 + 0x14) == 0 || ((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)\n            ))) {\n          *(int *)(iVar3 + 0x14) = param_4;\n        }\n      }\n      else {\n        if ((byte)(cVar1 - 3U) < 2) {\n          iVar2 = *(int *)(*(int *)(iVar3 + 0x14) + 0x94);\njoined_r0x00033a9b:\n          if ((iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)) {\n            *(undefined1 *)(iVar3 + 0xc) = 2;\n            *(int *)(iVar3 + 0x14) = iVar2;\n          }\n        }\n        else if (cVar1 == '\x05') {\n          iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94);\n          goto joined_r0x00033a9b;\n        }\n        if ((param_5[0x15] & 0x10) == 0) goto LAB_00033920;\n      }\n      if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\nLAB_00033914:\n        *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 1;\n        goto LAB_00033920;\n      }\n    }\n    *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 2;\n  }\n  else {\n    iVar3 = param_2;\n    if (param_4 == 0) goto LAB_000338d8;\nLAB_000338d2:\n    if ((*(byte *)(param_4 + 0x2a) & 0x20) == 0) goto LAB_000338d8;\n  }\nLAB_00033920:\n  if ((DAT_000bbb60 == 0) &&\n     ((*(int *)(param_1 + 0x24) == 0 ||\n      (iVar3 = bfd_hash_lookup(*(int *)(param_1 + 0x24),*(undefined4 *)(param_2 + 4),0,0),\n      iVar3 == 0)))) {\n    return 1;\n  }\nLAB_0003394d:\n                    \n                    \n  uVar4 = (**(code **)(DAT_000bbb5c + 0x28))();\n  return uVar4;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (if_statement "if (param_2 == 0) goto LAB_0003394d;" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0003394d;" goto statement_identifier ;)) (if_statement "if (*(char *)(param_2 + 0xc) == '\a') {\n    iVar3 = *(int *)(param_2 + 0x14);\n    if (param_4 != 0) goto LAB_000338d2;\nLAB_000338d8:\n    if ((param_5 == PTR__bfd_std_section_000bafc4 + 0x1f8) || ((param_7 & 0x2000) != 0)) {\n      if (*(char *)(iVar3 + 0xc) == '\0') {\n        if (*(char *)(param_3 + 0xc) == '\0') {\n          if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n          }\n          else {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n          }\n        }\n        goto LAB_00033920;\n      }\n      if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n        *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n        goto LAB_00033914;\n      }\n      *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n    }\n    else {\n      if ((param_7 & 0x1800) != 0) goto LAB_00033920;\n      cVar1 = *(char *)(iVar3 + 0xc);\n      if (param_5 == PTR__bfd_std_section_000bafc4 + 0xa8) {\n        if (((byte)(cVar1 - 1U) < 2) &&\n           ((*(int *)(iVar3 + 0x14) == 0 || ((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)\n            ))) {\n          *(int *)(iVar3 + 0x14) = param_4;\n        }\n      }\n      else {\n        if ((byte)(cVar1 - 3U) < 2) {\n          iVar2 = *(int *)(*(int *)(iVar3 + 0x14) + 0x94);\njoined_r0x00033a9b:\n          if ((iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)) {\n            *(undefined1 *)(iVar3 + 0xc) = 2;\n            *(int *)(iVar3 + 0x14) = iVar2;\n          }\n        }\n        else if (cVar1 == '\x05') {\n          iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94);\n          goto joined_r0x00033a9b;\n        }\n        if ((param_5[0x15] & 0x10) == 0) goto LAB_00033920;\n      }\n      if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\nLAB_00033914:\n        *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 1;\n        goto LAB_00033920;\n      }\n    }\n    *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 2;\n  }\n  else {\n    iVar3 = param_2;\n    if (param_4 == 0) goto LAB_000338d8;\nLAB_000338d2:\n    if ((*(byte *)(param_4 + 0x2a) & 0x20) == 0) goto LAB_000338d8;\n  }" if (parenthesized_expression "(*(char *)(param_2 + 0xc) == '\a')" ( (binary_expression "*(char *)(param_2 + 0xc) == '\a'" (pointer_expression "*(char *)(param_2 + 0xc)" * (cast_expression "(char *)(param_2 + 0xc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc)" ( (binary_expression "param_2 + 0xc" identifier + number_literal) )))) == (char_literal "'\a'" ' escape_sequence ')) )) (compound_statement "{\n    iVar3 = *(int *)(param_2 + 0x14);\n    if (param_4 != 0) goto LAB_000338d2;\nLAB_000338d8:\n    if ((param_5 == PTR__bfd_std_section_000bafc4 + 0x1f8) || ((param_7 & 0x2000) != 0)) {\n      if (*(char *)(iVar3 + 0xc) == '\0') {\n        if (*(char *)(param_3 + 0xc) == '\0') {\n          if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n          }\n          else {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n          }\n        }\n        goto LAB_00033920;\n      }\n      if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n        *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n        goto LAB_00033914;\n      }\n      *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n    }\n    else {\n      if ((param_7 & 0x1800) != 0) goto LAB_00033920;\n      cVar1 = *(char *)(iVar3 + 0xc);\n      if (param_5 == PTR__bfd_std_section_000bafc4 + 0xa8) {\n        if (((byte)(cVar1 - 1U) < 2) &&\n           ((*(int *)(iVar3 + 0x14) == 0 || ((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)\n            ))) {\n          *(int *)(iVar3 + 0x14) = param_4;\n        }\n      }\n      else {\n        if ((byte)(cVar1 - 3U) < 2) {\n          iVar2 = *(int *)(*(int *)(iVar3 + 0x14) + 0x94);\njoined_r0x00033a9b:\n          if ((iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)) {\n            *(undefined1 *)(iVar3 + 0xc) = 2;\n            *(int *)(iVar3 + 0x14) = iVar2;\n          }\n        }\n        else if (cVar1 == '\x05') {\n          iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94);\n          goto joined_r0x00033a9b;\n        }\n        if ((param_5[0x15] & 0x10) == 0) goto LAB_00033920;\n      }\n      if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\nLAB_00033914:\n        *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 1;\n        goto LAB_00033920;\n      }\n    }\n    *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 2;\n  }" { (expression_statement "iVar3 = *(int *)(param_2 + 0x14);" (assignment_expression "iVar3 = *(int *)(param_2 + 0x14)" identifier = (pointer_expression "*(int *)(param_2 + 0x14)" * (cast_expression "(int *)(param_2 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x14)" ( (binary_expression "param_2 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (param_4 != 0) goto LAB_000338d2;" if (parenthesized_expression "(param_4 != 0)" ( (binary_expression "param_4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000338d2;" goto statement_identifier ;)) (labeled_statement "LAB_000338d8:\n    if ((param_5 == PTR__bfd_std_section_000bafc4 + 0x1f8) || ((param_7 & 0x2000) != 0)) {\n      if (*(char *)(iVar3 + 0xc) == '\0') {\n        if (*(char *)(param_3 + 0xc) == '\0') {\n          if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n          }\n          else {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n          }\n        }\n        goto LAB_00033920;\n      }\n      if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n        *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n        goto LAB_00033914;\n      }\n      *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n    }\n    else {\n      if ((param_7 & 0x1800) != 0) goto LAB_00033920;\n      cVar1 = *(char *)(iVar3 + 0xc);\n      if (param_5 == PTR__bfd_std_section_000bafc4 + 0xa8) {\n        if (((byte)(cVar1 - 1U) < 2) &&\n           ((*(int *)(iVar3 + 0x14) == 0 || ((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)\n            ))) {\n          *(int *)(iVar3 + 0x14) = param_4;\n        }\n      }\n      else {\n        if ((byte)(cVar1 - 3U) < 2) {\n          iVar2 = *(int *)(*(int *)(iVar3 + 0x14) + 0x94);\njoined_r0x00033a9b:\n          if ((iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)) {\n            *(undefined1 *)(iVar3 + 0xc) = 2;\n            *(int *)(iVar3 + 0x14) = iVar2;\n          }\n        }\n        else if (cVar1 == '\x05') {\n          iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94);\n          goto joined_r0x00033a9b;\n        }\n        if ((param_5[0x15] & 0x10) == 0) goto LAB_00033920;\n      }\n      if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\nLAB_00033914:\n        *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 1;\n        goto LAB_00033920;\n      }\n    }" statement_identifier : (if_statement "if ((param_5 == PTR__bfd_std_section_000bafc4 + 0x1f8) || ((param_7 & 0x2000) != 0)) {\n      if (*(char *)(iVar3 + 0xc) == '\0') {\n        if (*(char *)(param_3 + 0xc) == '\0') {\n          if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n          }\n          else {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n          }\n        }\n        goto LAB_00033920;\n      }\n      if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n        *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n        goto LAB_00033914;\n      }\n      *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n    }\n    else {\n      if ((param_7 & 0x1800) != 0) goto LAB_00033920;\n      cVar1 = *(char *)(iVar3 + 0xc);\n      if (param_5 == PTR__bfd_std_section_000bafc4 + 0xa8) {\n        if (((byte)(cVar1 - 1U) < 2) &&\n           ((*(int *)(iVar3 + 0x14) == 0 || ((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)\n            ))) {\n          *(int *)(iVar3 + 0x14) = param_4;\n        }\n      }\n      else {\n        if ((byte)(cVar1 - 3U) < 2) {\n          iVar2 = *(int *)(*(int *)(iVar3 + 0x14) + 0x94);\njoined_r0x00033a9b:\n          if ((iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)) {\n            *(undefined1 *)(iVar3 + 0xc) = 2;\n            *(int *)(iVar3 + 0x14) = iVar2;\n          }\n        }\n        else if (cVar1 == '\x05') {\n          iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94);\n          goto joined_r0x00033a9b;\n        }\n        if ((param_5[0x15] & 0x10) == 0) goto LAB_00033920;\n      }\n      if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\nLAB_00033914:\n        *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 1;\n        goto LAB_00033920;\n      }\n    }" if (parenthesized_expression "((param_5 == PTR__bfd_std_section_000bafc4 + 0x1f8) || ((param_7 & 0x2000) != 0))" ( (binary_expression "(param_5 == PTR__bfd_std_section_000bafc4 + 0x1f8) || ((param_7 & 0x2000) != 0)" (parenthesized_expression "(param_5 == PTR__bfd_std_section_000bafc4 + 0x1f8)" ( (binary_expression "param_5 == PTR__bfd_std_section_000bafc4 + 0x1f8" identifier == (binary_expression "PTR__bfd_std_section_000bafc4 + 0x1f8" identifier + number_literal)) )) || (parenthesized_expression "((param_7 & 0x2000) != 0)" ( (binary_expression "(param_7 & 0x2000) != 0" (parenthesized_expression "(param_7 & 0x2000)" ( (binary_expression "param_7 & 0x2000" identifier & number_literal) )) != number_literal) ))) )) (compound_statement "{\n      if (*(char *)(iVar3 + 0xc) == '\0') {\n        if (*(char *)(param_3 + 0xc) == '\0') {\n          if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n          }\n          else {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n          }\n        }\n        goto LAB_00033920;\n      }\n      if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n        *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n        goto LAB_00033914;\n      }\n      *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n    }" { (if_statement "if (*(char *)(iVar3 + 0xc) == '\0') {\n        if (*(char *)(param_3 + 0xc) == '\0') {\n          if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n          }\n          else {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n          }\n        }\n        goto LAB_00033920;\n      }" if (parenthesized_expression "(*(char *)(iVar3 + 0xc) == '\0')" ( (binary_expression "*(char *)(iVar3 + 0xc) == '\0'" (pointer_expression "*(char *)(iVar3 + 0xc)" * (cast_expression "(char *)(iVar3 + 0xc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0xc)" ( (binary_expression "iVar3 + 0xc" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        if (*(char *)(param_3 + 0xc) == '\0') {\n          if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n          }\n          else {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n          }\n        }\n        goto LAB_00033920;\n      }" { (if_statement "if (*(char *)(param_3 + 0xc) == '\0') {\n          if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n          }\n          else {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n          }\n        }" if (parenthesized_expression "(*(char *)(param_3 + 0xc) == '\0')" ( (binary_expression "*(char *)(param_3 + 0xc) == '\0'" (pointer_expression "*(char *)(param_3 + 0xc)" * (cast_expression "(char *)(param_3 + 0xc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n          }\n          else {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n          }\n        }" { (if_statement "if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n          }\n          else {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n          }" if (parenthesized_expression "((*(byte *)(param_4 + 0x29) & 8) == 0)" ( (binary_expression "(*(byte *)(param_4 + 0x29) & 8) == 0" (parenthesized_expression "(*(byte *)(param_4 + 0x29) & 8)" ( (binary_expression "*(byte *)(param_4 + 0x29) & 8" (pointer_expression "*(byte *)(param_4 + 0x29)" * (cast_expression "(byte *)(param_4 + 0x29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x29)" ( (binary_expression "param_4 + 0x29" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n          }" { (expression_statement "*(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;" (assignment_expression "*(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1" (pointer_expression "*(byte *)(param_3 + 0xd)" * (cast_expression "(byte *)(param_3 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xd)" ( (binary_expression "param_3 + 0xd" identifier + number_literal) )))) = (binary_expression "*(byte *)(param_3 + 0xd) | 1" (pointer_expression "*(byte *)(param_3 + 0xd)" * (cast_expression "(byte *)(param_3 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xd)" ( (binary_expression "param_3 + 0xd" identifier + number_literal) )))) | number_literal)) ;) }) (else_clause "else {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n          }" else (compound_statement "{\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n          }" { (expression_statement "*(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;" (assignment_expression "*(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2" (pointer_expression "*(byte *)(param_3 + 0xd)" * (cast_expression "(byte *)(param_3 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xd)" ( (binary_expression "param_3 + 0xd" identifier + number_literal) )))) = (binary_expression "*(byte *)(param_3 + 0xd) | 2" (pointer_expression "*(byte *)(param_3 + 0xd)" * (cast_expression "(byte *)(param_3 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xd)" ( (binary_expression "param_3 + 0xd" identifier + number_literal) )))) | number_literal)) ;) }))) })) (goto_statement "goto LAB_00033920;" goto statement_identifier ;) })) (if_statement "if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n        *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n        goto LAB_00033914;\n      }" if (parenthesized_expression "((*(byte *)(param_4 + 0x29) & 8) == 0)" ( (binary_expression "(*(byte *)(param_4 + 0x29) & 8) == 0" (parenthesized_expression "(*(byte *)(param_4 + 0x29) & 8)" ( (binary_expression "*(byte *)(param_4 + 0x29) & 8" (pointer_expression "*(byte *)(param_4 + 0x29)" * (cast_expression "(byte *)(param_4 + 0x29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x29)" ( (binary_expression "param_4 + 0x29" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n        *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n        goto LAB_00033914;\n      }" { (expression_statement "*(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;" (assignment_expression "*(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1" (pointer_expression "*(byte *)(param_3 + 0xd)" * (cast_expression "(byte *)(param_3 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xd)" ( (binary_expression "param_3 + 0xd" identifier + number_literal) )))) = (binary_expression "*(byte *)(param_3 + 0xd) | 1" (pointer_expression "*(byte *)(param_3 + 0xd)" * (cast_expression "(byte *)(param_3 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xd)" ( (binary_expression "param_3 + 0xd" identifier + number_literal) )))) | number_literal)) ;) (goto_statement "goto LAB_00033914;" goto statement_identifier ;) })) (expression_statement "*(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;" (assignment_expression "*(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2" (pointer_expression "*(byte *)(param_3 + 0xd)" * (cast_expression "(byte *)(param_3 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xd)" ( (binary_expression "param_3 + 0xd" identifier + number_literal) )))) = (binary_expression "*(byte *)(param_3 + 0xd) | 2" (pointer_expression "*(byte *)(param_3 + 0xd)" * (cast_expression "(byte *)(param_3 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xd)" ( (binary_expression "param_3 + 0xd" identifier + number_literal) )))) | number_literal)) ;) }) (else_clause "else {\n      if ((param_7 & 0x1800) != 0) goto LAB_00033920;\n      cVar1 = *(char *)(iVar3 + 0xc);\n      if (param_5 == PTR__bfd_std_section_000bafc4 + 0xa8) {\n        if (((byte)(cVar1 - 1U) < 2) &&\n           ((*(int *)(iVar3 + 0x14) == 0 || ((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)\n            ))) {\n          *(int *)(iVar3 + 0x14) = param_4;\n        }\n      }\n      else {\n        if ((byte)(cVar1 - 3U) < 2) {\n          iVar2 = *(int *)(*(int *)(iVar3 + 0x14) + 0x94);\njoined_r0x00033a9b:\n          if ((iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)) {\n            *(undefined1 *)(iVar3 + 0xc) = 2;\n            *(int *)(iVar3 + 0x14) = iVar2;\n          }\n        }\n        else if (cVar1 == '\x05') {\n          iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94);\n          goto joined_r0x00033a9b;\n        }\n        if ((param_5[0x15] & 0x10) == 0) goto LAB_00033920;\n      }\n      if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\nLAB_00033914:\n        *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 1;\n        goto LAB_00033920;\n      }\n    }" else (compound_statement "{\n      if ((param_7 & 0x1800) != 0) goto LAB_00033920;\n      cVar1 = *(char *)(iVar3 + 0xc);\n      if (param_5 == PTR__bfd_std_section_000bafc4 + 0xa8) {\n        if (((byte)(cVar1 - 1U) < 2) &&\n           ((*(int *)(iVar3 + 0x14) == 0 || ((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)\n            ))) {\n          *(int *)(iVar3 + 0x14) = param_4;\n        }\n      }\n      else {\n        if ((byte)(cVar1 - 3U) < 2) {\n          iVar2 = *(int *)(*(int *)(iVar3 + 0x14) + 0x94);\njoined_r0x00033a9b:\n          if ((iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)) {\n            *(undefined1 *)(iVar3 + 0xc) = 2;\n            *(int *)(iVar3 + 0x14) = iVar2;\n          }\n        }\n        else if (cVar1 == '\x05') {\n          iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94);\n          goto joined_r0x00033a9b;\n        }\n        if ((param_5[0x15] & 0x10) == 0) goto LAB_00033920;\n      }\n      if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\nLAB_00033914:\n        *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 1;\n        goto LAB_00033920;\n      }\n    }" { (if_statement "if ((param_7 & 0x1800) != 0) goto LAB_00033920;" if (parenthesized_expression "((param_7 & 0x1800) != 0)" ( (binary_expression "(param_7 & 0x1800) != 0" (parenthesized_expression "(param_7 & 0x1800)" ( (binary_expression "param_7 & 0x1800" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_00033920;" goto statement_identifier ;)) (expression_statement "cVar1 = *(char *)(iVar3 + 0xc);" (assignment_expression "cVar1 = *(char *)(iVar3 + 0xc)" identifier = (pointer_expression "*(char *)(iVar3 + 0xc)" * (cast_expression "(char *)(iVar3 + 0xc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0xc)" ( (binary_expression "iVar3 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (param_5 == PTR__bfd_std_section_000bafc4 + 0xa8) {\n        if (((byte)(cVar1 - 1U) < 2) &&\n           ((*(int *)(iVar3 + 0x14) == 0 || ((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)\n            ))) {\n          *(int *)(iVar3 + 0x14) = param_4;\n        }\n      }\n      else {\n        if ((byte)(cVar1 - 3U) < 2) {\n          iVar2 = *(int *)(*(int *)(iVar3 + 0x14) + 0x94);\njoined_r0x00033a9b:\n          if ((iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)) {\n            *(undefined1 *)(iVar3 + 0xc) = 2;\n            *(int *)(iVar3 + 0x14) = iVar2;\n          }\n        }\n        else if (cVar1 == '\x05') {\n          iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94);\n          goto joined_r0x00033a9b;\n        }\n        if ((param_5[0x15] & 0x10) == 0) goto LAB_00033920;\n      }" if (parenthesized_expression "(param_5 == PTR__bfd_std_section_000bafc4 + 0xa8)" ( (binary_expression "param_5 == PTR__bfd_std_section_000bafc4 + 0xa8" identifier == (binary_expression "PTR__bfd_std_section_000bafc4 + 0xa8" identifier + number_literal)) )) (compound_statement "{\n        if (((byte)(cVar1 - 1U) < 2) &&\n           ((*(int *)(iVar3 + 0x14) == 0 || ((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)\n            ))) {\n          *(int *)(iVar3 + 0x14) = param_4;\n        }\n      }" { (if_statement "if (((byte)(cVar1 - 1U) < 2) &&\n           ((*(int *)(iVar3 + 0x14) == 0 || ((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)\n            ))) {\n          *(int *)(iVar3 + 0x14) = param_4;\n        }" if (parenthesized_expression "(((byte)(cVar1 - 1U) < 2) &&\n           ((*(int *)(iVar3 + 0x14) == 0 || ((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)\n            )))" ( (binary_expression "((byte)(cVar1 - 1U) < 2) &&\n           ((*(int *)(iVar3 + 0x14) == 0 || ((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)\n            ))" (parenthesized_expression "((byte)(cVar1 - 1U) < 2)" ( (binary_expression "(byte)(cVar1 - 1U) < 2" (call_expression "(byte)(cVar1 - 1U)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(cVar1 - 1U)" ( (binary_expression "cVar1 - 1U" identifier - number_literal) ))) < number_literal) )) && (parenthesized_expression "((*(int *)(iVar3 + 0x14) == 0 || ((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)\n            ))" ( (parenthesized_expression "(*(int *)(iVar3 + 0x14) == 0 || ((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)\n            )" ( (binary_expression "*(int *)(iVar3 + 0x14) == 0 || ((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)" (binary_expression "*(int *)(iVar3 + 0x14) == 0" (pointer_expression "*(int *)(iVar3 + 0x14)" * (cast_expression "(int *)(iVar3 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x14)" ( (binary_expression "iVar3 + 0x14" identifier + number_literal) )))) == number_literal) || (parenthesized_expression "((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)" ( (binary_expression "(*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0" (parenthesized_expression "(*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20)" ( (binary_expression "*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20" (pointer_expression "*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a)" * (cast_expression "(byte *)(*(int *)(iVar3 + 0x14) + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar3 + 0x14) + 0x2a)" ( (binary_expression "*(int *)(iVar3 + 0x14) + 0x2a" (pointer_expression "*(int *)(iVar3 + 0x14)" * (cast_expression "(int *)(iVar3 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x14)" ( (binary_expression "iVar3 + 0x14" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) != number_literal) ))) )) ))) )) (compound_statement "{\n          *(int *)(iVar3 + 0x14) = param_4;\n        }" { (expression_statement "*(int *)(iVar3 + 0x14) = param_4;" (assignment_expression "*(int *)(iVar3 + 0x14) = param_4" (pointer_expression "*(int *)(iVar3 + 0x14)" * (cast_expression "(int *)(iVar3 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x14)" ( (binary_expression "iVar3 + 0x14" identifier + number_literal) )))) = identifier) ;) })) }) (else_clause "else {\n        if ((byte)(cVar1 - 3U) < 2) {\n          iVar2 = *(int *)(*(int *)(iVar3 + 0x14) + 0x94);\njoined_r0x00033a9b:\n          if ((iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)) {\n            *(undefined1 *)(iVar3 + 0xc) = 2;\n            *(int *)(iVar3 + 0x14) = iVar2;\n          }\n        }\n        else if (cVar1 == '\x05') {\n          iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94);\n          goto joined_r0x00033a9b;\n        }\n        if ((param_5[0x15] & 0x10) == 0) goto LAB_00033920;\n      }" else (compound_statement "{\n        if ((byte)(cVar1 - 3U) < 2) {\n          iVar2 = *(int *)(*(int *)(iVar3 + 0x14) + 0x94);\njoined_r0x00033a9b:\n          if ((iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)) {\n            *(undefined1 *)(iVar3 + 0xc) = 2;\n            *(int *)(iVar3 + 0x14) = iVar2;\n          }\n        }\n        else if (cVar1 == '\x05') {\n          iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94);\n          goto joined_r0x00033a9b;\n        }\n        if ((param_5[0x15] & 0x10) == 0) goto LAB_00033920;\n      }" { (if_statement "if ((byte)(cVar1 - 3U) < 2) {\n          iVar2 = *(int *)(*(int *)(iVar3 + 0x14) + 0x94);\njoined_r0x00033a9b:\n          if ((iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)) {\n            *(undefined1 *)(iVar3 + 0xc) = 2;\n            *(int *)(iVar3 + 0x14) = iVar2;\n          }\n        }\n        else if (cVar1 == '\x05') {\n          iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94);\n          goto joined_r0x00033a9b;\n        }" if (parenthesized_expression "((byte)(cVar1 - 3U) < 2)" ( (binary_expression "(byte)(cVar1 - 3U) < 2" (call_expression "(byte)(cVar1 - 3U)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(cVar1 - 3U)" ( (binary_expression "cVar1 - 3U" identifier - number_literal) ))) < number_literal) )) (compound_statement "{\n          iVar2 = *(int *)(*(int *)(iVar3 + 0x14) + 0x94);\njoined_r0x00033a9b:\n          if ((iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)) {\n            *(undefined1 *)(iVar3 + 0xc) = 2;\n            *(int *)(iVar3 + 0x14) = iVar2;\n          }\n        }" { (expression_statement "iVar2 = *(int *)(*(int *)(iVar3 + 0x14) + 0x94);" (assignment_expression "iVar2 = *(int *)(*(int *)(iVar3 + 0x14) + 0x94)" identifier = (pointer_expression "*(int *)(*(int *)(iVar3 + 0x14) + 0x94)" * (cast_expression "(int *)(*(int *)(iVar3 + 0x14) + 0x94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar3 + 0x14) + 0x94)" ( (binary_expression "*(int *)(iVar3 + 0x14) + 0x94" (pointer_expression "*(int *)(iVar3 + 0x14)" * (cast_expression "(int *)(iVar3 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x14)" ( (binary_expression "iVar3 + 0x14" identifier + number_literal) )))) + number_literal) ))))) ;) (labeled_statement "joined_r0x00033a9b:\n          if ((iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)) {\n            *(undefined1 *)(iVar3 + 0xc) = 2;\n            *(int *)(iVar3 + 0x14) = iVar2;\n          }" statement_identifier : (if_statement "if ((iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)) {\n            *(undefined1 *)(iVar3 + 0xc) = 2;\n            *(int *)(iVar3 + 0x14) = iVar2;\n          }" if (parenthesized_expression "((iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0))" ( (binary_expression "(iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)" (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) && (parenthesized_expression "((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)" ( (binary_expression "(*(byte *)(iVar2 + 0x2a) & 0x20) != 0" (parenthesized_expression "(*(byte *)(iVar2 + 0x2a) & 0x20)" ( (binary_expression "*(byte *)(iVar2 + 0x2a) & 0x20" (pointer_expression "*(byte *)(iVar2 + 0x2a)" * (cast_expression "(byte *)(iVar2 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x2a)" ( (binary_expression "iVar2 + 0x2a" identifier + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n            *(undefined1 *)(iVar3 + 0xc) = 2;\n            *(int *)(iVar3 + 0x14) = iVar2;\n          }" { (expression_statement "*(undefined1 *)(iVar3 + 0xc) = 2;" (assignment_expression "*(undefined1 *)(iVar3 + 0xc) = 2" (pointer_expression "*(undefined1 *)(iVar3 + 0xc)" * (cast_expression "(undefined1 *)(iVar3 + 0xc)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0xc)" ( (binary_expression "iVar3 + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(iVar3 + 0x14) = iVar2;" (assignment_expression "*(int *)(iVar3 + 0x14) = iVar2" (pointer_expression "*(int *)(iVar3 + 0x14)" * (cast_expression "(int *)(iVar3 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x14)" ( (binary_expression "iVar3 + 0x14" identifier + number_literal) )))) = identifier) ;) }))) }) (else_clause "else if (cVar1 == '\x05') {\n          iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94);\n          goto joined_r0x00033a9b;\n        }" else (if_statement "if (cVar1 == '\x05') {\n          iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94);\n          goto joined_r0x00033a9b;\n        }" if (parenthesized_expression "(cVar1 == '\x05')" ( (binary_expression "cVar1 == '\x05'" identifier == (char_literal "'\x05'" ' escape_sequence ')) )) (compound_statement "{\n          iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94);\n          goto joined_r0x00033a9b;\n        }" { (expression_statement "iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94);" (assignment_expression "iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94)" identifier = (pointer_expression "*(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94)" * (cast_expression "(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94)" ( (binary_expression "*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94" (pointer_expression "*(int *)(*(int *)(iVar3 + 0x14) + 4)" * (cast_expression "(int *)(*(int *)(iVar3 + 0x14) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar3 + 0x14) + 4)" ( (binary_expression "*(int *)(iVar3 + 0x14) + 4" (pointer_expression "*(int *)(iVar3 + 0x14)" * (cast_expression "(int *)(iVar3 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x14)" ( (binary_expression "iVar3 + 0x14" identifier + number_literal) )))) + number_literal) )))) + number_literal) ))))) ;) (goto_statement "goto joined_r0x00033a9b;" goto statement_identifier ;) })))) (if_statement "if ((param_5[0x15] & 0x10) == 0) goto LAB_00033920;" if (parenthesized_expression "((param_5[0x15] & 0x10) == 0)" ( (binary_expression "(param_5[0x15] & 0x10) == 0" (parenthesized_expression "(param_5[0x15] & 0x10)" ( (binary_expression "param_5[0x15] & 0x10" (subscript_expression "param_5[0x15]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00033920;" goto statement_identifier ;)) }))) (if_statement "if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\nLAB_00033914:\n        *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 1;\n        goto LAB_00033920;\n      }" if (parenthesized_expression "((*(byte *)(param_4 + 0x29) & 8) == 0)" ( (binary_expression "(*(byte *)(param_4 + 0x29) & 8) == 0" (parenthesized_expression "(*(byte *)(param_4 + 0x29) & 8)" ( (binary_expression "*(byte *)(param_4 + 0x29) & 8" (pointer_expression "*(byte *)(param_4 + 0x29)" * (cast_expression "(byte *)(param_4 + 0x29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x29)" ( (binary_expression "param_4 + 0x29" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_00033914:\n        *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 1;\n        goto LAB_00033920;\n      }" { (labeled_statement "LAB_00033914:\n        *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 1;" statement_identifier : (expression_statement "*(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 1;" (assignment_expression "*(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 1" (pointer_expression "*(byte *)(iVar3 + 0xd)" * (cast_expression "(byte *)(iVar3 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0xd)" ( (binary_expression "iVar3 + 0xd" identifier + number_literal) )))) = (binary_expression "*(byte *)(iVar3 + 0xd) | 1" (pointer_expression "*(byte *)(iVar3 + 0xd)" * (cast_expression "(byte *)(iVar3 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0xd)" ( (binary_expression "iVar3 + 0xd" identifier + number_literal) )))) | number_literal)) ;)) (goto_statement "goto LAB_00033920;" goto statement_identifier ;) })) })))) (expression_statement "*(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 2;" (assignment_expression "*(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 2" (pointer_expression "*(byte *)(iVar3 + 0xd)" * (cast_expression "(byte *)(iVar3 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0xd)" ( (binary_expression "iVar3 + 0xd" identifier + number_literal) )))) = (binary_expression "*(byte *)(iVar3 + 0xd) | 2" (pointer_expression "*(byte *)(iVar3 + 0xd)" * (cast_expression "(byte *)(iVar3 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0xd)" ( (binary_expression "iVar3 + 0xd" identifier + number_literal) )))) | number_literal)) ;) }) (else_clause "else {\n    iVar3 = param_2;\n    if (param_4 == 0) goto LAB_000338d8;\nLAB_000338d2:\n    if ((*(byte *)(param_4 + 0x2a) & 0x20) == 0) goto LAB_000338d8;\n  }" else (compound_statement "{\n    iVar3 = param_2;\n    if (param_4 == 0) goto LAB_000338d8;\nLAB_000338d2:\n    if ((*(byte *)(param_4 + 0x2a) & 0x20) == 0) goto LAB_000338d8;\n  }" { (expression_statement "iVar3 = param_2;" (assignment_expression "iVar3 = param_2" identifier = identifier) ;) (if_statement "if (param_4 == 0) goto LAB_000338d8;" if (parenthesized_expression "(param_4 == 0)" ( (binary_expression "param_4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000338d8;" goto statement_identifier ;)) (labeled_statement "LAB_000338d2:\n    if ((*(byte *)(param_4 + 0x2a) & 0x20) == 0) goto LAB_000338d8;" statement_identifier : (if_statement "if ((*(byte *)(param_4 + 0x2a) & 0x20) == 0) goto LAB_000338d8;" if (parenthesized_expression "((*(byte *)(param_4 + 0x2a) & 0x20) == 0)" ( (binary_expression "(*(byte *)(param_4 + 0x2a) & 0x20) == 0" (parenthesized_expression "(*(byte *)(param_4 + 0x2a) & 0x20)" ( (binary_expression "*(byte *)(param_4 + 0x2a) & 0x20" (pointer_expression "*(byte *)(param_4 + 0x2a)" * (cast_expression "(byte *)(param_4 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x2a)" ( (binary_expression "param_4 + 0x2a" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000338d8;" goto statement_identifier ;))) }))) (labeled_statement "LAB_00033920:\n  if ((DAT_000bbb60 == 0) &&\n     ((*(int *)(param_1 + 0x24) == 0 ||\n      (iVar3 = bfd_hash_lookup(*(int *)(param_1 + 0x24),*(undefined4 *)(param_2 + 4),0,0),\n      iVar3 == 0)))) {\n    return 1;\n  }" statement_identifier : (if_statement "if ((DAT_000bbb60 == 0) &&\n     ((*(int *)(param_1 + 0x24) == 0 ||\n      (iVar3 = bfd_hash_lookup(*(int *)(param_1 + 0x24),*(undefined4 *)(param_2 + 4),0,0),\n      iVar3 == 0)))) {\n    return 1;\n  }" if (parenthesized_expression "((DAT_000bbb60 == 0) &&\n     ((*(int *)(param_1 + 0x24) == 0 ||\n      (iVar3 = bfd_hash_lookup(*(int *)(param_1 + 0x24),*(undefined4 *)(param_2 + 4),0,0),\n      iVar3 == 0))))" ( (binary_expression "(DAT_000bbb60 == 0) &&\n     ((*(int *)(param_1 + 0x24) == 0 ||\n      (iVar3 = bfd_hash_lookup(*(int *)(param_1 + 0x24),*(undefined4 *)(param_2 + 4),0,0),\n      iVar3 == 0)))" (parenthesized_expression "(DAT_000bbb60 == 0)" ( (binary_expression "DAT_000bbb60 == 0" identifier == number_literal) )) && (parenthesized_expression "((*(int *)(param_1 + 0x24) == 0 ||\n      (iVar3 = bfd_hash_lookup(*(int *)(param_1 + 0x24),*(undefined4 *)(param_2 + 4),0,0),\n      iVar3 == 0)))" ( (parenthesized_expression "(*(int *)(param_1 + 0x24) == 0 ||\n      (iVar3 = bfd_hash_lookup(*(int *)(param_1 + 0x24),*(undefined4 *)(param_2 + 4),0,0),\n      iVar3 == 0))" ( (binary_expression "*(int *)(param_1 + 0x24) == 0 ||\n      (iVar3 = bfd_hash_lookup(*(int *)(param_1 + 0x24),*(undefined4 *)(param_2 + 4),0,0),\n      iVar3 == 0)" (binary_expression "*(int *)(param_1 + 0x24) == 0" (pointer_expression "*(int *)(param_1 + 0x24)" * (cast_expression "(int *)(param_1 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) == number_literal) || (parenthesized_expression "(iVar3 = bfd_hash_lookup(*(int *)(param_1 + 0x24),*(undefined4 *)(param_2 + 4),0,0),\n      iVar3 == 0)" ( (comma_expression "iVar3 = bfd_hash_lookup(*(int *)(param_1 + 0x24),*(undefined4 *)(param_2 + 4),0,0),\n      iVar3 == 0" (assignment_expression "iVar3 = bfd_hash_lookup(*(int *)(param_1 + 0x24),*(undefined4 *)(param_2 + 4),0,0)" identifier = (call_expression "bfd_hash_lookup(*(int *)(param_1 + 0x24),*(undefined4 *)(param_2 + 4),0,0)" identifier (argument_list "(*(int *)(param_1 + 0x24),*(undefined4 *)(param_2 + 4),0,0)" ( (pointer_expression "*(int *)(param_1 + 0x24)" * (cast_expression "(int *)(param_1 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_2 + 4)" * (cast_expression "(undefined4 *)(param_2 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 4)" ( (binary_expression "param_2 + 4" identifier + number_literal) )))) , number_literal , number_literal )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) ))) )) (compound_statement "{\n    return 1;\n  }" { (return_statement "return 1;" return number_literal ;) }))) (labeled_statement "LAB_0003394d:\n                    \n                    \n  uVar4 = (**(code **)(DAT_000bbb5c + 0x28))();" statement_identifier : (expression_statement "uVar4 = (**(code **)(DAT_000bbb5c + 0x28))();" (assignment_expression "uVar4 = (**(code **)(DAT_000bbb5c + 0x28))()" identifier = (call_expression "(**(code **)(DAT_000bbb5c + 0x28))()" (parenthesized_expression "(**(code **)(DAT_000bbb5c + 0x28))" ( (pointer_expression "**(code **)(DAT_000bbb5c + 0x28)" * (pointer_expression "*(code **)(DAT_000bbb5c + 0x28)" * (cast_expression "(code **)(DAT_000bbb5c + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(DAT_000bbb5c + 0x28)" ( (binary_expression "DAT_000bbb5c + 0x28" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;)) (return_statement "return uVar4;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (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 IDENT ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (binary_expression IDENT + LIT)) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) }))) })) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (binary_expression IDENT + LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) ))) < LIT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) & LIT) )) != LIT) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) ))) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;)) (goto_statement goto statement_identifier ;) })) })))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;))) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT , LIT )))) , (binary_expression IDENT == LIT)) ))) )) ))) )) (compound_statement { (return_statement return LIT ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( )))) ;)) (return_statement return IDENT ;) })))
(function_definition "undefined4\nFUN_00033880(int param_1,int param_2,int param_3,int param_4,undefined *param_5,undefined4 param_6,\n            uint param_7)\n\n{\n  char cVar1;\n  int iVar2;\n  int iVar3;\n  undefined4 uVar4;\n  \n  if (param_2 == 0) goto LAB_0003394d;\n  if (*(char *)(param_2 + 0xc) == '\a') {\n    iVar3 = *(int *)(param_2 + 0x14);\n    if (param_4 != 0) goto LAB_000338d2;\nLAB_000338d8:\n    if ((param_5 == PTR__bfd_std_section_000bafc4 + 0x1f8) || ((param_7 & 0x2000) != 0)) {\n      if (*(char *)(iVar3 + 0xc) == '\0') {\n        if (*(char *)(param_3 + 0xc) == '\0') {\n          if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n          }\n          else {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n          }\n        }\n        goto LAB_00033920;\n      }\n      if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n        *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n        goto LAB_00033914;\n      }\n      *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n    }\n    else {\n      if ((param_7 & 0x1800) != 0) goto LAB_00033920;\n      cVar1 = *(char *)(iVar3 + 0xc);\n      if (param_5 == PTR__bfd_std_section_000bafc4 + 0xa8) {\n        if (((byte)(cVar1 - 1U) < 2) &&\n           ((*(int *)(iVar3 + 0x14) == 0 || ((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)\n            ))) {\n          *(int *)(iVar3 + 0x14) = param_4;\n        }\n      }\n      else {\n        if ((byte)(cVar1 - 3U) < 2) {\n          iVar2 = *(int *)(*(int *)(iVar3 + 0x14) + 0x94);\njoined_r0x00033a9b:\n          if ((iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)) {\n            *(undefined1 *)(iVar3 + 0xc) = 2;\n            *(int *)(iVar3 + 0x14) = iVar2;\n          }\n        }\n        else if (cVar1 == '\x05') {\n          iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94);\n          goto joined_r0x00033a9b;\n        }\n        if ((param_5[0x15] & 0x10) == 0) goto LAB_00033920;\n      }\n      if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\nLAB_00033914:\n        *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 1;\n        goto LAB_00033920;\n      }\n    }\n    *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 2;\n  }\n  else {\n    iVar3 = param_2;\n    if (param_4 == 0) goto LAB_000338d8;\nLAB_000338d2:\n    if ((*(byte *)(param_4 + 0x2a) & 0x20) == 0) goto LAB_000338d8;\n  }\nLAB_00033920:\n  if ((DAT_000bbb60 == 0) &&\n     ((*(int *)(param_1 + 0x24) == 0 ||\n      (iVar3 = bfd_hash_lookup(*(int *)(param_1 + 0x24),*(undefined4 *)(param_2 + 4),0,0),\n      iVar3 == 0)))) {\n    return 1;\n  }\nLAB_0003394d:\n                    \n                    \n  uVar4 = (**(code **)(DAT_000bbb5c + 0x28))();\n  return uVar4;\n}" (type_identifier "undefined4") (function_declarator "FUN_00033880(int param_1,int param_2,int param_3,int param_4,undefined *param_5,undefined4 param_6,\n            uint param_7)" (identifier "FUN_00033880") (parameter_list "(int param_1,int param_2,int param_3,int param_4,undefined *param_5,undefined4 param_6,\n            uint param_7)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) (, ",") (parameter_declaration "int param_4" (primitive_type "int") (identifier "param_4")) (, ",") (parameter_declaration "undefined *param_5" (type_identifier "undefined") (pointer_declarator "*param_5" (* "*") (identifier "param_5"))) (, ",") (parameter_declaration "undefined4 param_6" (type_identifier "undefined4") (identifier "param_6")) (, ",") (parameter_declaration "uint param_7" (type_identifier "uint") (identifier "param_7")) () ")"))) (compound_statement "{\n  char cVar1;\n  int iVar2;\n  int iVar3;\n  undefined4 uVar4;\n  \n  if (param_2 == 0) goto LAB_0003394d;\n  if (*(char *)(param_2 + 0xc) == '\a') {\n    iVar3 = *(int *)(param_2 + 0x14);\n    if (param_4 != 0) goto LAB_000338d2;\nLAB_000338d8:\n    if ((param_5 == PTR__bfd_std_section_000bafc4 + 0x1f8) || ((param_7 & 0x2000) != 0)) {\n      if (*(char *)(iVar3 + 0xc) == '\0') {\n        if (*(char *)(param_3 + 0xc) == '\0') {\n          if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n          }\n          else {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n          }\n        }\n        goto LAB_00033920;\n      }\n      if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n        *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n        goto LAB_00033914;\n      }\n      *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n    }\n    else {\n      if ((param_7 & 0x1800) != 0) goto LAB_00033920;\n      cVar1 = *(char *)(iVar3 + 0xc);\n      if (param_5 == PTR__bfd_std_section_000bafc4 + 0xa8) {\n        if (((byte)(cVar1 - 1U) < 2) &&\n           ((*(int *)(iVar3 + 0x14) == 0 || ((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)\n            ))) {\n          *(int *)(iVar3 + 0x14) = param_4;\n        }\n      }\n      else {\n        if ((byte)(cVar1 - 3U) < 2) {\n          iVar2 = *(int *)(*(int *)(iVar3 + 0x14) + 0x94);\njoined_r0x00033a9b:\n          if ((iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)) {\n            *(undefined1 *)(iVar3 + 0xc) = 2;\n            *(int *)(iVar3 + 0x14) = iVar2;\n          }\n        }\n        else if (cVar1 == '\x05') {\n          iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94);\n          goto joined_r0x00033a9b;\n        }\n        if ((param_5[0x15] & 0x10) == 0) goto LAB_00033920;\n      }\n      if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\nLAB_00033914:\n        *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 1;\n        goto LAB_00033920;\n      }\n    }\n    *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 2;\n  }\n  else {\n    iVar3 = param_2;\n    if (param_4 == 0) goto LAB_000338d8;\nLAB_000338d2:\n    if ((*(byte *)(param_4 + 0x2a) & 0x20) == 0) goto LAB_000338d8;\n  }\nLAB_00033920:\n  if ((DAT_000bbb60 == 0) &&\n     ((*(int *)(param_1 + 0x24) == 0 ||\n      (iVar3 = bfd_hash_lookup(*(int *)(param_1 + 0x24),*(undefined4 *)(param_2 + 4),0,0),\n      iVar3 == 0)))) {\n    return 1;\n  }\nLAB_0003394d:\n                    \n                    \n  uVar4 = (**(code **)(DAT_000bbb5c + 0x28))();\n  return uVar4;\n}" ({ "{") (declaration "char cVar1;" (primitive_type "char") (identifier "cVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "undefined4 uVar4;" (type_identifier "undefined4") (identifier "uVar4") (; ";")) (if_statement "if (param_2 == 0) goto LAB_0003394d;" (if "if") (parenthesized_expression "(param_2 == 0)" (( "(") (binary_expression "param_2 == 0" (identifier "param_2") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0003394d;" (goto "goto") (statement_identifier "LAB_0003394d") (; ";"))) (if_statement "if (*(char *)(param_2 + 0xc) == '\a') {\n    iVar3 = *(int *)(param_2 + 0x14);\n    if (param_4 != 0) goto LAB_000338d2;\nLAB_000338d8:\n    if ((param_5 == PTR__bfd_std_section_000bafc4 + 0x1f8) || ((param_7 & 0x2000) != 0)) {\n      if (*(char *)(iVar3 + 0xc) == '\0') {\n        if (*(char *)(param_3 + 0xc) == '\0') {\n          if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n          }\n          else {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n          }\n        }\n        goto LAB_00033920;\n      }\n      if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n        *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n        goto LAB_00033914;\n      }\n      *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n    }\n    else {\n      if ((param_7 & 0x1800) != 0) goto LAB_00033920;\n      cVar1 = *(char *)(iVar3 + 0xc);\n      if (param_5 == PTR__bfd_std_section_000bafc4 + 0xa8) {\n        if (((byte)(cVar1 - 1U) < 2) &&\n           ((*(int *)(iVar3 + 0x14) == 0 || ((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)\n            ))) {\n          *(int *)(iVar3 + 0x14) = param_4;\n        }\n      }\n      else {\n        if ((byte)(cVar1 - 3U) < 2) {\n          iVar2 = *(int *)(*(int *)(iVar3 + 0x14) + 0x94);\njoined_r0x00033a9b:\n          if ((iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)) {\n            *(undefined1 *)(iVar3 + 0xc) = 2;\n            *(int *)(iVar3 + 0x14) = iVar2;\n          }\n        }\n        else if (cVar1 == '\x05') {\n          iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94);\n          goto joined_r0x00033a9b;\n        }\n        if ((param_5[0x15] & 0x10) == 0) goto LAB_00033920;\n      }\n      if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\nLAB_00033914:\n        *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 1;\n        goto LAB_00033920;\n      }\n    }\n    *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 2;\n  }\n  else {\n    iVar3 = param_2;\n    if (param_4 == 0) goto LAB_000338d8;\nLAB_000338d2:\n    if ((*(byte *)(param_4 + 0x2a) & 0x20) == 0) goto LAB_000338d8;\n  }" (if "if") (parenthesized_expression "(*(char *)(param_2 + 0xc) == '\a')" (( "(") (binary_expression "*(char *)(param_2 + 0xc) == '\a'" (pointer_expression "*(char *)(param_2 + 0xc)" (* "*") (cast_expression "(char *)(param_2 + 0xc)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0xc)" (( "(") (binary_expression "param_2 + 0xc" (identifier "param_2") (+ "+") (number_literal "0xc")) () ")")))) (== "==") (char_literal "'\a'" (' "'") (escape_sequence "\a") (' "'"))) () ")")) (compound_statement "{\n    iVar3 = *(int *)(param_2 + 0x14);\n    if (param_4 != 0) goto LAB_000338d2;\nLAB_000338d8:\n    if ((param_5 == PTR__bfd_std_section_000bafc4 + 0x1f8) || ((param_7 & 0x2000) != 0)) {\n      if (*(char *)(iVar3 + 0xc) == '\0') {\n        if (*(char *)(param_3 + 0xc) == '\0') {\n          if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n          }\n          else {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n          }\n        }\n        goto LAB_00033920;\n      }\n      if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n        *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n        goto LAB_00033914;\n      }\n      *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n    }\n    else {\n      if ((param_7 & 0x1800) != 0) goto LAB_00033920;\n      cVar1 = *(char *)(iVar3 + 0xc);\n      if (param_5 == PTR__bfd_std_section_000bafc4 + 0xa8) {\n        if (((byte)(cVar1 - 1U) < 2) &&\n           ((*(int *)(iVar3 + 0x14) == 0 || ((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)\n            ))) {\n          *(int *)(iVar3 + 0x14) = param_4;\n        }\n      }\n      else {\n        if ((byte)(cVar1 - 3U) < 2) {\n          iVar2 = *(int *)(*(int *)(iVar3 + 0x14) + 0x94);\njoined_r0x00033a9b:\n          if ((iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)) {\n            *(undefined1 *)(iVar3 + 0xc) = 2;\n            *(int *)(iVar3 + 0x14) = iVar2;\n          }\n        }\n        else if (cVar1 == '\x05') {\n          iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94);\n          goto joined_r0x00033a9b;\n        }\n        if ((param_5[0x15] & 0x10) == 0) goto LAB_00033920;\n      }\n      if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\nLAB_00033914:\n        *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 1;\n        goto LAB_00033920;\n      }\n    }\n    *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 2;\n  }" ({ "{") (expression_statement "iVar3 = *(int *)(param_2 + 0x14);" (assignment_expression "iVar3 = *(int *)(param_2 + 0x14)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(param_2 + 0x14)" (* "*") (cast_expression "(int *)(param_2 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x14)" (( "(") (binary_expression "param_2 + 0x14" (identifier "param_2") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (param_4 != 0) goto LAB_000338d2;" (if "if") (parenthesized_expression "(param_4 != 0)" (( "(") (binary_expression "param_4 != 0" (identifier "param_4") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000338d2;" (goto "goto") (statement_identifier "LAB_000338d2") (; ";"))) (labeled_statement "LAB_000338d8:\n    if ((param_5 == PTR__bfd_std_section_000bafc4 + 0x1f8) || ((param_7 & 0x2000) != 0)) {\n      if (*(char *)(iVar3 + 0xc) == '\0') {\n        if (*(char *)(param_3 + 0xc) == '\0') {\n          if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n          }\n          else {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n          }\n        }\n        goto LAB_00033920;\n      }\n      if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n        *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n        goto LAB_00033914;\n      }\n      *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n    }\n    else {\n      if ((param_7 & 0x1800) != 0) goto LAB_00033920;\n      cVar1 = *(char *)(iVar3 + 0xc);\n      if (param_5 == PTR__bfd_std_section_000bafc4 + 0xa8) {\n        if (((byte)(cVar1 - 1U) < 2) &&\n           ((*(int *)(iVar3 + 0x14) == 0 || ((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)\n            ))) {\n          *(int *)(iVar3 + 0x14) = param_4;\n        }\n      }\n      else {\n        if ((byte)(cVar1 - 3U) < 2) {\n          iVar2 = *(int *)(*(int *)(iVar3 + 0x14) + 0x94);\njoined_r0x00033a9b:\n          if ((iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)) {\n            *(undefined1 *)(iVar3 + 0xc) = 2;\n            *(int *)(iVar3 + 0x14) = iVar2;\n          }\n        }\n        else if (cVar1 == '\x05') {\n          iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94);\n          goto joined_r0x00033a9b;\n        }\n        if ((param_5[0x15] & 0x10) == 0) goto LAB_00033920;\n      }\n      if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\nLAB_00033914:\n        *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 1;\n        goto LAB_00033920;\n      }\n    }" (statement_identifier "LAB_000338d8") (: ":") (if_statement "if ((param_5 == PTR__bfd_std_section_000bafc4 + 0x1f8) || ((param_7 & 0x2000) != 0)) {\n      if (*(char *)(iVar3 + 0xc) == '\0') {\n        if (*(char *)(param_3 + 0xc) == '\0') {\n          if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n          }\n          else {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n          }\n        }\n        goto LAB_00033920;\n      }\n      if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n        *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n        goto LAB_00033914;\n      }\n      *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n    }\n    else {\n      if ((param_7 & 0x1800) != 0) goto LAB_00033920;\n      cVar1 = *(char *)(iVar3 + 0xc);\n      if (param_5 == PTR__bfd_std_section_000bafc4 + 0xa8) {\n        if (((byte)(cVar1 - 1U) < 2) &&\n           ((*(int *)(iVar3 + 0x14) == 0 || ((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)\n            ))) {\n          *(int *)(iVar3 + 0x14) = param_4;\n        }\n      }\n      else {\n        if ((byte)(cVar1 - 3U) < 2) {\n          iVar2 = *(int *)(*(int *)(iVar3 + 0x14) + 0x94);\njoined_r0x00033a9b:\n          if ((iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)) {\n            *(undefined1 *)(iVar3 + 0xc) = 2;\n            *(int *)(iVar3 + 0x14) = iVar2;\n          }\n        }\n        else if (cVar1 == '\x05') {\n          iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94);\n          goto joined_r0x00033a9b;\n        }\n        if ((param_5[0x15] & 0x10) == 0) goto LAB_00033920;\n      }\n      if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\nLAB_00033914:\n        *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 1;\n        goto LAB_00033920;\n      }\n    }" (if "if") (parenthesized_expression "((param_5 == PTR__bfd_std_section_000bafc4 + 0x1f8) || ((param_7 & 0x2000) != 0))" (( "(") (binary_expression "(param_5 == PTR__bfd_std_section_000bafc4 + 0x1f8) || ((param_7 & 0x2000) != 0)" (parenthesized_expression "(param_5 == PTR__bfd_std_section_000bafc4 + 0x1f8)" (( "(") (binary_expression "param_5 == PTR__bfd_std_section_000bafc4 + 0x1f8" (identifier "param_5") (== "==") (binary_expression "PTR__bfd_std_section_000bafc4 + 0x1f8" (identifier "PTR__bfd_std_section_000bafc4") (+ "+") (number_literal "0x1f8"))) () ")")) (|| "||") (parenthesized_expression "((param_7 & 0x2000) != 0)" (( "(") (binary_expression "(param_7 & 0x2000) != 0" (parenthesized_expression "(param_7 & 0x2000)" (( "(") (binary_expression "param_7 & 0x2000" (identifier "param_7") (& "&") (number_literal "0x2000")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n      if (*(char *)(iVar3 + 0xc) == '\0') {\n        if (*(char *)(param_3 + 0xc) == '\0') {\n          if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n          }\n          else {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n          }\n        }\n        goto LAB_00033920;\n      }\n      if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n        *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n        goto LAB_00033914;\n      }\n      *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n    }" ({ "{") (if_statement "if (*(char *)(iVar3 + 0xc) == '\0') {\n        if (*(char *)(param_3 + 0xc) == '\0') {\n          if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n          }\n          else {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n          }\n        }\n        goto LAB_00033920;\n      }" (if "if") (parenthesized_expression "(*(char *)(iVar3 + 0xc) == '\0')" (( "(") (binary_expression "*(char *)(iVar3 + 0xc) == '\0'" (pointer_expression "*(char *)(iVar3 + 0xc)" (* "*") (cast_expression "(char *)(iVar3 + 0xc)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0xc)" (( "(") (binary_expression "iVar3 + 0xc" (identifier "iVar3") (+ "+") (number_literal "0xc")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        if (*(char *)(param_3 + 0xc) == '\0') {\n          if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n          }\n          else {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n          }\n        }\n        goto LAB_00033920;\n      }" ({ "{") (if_statement "if (*(char *)(param_3 + 0xc) == '\0') {\n          if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n          }\n          else {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n          }\n        }" (if "if") (parenthesized_expression "(*(char *)(param_3 + 0xc) == '\0')" (( "(") (binary_expression "*(char *)(param_3 + 0xc) == '\0'" (pointer_expression "*(char *)(param_3 + 0xc)" (* "*") (cast_expression "(char *)(param_3 + 0xc)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0xc)" (( "(") (binary_expression "param_3 + 0xc" (identifier "param_3") (+ "+") (number_literal "0xc")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n          }\n          else {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n          }\n        }" ({ "{") (if_statement "if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n          }\n          else {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n          }" (if "if") (parenthesized_expression "((*(byte *)(param_4 + 0x29) & 8) == 0)" (( "(") (binary_expression "(*(byte *)(param_4 + 0x29) & 8) == 0" (parenthesized_expression "(*(byte *)(param_4 + 0x29) & 8)" (( "(") (binary_expression "*(byte *)(param_4 + 0x29) & 8" (pointer_expression "*(byte *)(param_4 + 0x29)" (* "*") (cast_expression "(byte *)(param_4 + 0x29)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x29)" (( "(") (binary_expression "param_4 + 0x29" (identifier "param_4") (+ "+") (number_literal "0x29")) () ")")))) (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n          }" ({ "{") (expression_statement "*(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;" (assignment_expression "*(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1" (pointer_expression "*(byte *)(param_3 + 0xd)" (* "*") (cast_expression "(byte *)(param_3 + 0xd)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0xd)" (( "(") (binary_expression "param_3 + 0xd" (identifier "param_3") (+ "+") (number_literal "0xd")) () ")")))) (= "=") (binary_expression "*(byte *)(param_3 + 0xd) | 1" (pointer_expression "*(byte *)(param_3 + 0xd)" (* "*") (cast_expression "(byte *)(param_3 + 0xd)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0xd)" (( "(") (binary_expression "param_3 + 0xd" (identifier "param_3") (+ "+") (number_literal "0xd")) () ")")))) (| "|") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else {\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n          }" (else "else") (compound_statement "{\n            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;\n          }" ({ "{") (expression_statement "*(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;" (assignment_expression "*(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2" (pointer_expression "*(byte *)(param_3 + 0xd)" (* "*") (cast_expression "(byte *)(param_3 + 0xd)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0xd)" (( "(") (binary_expression "param_3 + 0xd" (identifier "param_3") (+ "+") (number_literal "0xd")) () ")")))) (= "=") (binary_expression "*(byte *)(param_3 + 0xd) | 2" (pointer_expression "*(byte *)(param_3 + 0xd)" (* "*") (cast_expression "(byte *)(param_3 + 0xd)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0xd)" (( "(") (binary_expression "param_3 + 0xd" (identifier "param_3") (+ "+") (number_literal "0xd")) () ")")))) (| "|") (number_literal "2"))) (; ";")) (} "}")))) (} "}"))) (goto_statement "goto LAB_00033920;" (goto "goto") (statement_identifier "LAB_00033920") (; ";")) (} "}"))) (if_statement "if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\n        *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n        goto LAB_00033914;\n      }" (if "if") (parenthesized_expression "((*(byte *)(param_4 + 0x29) & 8) == 0)" (( "(") (binary_expression "(*(byte *)(param_4 + 0x29) & 8) == 0" (parenthesized_expression "(*(byte *)(param_4 + 0x29) & 8)" (( "(") (binary_expression "*(byte *)(param_4 + 0x29) & 8" (pointer_expression "*(byte *)(param_4 + 0x29)" (* "*") (cast_expression "(byte *)(param_4 + 0x29)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x29)" (( "(") (binary_expression "param_4 + 0x29" (identifier "param_4") (+ "+") (number_literal "0x29")) () ")")))) (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;\n        goto LAB_00033914;\n      }" ({ "{") (expression_statement "*(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;" (assignment_expression "*(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1" (pointer_expression "*(byte *)(param_3 + 0xd)" (* "*") (cast_expression "(byte *)(param_3 + 0xd)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0xd)" (( "(") (binary_expression "param_3 + 0xd" (identifier "param_3") (+ "+") (number_literal "0xd")) () ")")))) (= "=") (binary_expression "*(byte *)(param_3 + 0xd) | 1" (pointer_expression "*(byte *)(param_3 + 0xd)" (* "*") (cast_expression "(byte *)(param_3 + 0xd)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0xd)" (( "(") (binary_expression "param_3 + 0xd" (identifier "param_3") (+ "+") (number_literal "0xd")) () ")")))) (| "|") (number_literal "1"))) (; ";")) (goto_statement "goto LAB_00033914;" (goto "goto") (statement_identifier "LAB_00033914") (; ";")) (} "}"))) (expression_statement "*(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;" (assignment_expression "*(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2" (pointer_expression "*(byte *)(param_3 + 0xd)" (* "*") (cast_expression "(byte *)(param_3 + 0xd)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0xd)" (( "(") (binary_expression "param_3 + 0xd" (identifier "param_3") (+ "+") (number_literal "0xd")) () ")")))) (= "=") (binary_expression "*(byte *)(param_3 + 0xd) | 2" (pointer_expression "*(byte *)(param_3 + 0xd)" (* "*") (cast_expression "(byte *)(param_3 + 0xd)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0xd)" (( "(") (binary_expression "param_3 + 0xd" (identifier "param_3") (+ "+") (number_literal "0xd")) () ")")))) (| "|") (number_literal "2"))) (; ";")) (} "}")) (else_clause "else {\n      if ((param_7 & 0x1800) != 0) goto LAB_00033920;\n      cVar1 = *(char *)(iVar3 + 0xc);\n      if (param_5 == PTR__bfd_std_section_000bafc4 + 0xa8) {\n        if (((byte)(cVar1 - 1U) < 2) &&\n           ((*(int *)(iVar3 + 0x14) == 0 || ((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)\n            ))) {\n          *(int *)(iVar3 + 0x14) = param_4;\n        }\n      }\n      else {\n        if ((byte)(cVar1 - 3U) < 2) {\n          iVar2 = *(int *)(*(int *)(iVar3 + 0x14) + 0x94);\njoined_r0x00033a9b:\n          if ((iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)) {\n            *(undefined1 *)(iVar3 + 0xc) = 2;\n            *(int *)(iVar3 + 0x14) = iVar2;\n          }\n        }\n        else if (cVar1 == '\x05') {\n          iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94);\n          goto joined_r0x00033a9b;\n        }\n        if ((param_5[0x15] & 0x10) == 0) goto LAB_00033920;\n      }\n      if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\nLAB_00033914:\n        *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 1;\n        goto LAB_00033920;\n      }\n    }" (else "else") (compound_statement "{\n      if ((param_7 & 0x1800) != 0) goto LAB_00033920;\n      cVar1 = *(char *)(iVar3 + 0xc);\n      if (param_5 == PTR__bfd_std_section_000bafc4 + 0xa8) {\n        if (((byte)(cVar1 - 1U) < 2) &&\n           ((*(int *)(iVar3 + 0x14) == 0 || ((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)\n            ))) {\n          *(int *)(iVar3 + 0x14) = param_4;\n        }\n      }\n      else {\n        if ((byte)(cVar1 - 3U) < 2) {\n          iVar2 = *(int *)(*(int *)(iVar3 + 0x14) + 0x94);\njoined_r0x00033a9b:\n          if ((iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)) {\n            *(undefined1 *)(iVar3 + 0xc) = 2;\n            *(int *)(iVar3 + 0x14) = iVar2;\n          }\n        }\n        else if (cVar1 == '\x05') {\n          iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94);\n          goto joined_r0x00033a9b;\n        }\n        if ((param_5[0x15] & 0x10) == 0) goto LAB_00033920;\n      }\n      if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\nLAB_00033914:\n        *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 1;\n        goto LAB_00033920;\n      }\n    }" ({ "{") (if_statement "if ((param_7 & 0x1800) != 0) goto LAB_00033920;" (if "if") (parenthesized_expression "((param_7 & 0x1800) != 0)" (( "(") (binary_expression "(param_7 & 0x1800) != 0" (parenthesized_expression "(param_7 & 0x1800)" (( "(") (binary_expression "param_7 & 0x1800" (identifier "param_7") (& "&") (number_literal "0x1800")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00033920;" (goto "goto") (statement_identifier "LAB_00033920") (; ";"))) (expression_statement "cVar1 = *(char *)(iVar3 + 0xc);" (assignment_expression "cVar1 = *(char *)(iVar3 + 0xc)" (identifier "cVar1") (= "=") (pointer_expression "*(char *)(iVar3 + 0xc)" (* "*") (cast_expression "(char *)(iVar3 + 0xc)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0xc)" (( "(") (binary_expression "iVar3 + 0xc" (identifier "iVar3") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (param_5 == PTR__bfd_std_section_000bafc4 + 0xa8) {\n        if (((byte)(cVar1 - 1U) < 2) &&\n           ((*(int *)(iVar3 + 0x14) == 0 || ((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)\n            ))) {\n          *(int *)(iVar3 + 0x14) = param_4;\n        }\n      }\n      else {\n        if ((byte)(cVar1 - 3U) < 2) {\n          iVar2 = *(int *)(*(int *)(iVar3 + 0x14) + 0x94);\njoined_r0x00033a9b:\n          if ((iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)) {\n            *(undefined1 *)(iVar3 + 0xc) = 2;\n            *(int *)(iVar3 + 0x14) = iVar2;\n          }\n        }\n        else if (cVar1 == '\x05') {\n          iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94);\n          goto joined_r0x00033a9b;\n        }\n        if ((param_5[0x15] & 0x10) == 0) goto LAB_00033920;\n      }" (if "if") (parenthesized_expression "(param_5 == PTR__bfd_std_section_000bafc4 + 0xa8)" (( "(") (binary_expression "param_5 == PTR__bfd_std_section_000bafc4 + 0xa8" (identifier "param_5") (== "==") (binary_expression "PTR__bfd_std_section_000bafc4 + 0xa8" (identifier "PTR__bfd_std_section_000bafc4") (+ "+") (number_literal "0xa8"))) () ")")) (compound_statement "{\n        if (((byte)(cVar1 - 1U) < 2) &&\n           ((*(int *)(iVar3 + 0x14) == 0 || ((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)\n            ))) {\n          *(int *)(iVar3 + 0x14) = param_4;\n        }\n      }" ({ "{") (if_statement "if (((byte)(cVar1 - 1U) < 2) &&\n           ((*(int *)(iVar3 + 0x14) == 0 || ((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)\n            ))) {\n          *(int *)(iVar3 + 0x14) = param_4;\n        }" (if "if") (parenthesized_expression "(((byte)(cVar1 - 1U) < 2) &&\n           ((*(int *)(iVar3 + 0x14) == 0 || ((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)\n            )))" (( "(") (binary_expression "((byte)(cVar1 - 1U) < 2) &&\n           ((*(int *)(iVar3 + 0x14) == 0 || ((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)\n            ))" (parenthesized_expression "((byte)(cVar1 - 1U) < 2)" (( "(") (binary_expression "(byte)(cVar1 - 1U) < 2" (call_expression "(byte)(cVar1 - 1U)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(cVar1 - 1U)" (( "(") (binary_expression "cVar1 - 1U" (identifier "cVar1") (- "-") (number_literal "1U")) () ")"))) (< "<") (number_literal "2")) () ")")) (&& "&&") (parenthesized_expression "((*(int *)(iVar3 + 0x14) == 0 || ((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)\n            ))" (( "(") (parenthesized_expression "(*(int *)(iVar3 + 0x14) == 0 || ((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)\n            )" (( "(") (binary_expression "*(int *)(iVar3 + 0x14) == 0 || ((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)" (binary_expression "*(int *)(iVar3 + 0x14) == 0" (pointer_expression "*(int *)(iVar3 + 0x14)" (* "*") (cast_expression "(int *)(iVar3 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x14)" (( "(") (binary_expression "iVar3 + 0x14" (identifier "iVar3") (+ "+") (number_literal "0x14")) () ")")))) (== "==") (number_literal "0")) (|| "||") (parenthesized_expression "((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)" (( "(") (binary_expression "(*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0" (parenthesized_expression "(*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20)" (( "(") (binary_expression "*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20" (pointer_expression "*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a)" (* "*") (cast_expression "(byte *)(*(int *)(iVar3 + 0x14) + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar3 + 0x14) + 0x2a)" (( "(") (binary_expression "*(int *)(iVar3 + 0x14) + 0x2a" (pointer_expression "*(int *)(iVar3 + 0x14)" (* "*") (cast_expression "(int *)(iVar3 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x14)" (( "(") (binary_expression "iVar3 + 0x14" (identifier "iVar3") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n          *(int *)(iVar3 + 0x14) = param_4;\n        }" ({ "{") (expression_statement "*(int *)(iVar3 + 0x14) = param_4;" (assignment_expression "*(int *)(iVar3 + 0x14) = param_4" (pointer_expression "*(int *)(iVar3 + 0x14)" (* "*") (cast_expression "(int *)(iVar3 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x14)" (( "(") (binary_expression "iVar3 + 0x14" (identifier "iVar3") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (identifier "param_4")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        if ((byte)(cVar1 - 3U) < 2) {\n          iVar2 = *(int *)(*(int *)(iVar3 + 0x14) + 0x94);\njoined_r0x00033a9b:\n          if ((iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)) {\n            *(undefined1 *)(iVar3 + 0xc) = 2;\n            *(int *)(iVar3 + 0x14) = iVar2;\n          }\n        }\n        else if (cVar1 == '\x05') {\n          iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94);\n          goto joined_r0x00033a9b;\n        }\n        if ((param_5[0x15] & 0x10) == 0) goto LAB_00033920;\n      }" (else "else") (compound_statement "{\n        if ((byte)(cVar1 - 3U) < 2) {\n          iVar2 = *(int *)(*(int *)(iVar3 + 0x14) + 0x94);\njoined_r0x00033a9b:\n          if ((iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)) {\n            *(undefined1 *)(iVar3 + 0xc) = 2;\n            *(int *)(iVar3 + 0x14) = iVar2;\n          }\n        }\n        else if (cVar1 == '\x05') {\n          iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94);\n          goto joined_r0x00033a9b;\n        }\n        if ((param_5[0x15] & 0x10) == 0) goto LAB_00033920;\n      }" ({ "{") (if_statement "if ((byte)(cVar1 - 3U) < 2) {\n          iVar2 = *(int *)(*(int *)(iVar3 + 0x14) + 0x94);\njoined_r0x00033a9b:\n          if ((iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)) {\n            *(undefined1 *)(iVar3 + 0xc) = 2;\n            *(int *)(iVar3 + 0x14) = iVar2;\n          }\n        }\n        else if (cVar1 == '\x05') {\n          iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94);\n          goto joined_r0x00033a9b;\n        }" (if "if") (parenthesized_expression "((byte)(cVar1 - 3U) < 2)" (( "(") (binary_expression "(byte)(cVar1 - 3U) < 2" (call_expression "(byte)(cVar1 - 3U)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(cVar1 - 3U)" (( "(") (binary_expression "cVar1 - 3U" (identifier "cVar1") (- "-") (number_literal "3U")) () ")"))) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n          iVar2 = *(int *)(*(int *)(iVar3 + 0x14) + 0x94);\njoined_r0x00033a9b:\n          if ((iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)) {\n            *(undefined1 *)(iVar3 + 0xc) = 2;\n            *(int *)(iVar3 + 0x14) = iVar2;\n          }\n        }" ({ "{") (expression_statement "iVar2 = *(int *)(*(int *)(iVar3 + 0x14) + 0x94);" (assignment_expression "iVar2 = *(int *)(*(int *)(iVar3 + 0x14) + 0x94)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(*(int *)(iVar3 + 0x14) + 0x94)" (* "*") (cast_expression "(int *)(*(int *)(iVar3 + 0x14) + 0x94)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar3 + 0x14) + 0x94)" (( "(") (binary_expression "*(int *)(iVar3 + 0x14) + 0x94" (pointer_expression "*(int *)(iVar3 + 0x14)" (* "*") (cast_expression "(int *)(iVar3 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x14)" (( "(") (binary_expression "iVar3 + 0x14" (identifier "iVar3") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (number_literal "0x94")) () ")"))))) (; ";")) (labeled_statement "joined_r0x00033a9b:\n          if ((iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)) {\n            *(undefined1 *)(iVar3 + 0xc) = 2;\n            *(int *)(iVar3 + 0x14) = iVar2;\n          }" (statement_identifier "joined_r0x00033a9b") (: ":") (if_statement "if ((iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)) {\n            *(undefined1 *)(iVar3 + 0xc) = 2;\n            *(int *)(iVar3 + 0x14) = iVar2;\n          }" (if "if") (parenthesized_expression "((iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0))" (( "(") (binary_expression "(iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)" (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)" (( "(") (binary_expression "(*(byte *)(iVar2 + 0x2a) & 0x20) != 0" (parenthesized_expression "(*(byte *)(iVar2 + 0x2a) & 0x20)" (( "(") (binary_expression "*(byte *)(iVar2 + 0x2a) & 0x20" (pointer_expression "*(byte *)(iVar2 + 0x2a)" (* "*") (cast_expression "(byte *)(iVar2 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x2a)" (( "(") (binary_expression "iVar2 + 0x2a" (identifier "iVar2") (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n            *(undefined1 *)(iVar3 + 0xc) = 2;\n            *(int *)(iVar3 + 0x14) = iVar2;\n          }" ({ "{") (expression_statement "*(undefined1 *)(iVar3 + 0xc) = 2;" (assignment_expression "*(undefined1 *)(iVar3 + 0xc) = 2" (pointer_expression "*(undefined1 *)(iVar3 + 0xc)" (* "*") (cast_expression "(undefined1 *)(iVar3 + 0xc)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0xc)" (( "(") (binary_expression "iVar3 + 0xc" (identifier "iVar3") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (number_literal "2")) (; ";")) (expression_statement "*(int *)(iVar3 + 0x14) = iVar2;" (assignment_expression "*(int *)(iVar3 + 0x14) = iVar2" (pointer_expression "*(int *)(iVar3 + 0x14)" (* "*") (cast_expression "(int *)(iVar3 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x14)" (( "(") (binary_expression "iVar3 + 0x14" (identifier "iVar3") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (identifier "iVar2")) (; ";")) (} "}")))) (} "}")) (else_clause "else if (cVar1 == '\x05') {\n          iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94);\n          goto joined_r0x00033a9b;\n        }" (else "else") (if_statement "if (cVar1 == '\x05') {\n          iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94);\n          goto joined_r0x00033a9b;\n        }" (if "if") (parenthesized_expression "(cVar1 == '\x05')" (( "(") (binary_expression "cVar1 == '\x05'" (identifier "cVar1") (== "==") (char_literal "'\x05'" (' "'") (escape_sequence "\x05") (' "'"))) () ")")) (compound_statement "{\n          iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94);\n          goto joined_r0x00033a9b;\n        }" ({ "{") (expression_statement "iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94);" (assignment_expression "iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94)" (* "*") (cast_expression "(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94)" (( "(") (binary_expression "*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94" (pointer_expression "*(int *)(*(int *)(iVar3 + 0x14) + 4)" (* "*") (cast_expression "(int *)(*(int *)(iVar3 + 0x14) + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar3 + 0x14) + 4)" (( "(") (binary_expression "*(int *)(iVar3 + 0x14) + 4" (pointer_expression "*(int *)(iVar3 + 0x14)" (* "*") (cast_expression "(int *)(iVar3 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x14)" (( "(") (binary_expression "iVar3 + 0x14" (identifier "iVar3") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "0x94")) () ")"))))) (; ";")) (goto_statement "goto joined_r0x00033a9b;" (goto "goto") (statement_identifier "joined_r0x00033a9b") (; ";")) (} "}"))))) (if_statement "if ((param_5[0x15] & 0x10) == 0) goto LAB_00033920;" (if "if") (parenthesized_expression "((param_5[0x15] & 0x10) == 0)" (( "(") (binary_expression "(param_5[0x15] & 0x10) == 0" (parenthesized_expression "(param_5[0x15] & 0x10)" (( "(") (binary_expression "param_5[0x15] & 0x10" (subscript_expression "param_5[0x15]" (identifier "param_5") ([ "[") (number_literal "0x15") (] "]")) (& "&") (number_literal "0x10")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00033920;" (goto "goto") (statement_identifier "LAB_00033920") (; ";"))) (} "}")))) (if_statement "if ((*(byte *)(param_4 + 0x29) & 8) == 0) {\nLAB_00033914:\n        *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 1;\n        goto LAB_00033920;\n      }" (if "if") (parenthesized_expression "((*(byte *)(param_4 + 0x29) & 8) == 0)" (( "(") (binary_expression "(*(byte *)(param_4 + 0x29) & 8) == 0" (parenthesized_expression "(*(byte *)(param_4 + 0x29) & 8)" (( "(") (binary_expression "*(byte *)(param_4 + 0x29) & 8" (pointer_expression "*(byte *)(param_4 + 0x29)" (* "*") (cast_expression "(byte *)(param_4 + 0x29)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x29)" (( "(") (binary_expression "param_4 + 0x29" (identifier "param_4") (+ "+") (number_literal "0x29")) () ")")))) (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00033914:\n        *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 1;\n        goto LAB_00033920;\n      }" ({ "{") (labeled_statement "LAB_00033914:\n        *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 1;" (statement_identifier "LAB_00033914") (: ":") (expression_statement "*(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 1;" (assignment_expression "*(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 1" (pointer_expression "*(byte *)(iVar3 + 0xd)" (* "*") (cast_expression "(byte *)(iVar3 + 0xd)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0xd)" (( "(") (binary_expression "iVar3 + 0xd" (identifier "iVar3") (+ "+") (number_literal "0xd")) () ")")))) (= "=") (binary_expression "*(byte *)(iVar3 + 0xd) | 1" (pointer_expression "*(byte *)(iVar3 + 0xd)" (* "*") (cast_expression "(byte *)(iVar3 + 0xd)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0xd)" (( "(") (binary_expression "iVar3 + 0xd" (identifier "iVar3") (+ "+") (number_literal "0xd")) () ")")))) (| "|") (number_literal "1"))) (; ";"))) (goto_statement "goto LAB_00033920;" (goto "goto") (statement_identifier "LAB_00033920") (; ";")) (} "}"))) (} "}"))))) (expression_statement "*(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 2;" (assignment_expression "*(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 2" (pointer_expression "*(byte *)(iVar3 + 0xd)" (* "*") (cast_expression "(byte *)(iVar3 + 0xd)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0xd)" (( "(") (binary_expression "iVar3 + 0xd" (identifier "iVar3") (+ "+") (number_literal "0xd")) () ")")))) (= "=") (binary_expression "*(byte *)(iVar3 + 0xd) | 2" (pointer_expression "*(byte *)(iVar3 + 0xd)" (* "*") (cast_expression "(byte *)(iVar3 + 0xd)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0xd)" (( "(") (binary_expression "iVar3 + 0xd" (identifier "iVar3") (+ "+") (number_literal "0xd")) () ")")))) (| "|") (number_literal "2"))) (; ";")) (} "}")) (else_clause "else {\n    iVar3 = param_2;\n    if (param_4 == 0) goto LAB_000338d8;\nLAB_000338d2:\n    if ((*(byte *)(param_4 + 0x2a) & 0x20) == 0) goto LAB_000338d8;\n  }" (else "else") (compound_statement "{\n    iVar3 = param_2;\n    if (param_4 == 0) goto LAB_000338d8;\nLAB_000338d2:\n    if ((*(byte *)(param_4 + 0x2a) & 0x20) == 0) goto LAB_000338d8;\n  }" ({ "{") (expression_statement "iVar3 = param_2;" (assignment_expression "iVar3 = param_2" (identifier "iVar3") (= "=") (identifier "param_2")) (; ";")) (if_statement "if (param_4 == 0) goto LAB_000338d8;" (if "if") (parenthesized_expression "(param_4 == 0)" (( "(") (binary_expression "param_4 == 0" (identifier "param_4") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000338d8;" (goto "goto") (statement_identifier "LAB_000338d8") (; ";"))) (labeled_statement "LAB_000338d2:\n    if ((*(byte *)(param_4 + 0x2a) & 0x20) == 0) goto LAB_000338d8;" (statement_identifier "LAB_000338d2") (: ":") (if_statement "if ((*(byte *)(param_4 + 0x2a) & 0x20) == 0) goto LAB_000338d8;" (if "if") (parenthesized_expression "((*(byte *)(param_4 + 0x2a) & 0x20) == 0)" (( "(") (binary_expression "(*(byte *)(param_4 + 0x2a) & 0x20) == 0" (parenthesized_expression "(*(byte *)(param_4 + 0x2a) & 0x20)" (( "(") (binary_expression "*(byte *)(param_4 + 0x2a) & 0x20" (pointer_expression "*(byte *)(param_4 + 0x2a)" (* "*") (cast_expression "(byte *)(param_4 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x2a)" (( "(") (binary_expression "param_4 + 0x2a" (identifier "param_4") (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000338d8;" (goto "goto") (statement_identifier "LAB_000338d8") (; ";")))) (} "}")))) (labeled_statement "LAB_00033920:\n  if ((DAT_000bbb60 == 0) &&\n     ((*(int *)(param_1 + 0x24) == 0 ||\n      (iVar3 = bfd_hash_lookup(*(int *)(param_1 + 0x24),*(undefined4 *)(param_2 + 4),0,0),\n      iVar3 == 0)))) {\n    return 1;\n  }" (statement_identifier "LAB_00033920") (: ":") (if_statement "if ((DAT_000bbb60 == 0) &&\n     ((*(int *)(param_1 + 0x24) == 0 ||\n      (iVar3 = bfd_hash_lookup(*(int *)(param_1 + 0x24),*(undefined4 *)(param_2 + 4),0,0),\n      iVar3 == 0)))) {\n    return 1;\n  }" (if "if") (parenthesized_expression "((DAT_000bbb60 == 0) &&\n     ((*(int *)(param_1 + 0x24) == 0 ||\n      (iVar3 = bfd_hash_lookup(*(int *)(param_1 + 0x24),*(undefined4 *)(param_2 + 4),0,0),\n      iVar3 == 0))))" (( "(") (binary_expression "(DAT_000bbb60 == 0) &&\n     ((*(int *)(param_1 + 0x24) == 0 ||\n      (iVar3 = bfd_hash_lookup(*(int *)(param_1 + 0x24),*(undefined4 *)(param_2 + 4),0,0),\n      iVar3 == 0)))" (parenthesized_expression "(DAT_000bbb60 == 0)" (( "(") (binary_expression "DAT_000bbb60 == 0" (identifier "DAT_000bbb60") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((*(int *)(param_1 + 0x24) == 0 ||\n      (iVar3 = bfd_hash_lookup(*(int *)(param_1 + 0x24),*(undefined4 *)(param_2 + 4),0,0),\n      iVar3 == 0)))" (( "(") (parenthesized_expression "(*(int *)(param_1 + 0x24) == 0 ||\n      (iVar3 = bfd_hash_lookup(*(int *)(param_1 + 0x24),*(undefined4 *)(param_2 + 4),0,0),\n      iVar3 == 0))" (( "(") (binary_expression "*(int *)(param_1 + 0x24) == 0 ||\n      (iVar3 = bfd_hash_lookup(*(int *)(param_1 + 0x24),*(undefined4 *)(param_2 + 4),0,0),\n      iVar3 == 0)" (binary_expression "*(int *)(param_1 + 0x24) == 0" (pointer_expression "*(int *)(param_1 + 0x24)" (* "*") (cast_expression "(int *)(param_1 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x24)" (( "(") (binary_expression "param_1 + 0x24" (identifier "param_1") (+ "+") (number_literal "0x24")) () ")")))) (== "==") (number_literal "0")) (|| "||") (parenthesized_expression "(iVar3 = bfd_hash_lookup(*(int *)(param_1 + 0x24),*(undefined4 *)(param_2 + 4),0,0),\n      iVar3 == 0)" (( "(") (comma_expression "iVar3 = bfd_hash_lookup(*(int *)(param_1 + 0x24),*(undefined4 *)(param_2 + 4),0,0),\n      iVar3 == 0" (assignment_expression "iVar3 = bfd_hash_lookup(*(int *)(param_1 + 0x24),*(undefined4 *)(param_2 + 4),0,0)" (identifier "iVar3") (= "=") (call_expression "bfd_hash_lookup(*(int *)(param_1 + 0x24),*(undefined4 *)(param_2 + 4),0,0)" (identifier "bfd_hash_lookup") (argument_list "(*(int *)(param_1 + 0x24),*(undefined4 *)(param_2 + 4),0,0)" (( "(") (pointer_expression "*(int *)(param_1 + 0x24)" (* "*") (cast_expression "(int *)(param_1 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x24)" (( "(") (binary_expression "param_1 + 0x24" (identifier "param_1") (+ "+") (number_literal "0x24")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(param_2 + 4)" (* "*") (cast_expression "(undefined4 *)(param_2 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 4)" (( "(") (binary_expression "param_2 + 4" (identifier "param_2") (+ "+") (number_literal "4")) () ")")))) (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (, ",") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n    return 1;\n  }" ({ "{") (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}")))) (labeled_statement "LAB_0003394d:\n                    \n                    \n  uVar4 = (**(code **)(DAT_000bbb5c + 0x28))();" (statement_identifier "LAB_0003394d") (: ":") (expression_statement "uVar4 = (**(code **)(DAT_000bbb5c + 0x28))();" (assignment_expression "uVar4 = (**(code **)(DAT_000bbb5c + 0x28))()" (identifier "uVar4") (= "=") (call_expression "(**(code **)(DAT_000bbb5c + 0x28))()" (parenthesized_expression "(**(code **)(DAT_000bbb5c + 0x28))" (( "(") (pointer_expression "**(code **)(DAT_000bbb5c + 0x28)" (* "*") (pointer_expression "*(code **)(DAT_000bbb5c + 0x28)" (* "*") (cast_expression "(code **)(DAT_000bbb5c + 0x28)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(DAT_000bbb5c + 0x28)" (( "(") (binary_expression "DAT_000bbb5c + 0x28" (identifier "DAT_000bbb5c") (+ "+") (number_literal "0x28")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";"))) (return_statement "return uVar4;" (return "return") (identifier "uVar4") (; ";")) (} "}")))

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

type_1
function_1(type_2 *info,type_3 *var_1,type_3 *inh,type_4 *var_2,
             type_5 *var_3,type_6 value,type_7 var_5)

{
  type_8 *puVar1;
  char var_6;
  type_4 *var_7;
  type_4 *pbVar4;
  int var_10;
  type_1 bVar6;
  
  if (var_1 == (type_3 *)0x0) goto LAB_0003394d;
  if (var_1->field_0xc == '\a') {
    pbVar4 = (var_1->u).undef.var_2;
    if (var_2 != (type_4 *)0x0) goto LAB_000338d2;
LAB_000338d8:
    if ((var_3 == (type_5 *)(var_4 + 0x1f8)) || ((var_5 & 0x2000) != 0))
    {
      if (*(char *)&pbVar4->iovec == '\0') {
        if (inh->field_0xc == '\0') {
          if ((var_2->field_0x29 & 8) == 0) {
            inh->field_0xd = inh->field_0xd | 1;
          }
          else {
            inh->field_0xd = inh->field_0xd | 2;
          }
        }
        goto LAB_00033920;
      }
      if ((var_2->field_0x29 & 8) == 0) {
        inh->field_0xd = inh->field_0xd | 1;
        goto LAB_00033914;
      }
      inh->field_0xd = inh->field_0xd | 2;
    }
    else {
      if ((var_5 & 0x1800) != 0) goto LAB_00033920;
      var_6 = *(char *)&pbVar4->iovec;
      if (var_3 == (type_5 *)(var_4 + 0xa8)) {
        if (((byte)(var_6 - 1U) < 2) &&
           ((pbVar4->lru_next == (type_4 *)0x0 || (((&pbVar4->lru_next->field_0x28)[2] & 0x20) != 0))))
        {
          pbVar4->lru_next = var_2;
        }
      }
      else {
        if ((byte)(var_6 - 3U) < 2) {
          var_7 = pbVar4->lru_next->nested_archives;
joined_r0x00033a9b:
          if ((var_7 != (type_4 *)0x0) && ((var_7->field_0x2a & 0x20) != 0)) {
            *(type_8 *)&pbVar4->iovec = 2;
            pbVar4->lru_next = var_7;
          }
        }
        else if (var_6 == '\x05') {
          var_7 = (type_4 *)pbVar4->lru_next->xvec->_close_and_cleanup;
          goto joined_r0x00033a9b;
        }
        if ((var_3->var_5 & 0x1000) == 0) goto LAB_00033920;
      }
      if ((var_2->field_0x29 & 8) == 0) {
LAB_00033914:
        puVar1 = (type_8 *)((int)&pbVar4->iovec + 1);
        *puVar1 = *puVar1 | 1;
        goto LAB_00033920;
      }
    }
    puVar1 = (type_8 *)((int)&pbVar4->iovec + 1);
    *puVar1 = *puVar1 | 2;
  }
  else {
    pbVar4 = (type_4 *)var_1;
    if (var_2 == (type_4 *)0x0) goto LAB_000338d8;
LAB_000338d2:
    if ((var_2->field_0x2a & 0x20) == 0) goto LAB_000338d8;
  }
LAB_00033920:
  if ((var_8 == 0) &&
     ((info->notice_hash == (type_9 *)0x0 ||
      (var_10 = var_9(info->notice_hash,(var_1->root).string,0,0), var_10 == 0)))) {
    return 1;
  }
LAB_0003394d:
                    /* WARNING: Could not recover jumptable at 0x00033985. Too many branches */
                    /* WARNING: Treating indirect jump as call */
  bVar6 = (*orig_callbacks->notice)(info,var_1,inh,var_2,var_3,value,var_5);
  return bVar6;
}


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

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

undefined4
MASKED(int param_1,int param_2,int param_3,int param_4,undefined *param_5,undefined4 param_6,
            uint param_7)

{
  char cVar1;
  int iVar2;
  int iVar3;
  undefined4 uVar4;
  
  if (param_2 == 0) goto LAB_0003394d;
  if (*(char *)(param_2 + 0xc) == '\a') {
    iVar3 = *(int *)(param_2 + 0x14);
    if (param_4 != 0) goto LAB_000338d2;
LAB_000338d8:
    if ((param_5 == PTR__bfd_std_section_000bafc4 + 0x1f8) || ((param_7 & 0x2000) != 0)) {
      if (*(char *)(iVar3 + 0xc) == '\0') {
        if (*(char *)(param_3 + 0xc) == '\0') {
          if ((*(byte *)(param_4 + 0x29) & 8) == 0) {
            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;
          }
          else {
            *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;
          }
        }
        goto LAB_00033920;
      }
      if ((*(byte *)(param_4 + 0x29) & 8) == 0) {
        *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 1;
        goto LAB_00033914;
      }
      *(byte *)(param_3 + 0xd) = *(byte *)(param_3 + 0xd) | 2;
    }
    else {
      if ((param_7 & 0x1800) != 0) goto LAB_00033920;
      cVar1 = *(char *)(iVar3 + 0xc);
      if (param_5 == PTR__bfd_std_section_000bafc4 + 0xa8) {
        if (((byte)(cVar1 - 1U) < 2) &&
           ((*(int *)(iVar3 + 0x14) == 0 || ((*(byte *)(*(int *)(iVar3 + 0x14) + 0x2a) & 0x20) != 0)
            ))) {
          *(int *)(iVar3 + 0x14) = param_4;
        }
      }
      else {
        if ((byte)(cVar1 - 3U) < 2) {
          iVar2 = *(int *)(*(int *)(iVar3 + 0x14) + 0x94);
joined_r0x00033a9b:
          if ((iVar2 != 0) && ((*(byte *)(iVar2 + 0x2a) & 0x20) != 0)) {
            *(undefined1 *)(iVar3 + 0xc) = 2;
            *(int *)(iVar3 + 0x14) = iVar2;
          }
        }
        else if (cVar1 == '\x05') {
          iVar2 = *(int *)(*(int *)(*(int *)(iVar3 + 0x14) + 4) + 0x94);
          goto joined_r0x00033a9b;
        }
        if ((param_5[0x15] & 0x10) == 0) goto LAB_00033920;
      }
      if ((*(byte *)(param_4 + 0x29) & 8) == 0) {
LAB_00033914:
        *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 1;
        goto LAB_00033920;
      }
    }
    *(byte *)(iVar3 + 0xd) = *(byte *)(iVar3 + 0xd) | 2;
  }
  else {
    iVar3 = param_2;
    if (param_4 == 0) goto LAB_000338d8;
LAB_000338d2:
    if ((*(byte *)(param_4 + 0x2a) & 0x20) == 0) goto LAB_000338d8;
  }
LAB_00033920:
  if ((DAT_000bbb60 == 0) &&
     ((*(int *)(param_1 + 0x24) == 0 ||
      (iVar3 = bfd_hash_lookup(*(int *)(param_1 + 0x24),*(undefined4 *)(param_2 + 4),0,0),
      iVar3 == 0)))) {
    return 1;
  }
LAB_0003394d:
                    /* WARNING: Could not recover jumptable at 0x00033985. Too many branches */
                    /* WARNING: Treating indirect jump as call */
  uVar4 = (**(code **)(DAT_000bbb5c + 0x28))();
  return uVar4;
}

