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

void print_symbol_value_1(FILE *file,symbolS *sym)

{
  symbol_flags sVar1;
  byte bVar2;
  int iVar3;
  segT paVar4;
  symbolS *psVar5;
  asymbol *paVar6;
  symbolS *psVar7;
  valueT vVar8;
  undefined *puVar9;
  
  paVar4 = (segT)sym->bsym;
  if (((uint)sym->sy_flags & 1) == 0) {
LAB_0003c086:
    psVar7 = (symbolS *)paVar4->id;
    if (psVar7 == (symbolS *)0x0) goto LAB_0003c073;
LAB_0003c08d:
    if (*(char *)&psVar7->sy_flags == '\0') {
      psVar7 = (symbolS *)"(unnamed)";
    }
  }
  else {
    if (reg_section == paVar4) {
      paVar4 = (segT)((sym->sy_value).X_op_symbol)->bsym;
      goto LAB_0003c086;
    }
    psVar7 = (sym->sy_value).X_add_symbol;
    if (psVar7 != (symbolS *)0x0) goto LAB_0003c08d;
LAB_0003c073:
    psVar7 = (symbolS *)"(unnamed)";
  }
  fwrite(&DAT_00053e44,1,4,(FILE *)file);
  fprintf((FILE *)file,"%016llx",sym,0);
  fprintf((FILE *)file," %s",psVar7);
  bVar2 = *(byte *)&sym->sy_flags;
  psVar7 = sym;
  if (((bVar2 & 1) == 0) || (psVar7 = (sym->sy_value).X_op_symbol, (segT)sym->bsym == reg_section))
  {
    if (psVar7->sy_frag != &zero_address_frag) {
      fwrite(" frag ",1,6,(FILE *)file);
      fprintf((FILE *)file,"%016llx",psVar7->sy_frag,0);
    }
    bVar2 = *(byte *)&psVar7->sy_flags;
    if ((bVar2 & 2) != 0) {
      fwrite(" written",1,8,(FILE *)file);
      bVar2 = *(byte *)&psVar7->sy_flags;
    }
    if ((bVar2 & 4) == 0) {
      if ((bVar2 & 8) != 0) {
        fwrite(" resolving",1,10,(FILE *)file);
        bVar2 = *(byte *)&psVar7->sy_flags;
      }
    }
    else {
      fwrite(" resolved",1,9,(FILE *)file);
      bVar2 = *(byte *)&psVar7->sy_flags;
    }
    if ((bVar2 & 0x10) == 0) {
      if ((bVar2 & 0x20) == 0) goto LAB_0003c1c5;
LAB_0003c35f:
      fwrite(" used",1,5,(FILE *)file);
      iVar3 = S_IS_LOCAL(psVar7);
      if (iVar3 != 0) goto LAB_0003c387;
LAB_0003c1d9:
      iVar3 = S_IS_EXTERNAL(psVar7);
      if (iVar3 == 0) goto LAB_0003c1ed;
LAB_0003c3af:
      fwrite(" extern",1,7,(FILE *)file);
      iVar3 = S_IS_WEAK(psVar7);
    }
    else {
      fwrite(" used-in-reloc",1,0xe,(FILE *)file);
      if (((uint)psVar7->sy_flags & 0x20) != 0) goto LAB_0003c35f;
LAB_0003c1c5:
      iVar3 = S_IS_LOCAL(psVar7);
      if (iVar3 == 0) goto LAB_0003c1d9;
LAB_0003c387:
      fwrite(" local",1,6,(FILE *)file);
      iVar3 = S_IS_EXTERNAL(psVar7);
      if (iVar3 != 0) goto LAB_0003c3af;
LAB_0003c1ed:
      iVar3 = S_IS_WEAK(psVar7);
    }
    if (iVar3 != 0) {
      fwrite(&DAT_00053e92,1,5,(FILE *)file);
    }
    paVar4 = (segT)psVar7->bsym;
    if (((uint)psVar7->sy_flags & 1) == 0) {
      if (((uint)paVar4->prev & 4) != 0) {
LAB_0003c5a0:
        fwrite(" debug",1,6,(FILE *)file);
        paVar4 = (segT)psVar7->bsym;
        if (((uint)psVar7->sy_flags & 1) != 0) {
          if (paVar4 == reg_section) {
            psVar5 = (psVar7->sy_value).X_op_symbol;
            goto LAB_0003c60c;
          }
          goto LAB_0003c2e0;
        }
      }
      if ((undefined *)paVar4->flags != PTR__bfd_std_section_0006efb4 + 0xc0) goto LAB_0003c2f4;
      goto LAB_0003c22c;
    }
    if (reg_section == paVar4) {
      psVar5 = (psVar7->sy_value).X_op_symbol;
      if ((psVar5->bsym->flags & 4) != 0) goto LAB_0003c5a0;
LAB_0003c60c:
      if (psVar5->bsym->section == (bfd_section *)(PTR__bfd_std_section_0006efb4 + 0xc0))
      goto LAB_0003c13e;
LAB_0003c2f4:
      fwrite(" defined",1,8,(FILE *)file);
      goto LAB_0003c13e;
    }
LAB_0003c2e0:
    if (paVar4 != (segT)(PTR__bfd_std_section_0006efb4 + 0xc0)) goto LAB_0003c2f4;
LAB_0003c152:
    if (reg_section == paVar4) {
      if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 2) != 0) {
LAB_0003c430:
        fwrite(" weakrefr",1,9,(FILE *)file);
        if (((uint)psVar7->sy_flags & 1) == 0) goto LAB_0003c236;
        paVar4 = (segT)psVar7->bsym;
        if (reg_section != paVar4) goto LAB_0003c248;
      }
      if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 4) != 0) goto LAB_0003c468;
LAB_0003c572:
      psVar5 = (psVar7->sy_value).X_op_symbol;
      goto LAB_0003c242;
    }
  }
  else {
    if ((psVar7 != (symbolS *)0x0) && (psVar7 != (symbolS *)PTR_zero_address_frag_0006ef70)) {
      fwrite(" frag ",1,6,(FILE *)file);
      fprintf((FILE *)file,"%016llx",(sym->sy_value).X_op_symbol,0);
      bVar2 = *(byte *)&sym->sy_flags;
    }
    if ((bVar2 & 4) != 0) {
      fwrite(" resolved",1,9,(FILE *)file);
    }
    fwrite(" local",1,6,(FILE *)file);
    psVar7 = sym;
LAB_0003c13e:
    if (((uint)psVar7->sy_flags & 1) != 0) {
      paVar4 = (segT)psVar7->bsym;
      goto LAB_0003c152;
    }
LAB_0003c22c:
    if (((psVar7->sy_flags).field_0x1 & 2) != 0) goto LAB_0003c430;
LAB_0003c236:
    psVar5 = psVar7;
    if (((psVar7->sy_flags).field_0x1 & 4) != 0) {
LAB_0003c468:
      fwrite(" weakrefd",1,9,(FILE *)file);
      psVar5 = psVar7;
      if (((uint)psVar7->sy_flags & 1) != 0) {
        paVar4 = (segT)psVar7->bsym;
        if (reg_section == paVar4) goto LAB_0003c572;
        goto LAB_0003c248;
      }
    }
LAB_0003c242:
    paVar4 = psVar5->bsym->section;
  }
LAB_0003c248:
  fprintf((FILE *)file," %s",paVar4->name);
  sVar1 = psVar7->sy_flags;
  if (((uint)sVar1 & 1) == 0) {
    psVar5 = psVar7;
    if (((uint)sVar1 & 4) != 0) {
LAB_0003c316:
      paVar4 = psVar5->bsym->section;
LAB_0003c283:
      if ((paVar4 != (segT)(PTR__bfd_std_section_0006efb4 + 0xc0)) && (expr_section != paVar4)) {
        vVar8 = S_GET_VALUE(psVar7);
        fprintf((FILE *)file," %lx",(int)vVar8);
      }
      goto LAB_0003c2b7;
    }
    if (7 < indent_level) goto LAB_0003c2b7;
    paVar6 = psVar7->bsym;
LAB_0003c338:
    paVar4 = paVar6->section;
  }
  else {
    paVar4 = (segT)psVar7->bsym;
    if (paVar4 == reg_section) {
      psVar5 = (psVar7->sy_value).X_op_symbol;
      if (((uint)psVar5->sy_flags & 4) != 0) goto LAB_0003c316;
      if (7 < indent_level) goto LAB_0003c2b7;
      paVar6 = psVar5->bsym;
      goto LAB_0003c338;
    }
    if (((uint)sVar1 & 4) != 0) goto LAB_0003c283;
    if (7 < indent_level) goto LAB_0003c2b7;
  }
  if (paVar4 == (segT)(PTR__bfd_std_section_0006efb4 + 0xc0)) goto LAB_0003c2b7;
  indent_level = indent_level + 1;
  puVar9 = &DAT_00050b45;
  fprintf((FILE *)file,"\n%*s<",indent_level * 4,&DAT_00050b45);
  if (((uint)psVar7->sy_flags & 1) == 0) {
LAB_0003c633:
    print_expr_1(file,&psVar7->sy_value);
  }
  else {
    if ((segT)psVar7->bsym == reg_section) {
      psVar7 = (psVar7->sy_value).X_op_symbol;
      goto LAB_0003c633;
    }
    fprintf((FILE *)file,"constant %lx",(int)(psVar7->sy_value).X_add_number,puVar9);
  }
  fputc(0x3e,(FILE *)file);
  indent_level = indent_level + -1;
LAB_0003c2b7:
  fflush((FILE *)file);
  return;
}



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

void FUN_0003c040(FILE *param_1,byte *param_2)

{
  byte bVar1;
  int iVar2;
  undefined4 *puVar3;
  undefined4 uVar4;
  byte *pbVar5;
  byte *pbVar6;
  char *pcVar7;
  undefined *puVar8;
  
  puVar3 = *(undefined4 **)(param_2 + 4);
  if ((*param_2 & 1) == 0) {
LAB_0003c086:
    pcVar7 = (char *)puVar3[1];
    if (pcVar7 == (char *)0x0) goto LAB_0003c073;
LAB_0003c08d:
    if (*pcVar7 == '\0') {
      pcVar7 = "(unnamed)";
    }
  }
  else {
    if (DAT_00077d90 == puVar3) {
      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);
      goto LAB_0003c086;
    }
    pcVar7 = *(char **)(param_2 + 8);
    if (pcVar7 != (char *)0x0) goto LAB_0003c08d;
LAB_0003c073:
    pcVar7 = "(unnamed)";
  }
  fwrite(&DAT_00053e44,1,4,param_1);
  fprintf(param_1,"%016llx",param_2,0);
  fprintf(param_1," %s",pcVar7);
  bVar1 = *param_2;
  pbVar6 = param_2;
  if (((bVar1 & 1) == 0) ||
     (pbVar6 = *(byte **)(param_2 + 0xc), *(undefined4 **)(param_2 + 4) == DAT_00077d90)) {
    if (*(undefined **)(pbVar6 + 0x24) != &DAT_00077d20) {
      fwrite(" frag ",1,6,param_1);
      fprintf(param_1,"%016llx",*(undefined4 *)(pbVar6 + 0x24),0);
    }
    bVar1 = *pbVar6;
    if ((bVar1 & 2) != 0) {
      fwrite(" written",1,8,param_1);
      bVar1 = *pbVar6;
    }
    if ((bVar1 & 4) == 0) {
      if ((bVar1 & 8) != 0) {
        fwrite(" resolving",1,10,param_1);
        bVar1 = *pbVar6;
      }
    }
    else {
      fwrite(" resolved",1,9,param_1);
      bVar1 = *pbVar6;
    }
    if ((bVar1 & 0x10) == 0) {
      if ((bVar1 & 0x20) == 0) goto LAB_0003c1c5;
LAB_0003c35f:
      fwrite(" used",1,5,param_1);
      iVar2 = FUN_00038380(pbVar6);
      if (iVar2 != 0) goto LAB_0003c387;
LAB_0003c1d9:
      iVar2 = FUN_000380a0(pbVar6);
      if (iVar2 == 0) goto LAB_0003c1ed;
LAB_0003c3af:
      fwrite(" extern",1,7,param_1);
      iVar2 = FUN_00038110(pbVar6);
    }
    else {
      fwrite(" used-in-reloc",1,0xe,param_1);
      if ((*pbVar6 & 0x20) != 0) goto LAB_0003c35f;
LAB_0003c1c5:
      iVar2 = FUN_00038380(pbVar6);
      if (iVar2 == 0) goto LAB_0003c1d9;
LAB_0003c387:
      fwrite(" local",1,6,param_1);
      iVar2 = FUN_000380a0(pbVar6);
      if (iVar2 != 0) goto LAB_0003c3af;
LAB_0003c1ed:
      iVar2 = FUN_00038110(pbVar6);
    }
    if (iVar2 != 0) {
      fwrite(" weak",1,5,param_1);
    }
    puVar3 = *(undefined4 **)(pbVar6 + 4);
    if ((*pbVar6 & 1) == 0) {
      if ((*(byte *)(puVar3 + 4) & 4) != 0) {
LAB_0003c5a0:
        fwrite(" debug",1,6,param_1);
        puVar3 = *(undefined4 **)(pbVar6 + 4);
        if ((*pbVar6 & 1) != 0) {
          if (puVar3 == DAT_00077d90) {
            iVar2 = *(int *)(pbVar6 + 0xc);
            goto LAB_0003c60c;
          }
          goto LAB_0003c2e0;
        }
      }
      if ((undefined *)puVar3[5] != PTR__bfd_std_section_0006efb4 + 0xc0) goto LAB_0003c2f4;
      goto LAB_0003c22c;
    }
    if (DAT_00077d90 == puVar3) {
      iVar2 = *(int *)(pbVar6 + 0xc);
      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003c5a0;
LAB_0003c60c:
      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0006efb4 + 0xc0)
      goto LAB_0003c13e;
LAB_0003c2f4:
      fwrite(" defined",1,8,param_1);
      goto LAB_0003c13e;
    }
LAB_0003c2e0:
    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) goto LAB_0003c2f4;
LAB_0003c152:
    if (DAT_00077d90 == puVar3) {
      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {
LAB_0003c430:
        fwrite(" weakrefr",1,9,param_1);
        if ((*pbVar6 & 1) == 0) goto LAB_0003c236;
        puVar3 = *(undefined4 **)(pbVar6 + 4);
        if (DAT_00077d90 != puVar3) goto LAB_0003c248;
      }
      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c468;
LAB_0003c572:
      pbVar5 = *(byte **)(pbVar6 + 0xc);
      goto LAB_0003c242;
    }
  }
  else {
    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_0006ef70)) {
      fwrite(" frag ",1,6,param_1);
      fprintf(param_1,"%016llx",*(undefined4 *)(param_2 + 0xc),0);
      bVar1 = *param_2;
    }
    if ((bVar1 & 4) != 0) {
      fwrite(" resolved",1,9,param_1);
    }
    fwrite(" local",1,6,param_1);
    pbVar6 = param_2;
LAB_0003c13e:
    if ((*pbVar6 & 1) != 0) {
      puVar3 = *(undefined4 **)(pbVar6 + 4);
      goto LAB_0003c152;
    }
LAB_0003c22c:
    if ((pbVar6[1] & 2) != 0) goto LAB_0003c430;
LAB_0003c236:
    pbVar5 = pbVar6;
    if ((pbVar6[1] & 4) != 0) {
LAB_0003c468:
      fwrite(" weakrefd",1,9,param_1);
      pbVar5 = pbVar6;
      if ((*pbVar6 & 1) != 0) {
        puVar3 = *(undefined4 **)(pbVar6 + 4);
        if (DAT_00077d90 == puVar3) goto LAB_0003c572;
        goto LAB_0003c248;
      }
    }
LAB_0003c242:
    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);
  }
LAB_0003c248:
  fprintf(param_1," %s",*puVar3);
  bVar1 = *pbVar6;
  if ((bVar1 & 1) == 0) {
    pbVar5 = pbVar6;
    if ((bVar1 & 4) != 0) {
LAB_0003c316:
      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);
LAB_0003c283:
      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) &&
         (DAT_00077ce0 != puVar3)) {
        uVar4 = FUN_00039db0();
        fprintf(param_1," %lx",uVar4);
      }
      goto LAB_0003c2b7;
    }
    if (7 < DAT_00077fcc) goto LAB_0003c2b7;
    iVar2 = *(int *)(pbVar6 + 4);
LAB_0003c338:
    puVar3 = *(undefined4 **)(iVar2 + 0x14);
  }
  else {
    puVar3 = *(undefined4 **)(pbVar6 + 4);
    if (puVar3 == DAT_00077d90) {
      pbVar5 = *(byte **)(pbVar6 + 0xc);
      if ((*pbVar5 & 4) != 0) goto LAB_0003c316;
      if (7 < DAT_00077fcc) goto LAB_0003c2b7;
      iVar2 = *(int *)(pbVar5 + 4);
      goto LAB_0003c338;
    }
    if ((bVar1 & 4) != 0) goto LAB_0003c283;
    if (7 < DAT_00077fcc) goto LAB_0003c2b7;
  }
  if (puVar3 == (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) goto LAB_0003c2b7;
  DAT_00077fcc = DAT_00077fcc + 1;
  puVar8 = &DAT_00050b45;
  fprintf(param_1,"\n%*s<",DAT_00077fcc * 4,&DAT_00050b45);
  if ((*pbVar6 & 1) == 0) {
LAB_0003c633:
    FUN_0003bba0(param_1,pbVar6 + 8);
  }
  else {
    if (*(undefined4 **)(pbVar6 + 4) == DAT_00077d90) {
      pbVar6 = *(byte **)(pbVar6 + 0xc);
      goto LAB_0003c633;
    }
    fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);
  }
  fputc(0x3e,param_1);
  DAT_00077fcc = DAT_00077fcc + -1;
LAB_0003c2b7:
  fflush(param_1);
  return;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00016090
ADD EBX,0x32fb7
SUB ESP,0x1c
MOV ESI,dword ptr [ESP + 0x34]
MOV EBP,dword ptr [ESP + 0x30]
MOV EAX,dword ptr [ESI + 0x4]
TEST byte ptr [ESI],0x1
JZ 0x0003c086
LEA EDX,[EBX + 0x8d90]
CMP dword ptr [EDX],EAX
JZ 0x0003c080
MOV EDI,dword ptr [ESI + 0x8]
TEST EDI,EDI
JNZ 0x0003c08d
LEA EDI,[EBX + 0xfffe4e3a]
JMP 0x0003c099
MOV EAX,dword ptr [ESI + 0xc]
MOV EAX,dword ptr [EAX + 0x4]
MOV EDI,dword ptr [EAX + 0x4]
TEST EDI,EDI
JZ 0x0003c073
CMP byte ptr [EDI],0x0
LEA EAX,[EBX + 0xfffe4e3a]
CMOVZ EDI,EAX
LEA EAX,[EBX + 0xfffe4e44]
PUSH EBP
PUSH 0x4
PUSH 0x1
PUSH EAX
CALL 0x000142e0
XOR EDX,EDX
LEA EAX,[EBX + 0xfffe2dd3]
PUSH EDX
PUSH ESI
MOV dword ptr [ESP + 0x24],EAX
PUSH EAX
PUSH EBP
CALL 0x00014490
ADD ESP,0x1c
PUSH EDI
LEA EDI,[EBX + 0xfffe2d47]
PUSH EDI
PUSH EBP
CALL 0x00014490
MOVZX EAX,byte ptr [ESI]
ADD ESP,0x10
TEST AL,0x1
JZ 0x0003c16a
LEA EDX,[EBX + 0x8d90]
MOV ECX,dword ptr [ESI + 0xc]
MOV EDX,dword ptr [EDX]
CMP dword ptr [ESI + 0x4],EDX
JZ 0x0003c168
TEST ECX,ECX
JZ 0x0003c122
CMP ECX,dword ptr [EBX + 0xffffff70]
JZ 0x0003c122
LEA EAX,[EBX + 0xfffe4e49]
PUSH EBP
PUSH 0x6
PUSH 0x1
PUSH EAX
CALL 0x000142e0
MOV EAX,dword ptr [ESI + 0xc]
XOR EDX,EDX
PUSH EDX
PUSH EAX
PUSH dword ptr [ESP + 0x24]
PUSH EBP
CALL 0x00014490
MOVZX EAX,byte ptr [ESI]
ADD ESP,0x20
TEST AL,0x4
JNZ 0x0003c580
LEA EAX,[EBX + 0xfffe4e5a]
PUSH EBP
PUSH 0x6
PUSH 0x1
PUSH EAX
CALL 0x000142e0
ADD ESP,0x10
TEST byte ptr [ESI],0x1
JZ 0x0003c22c
LEA EDX,[EBX + 0x8d90]
MOV EAX,dword ptr [ESI + 0x4]
MOV EDX,dword ptr [EDX]
CMP EDX,EAX
JZ 0x0003c558
MOV EDX,ESI
JMP 0x0003c248
MOV ESI,ECX
LEA EAX,[EBX + 0x8d20]
CMP dword ptr [ESI + 0x24],EAX
JZ 0x0003c19a
LEA EAX,[EBX + 0xfffe4e49]
PUSH EBP
PUSH 0x6
PUSH 0x1
PUSH EAX
CALL 0x000142e0
MOV EAX,dword ptr [ESI + 0x24]
XOR EDX,EDX
PUSH EDX
PUSH EAX
PUSH dword ptr [ESP + 0x24]
PUSH EBP
CALL 0x00014490
ADD ESP,0x20
MOVZX EAX,byte ptr [ESI]
TEST AL,0x2
JNZ 0x0003c410
TEST AL,0x4
JNZ 0x0003c3f0
TEST AL,0x8
JNZ 0x0003c538
TEST AL,0x10
JNZ 0x0003c340
TEST AL,0x20
JNZ 0x0003c35f
SUB ESP,0xc
PUSH ESI
CALL 0x00038380
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0003c387
SUB ESP,0xc
PUSH ESI
CALL 0x000380a0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0003c3af
SUB ESP,0xc
PUSH ESI
CALL 0x00038110
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0003c3d7
MOV EAX,dword ptr [ESI + 0x4]
TEST byte ptr [ESI],0x1
JNZ 0x0003c2d0
TEST byte ptr [EAX + 0x10],0x4
JNZ 0x0003c5a0
MOV EDX,dword ptr [EBX + 0xffffffb4]
ADD EDX,0xc0
CMP dword ptr [EAX + 0x14],EDX
JNZ 0x0003c2f4
TEST byte ptr [ESI + 0x1],0x2
JNZ 0x0003c430
MOV EDX,ESI
TEST byte ptr [ESI + 0x1],0x4
JNZ 0x0003c468
MOV EAX,dword ptr [ESI + 0x4]
MOV EAX,dword ptr [EAX + 0x14]
MOV dword ptr [ESP + 0xc],EDX
SUB ESP,0x4
PUSH dword ptr [EAX]
PUSH EDI
PUSH EBP
CALL 0x00014490
MOV EDX,dword ptr [ESP + 0x1c]
ADD ESP,0x10
MOVZX EAX,byte ptr [EDX]
TEST AL,0x1
JZ 0x0003c310
LEA ESI,[EBX + 0x8d90]
MOV ECX,dword ptr [EDX + 0x4]
CMP ECX,dword ptr [ESI]
JZ 0x0003c5d8
TEST AL,0x4
JZ 0x0003c4a0
MOV EAX,dword ptr [EBX + 0xffffffb4]
ADD EAX,0xc0
CMP ECX,EAX
JZ 0x0003c2b7
LEA EAX,[EBX + 0x8ce0]
CMP dword ptr [EAX],ECX
JZ 0x0003c2b7
MOV EAX,EDX
CALL 0x00039db0
SUB ESP,0x4
PUSH EAX
LEA EAX,[EBX + 0xfffe4d77]
PUSH EAX
PUSH EBP
CALL 0x00014490
ADD ESP,0x10
SUB ESP,0xc
PUSH EBP
CALL 0x000140e0
ADD ESP,0x2c
POP EBX
POP ESI
POP EDI
POP EBP
RET
LEA EDX,[EBX + 0x8d90]
MOV EDX,dword ptr [EDX]
CMP EDX,EAX
JZ 0x0003c600
MOV ECX,dword ptr [EBX + 0xffffffb4]
ADD ECX,0xc0
CMP EAX,ECX
JZ 0x0003c152
LEA EAX,[EBX + 0xfffe4e9f]
PUSH EBP
PUSH 0x8
PUSH 0x1
PUSH EAX
CALL 0x000142e0
ADD ESP,0x10
JMP 0x0003c13e
TEST AL,0x4
JZ 0x0003c328
MOV ECX,EDX
MOV EAX,dword ptr [ECX + 0x4]
MOV ECX,dword ptr [EAX + 0x14]
JMP 0x0003c283
LEA ESI,[EBX + 0x8fcc]
MOV EAX,dword ptr [ESI]
CMP EAX,0x7
JG 0x0003c2b7
MOV ECX,dword ptr [EDX + 0x4]
MOV ECX,dword ptr [ECX + 0x14]
JMP 0x0003c4b1
LEA EAX,[EBX + 0xfffe4e75]
PUSH EBP
PUSH 0xe
PUSH 0x1
PUSH EAX
CALL 0x000142e0
MOVZX EAX,byte ptr [ESI]
ADD ESP,0x10
TEST AL,0x20
JZ 0x0003c1c5
LEA EAX,[EBX + 0xfffe4e84]
PUSH EBP
PUSH 0x5
PUSH 0x1
PUSH EAX
CALL 0x000142e0
ADD ESP,0x10
SUB ESP,0xc
PUSH ESI
CALL 0x00038380
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0003c1d9
LEA EAX,[EBX + 0xfffe4e5a]
PUSH EBP
PUSH 0x6
PUSH 0x1
PUSH EAX
CALL 0x000142e0
ADD ESP,0x10
SUB ESP,0xc
PUSH ESI
CALL 0x000380a0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0003c1ed
LEA EAX,[EBX + 0xfffe4e8a]
PUSH EBP
PUSH 0x7
PUSH 0x1
PUSH EAX
CALL 0x000142e0
ADD ESP,0x10
SUB ESP,0xc
PUSH ESI
CALL 0x00038110
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0003c201
LEA EAX,[EBX + 0xfffe4e92]
PUSH EBP
PUSH 0x5
PUSH 0x1
PUSH EAX
CALL 0x000142e0
ADD ESP,0x10
JMP 0x0003c201
LEA EAX,[EBX + 0xfffe4e50]
PUSH EBP
PUSH 0x9
PUSH 0x1
PUSH EAX
CALL 0x000142e0
MOVZX EAX,byte ptr [ESI]
ADD ESP,0x10
JMP 0x0003c1b5
LEA EAX,[EBX + 0xfffe4e61]
PUSH EBP
PUSH 0x8
PUSH 0x1
PUSH EAX
CALL 0x000142e0
MOVZX EAX,byte ptr [ESI]
ADD ESP,0x10
JMP 0x0003c1a5
LEA EAX,[EBX + 0xfffe4ea8]
PUSH EBP
PUSH 0x9
PUSH 0x1
PUSH EAX
CALL 0x000142e0
ADD ESP,0x10
TEST byte ptr [ESI],0x1
JZ 0x0003c236
LEA EDX,[EBX + 0x8d90]
MOV EAX,dword ptr [ESI + 0x4]
CMP dword ptr [EDX],EAX
JZ 0x0003c565
MOV EDX,ESI
JMP 0x0003c248
LEA EAX,[EBX + 0xfffe4eb2]
PUSH EBP
PUSH 0x9
PUSH 0x1
PUSH EAX
CALL 0x000142e0
ADD ESP,0x10
MOV EDX,ESI
TEST byte ptr [ESI],0x1
JZ 0x0003c242
LEA ECX,[EBX + 0x8d90]
MOV EAX,dword ptr [ESI + 0x4]
CMP dword ptr [ECX],EAX
JZ 0x0003c572
JMP 0x0003c248
LEA ESI,[EBX + 0x8fcc]
MOV EAX,dword ptr [ESI]
CMP EAX,0x7
JG 0x0003c2b7
MOV EDI,dword ptr [EBX + 0xffffffb4]
MOV dword ptr [ESP + 0xc],EDX
ADD EDI,0xc0
CMP ECX,EDI
JZ 0x0003c2b7
ADD EAX,0x1
LEA ECX,[EBX + 0xfffe1b45]
MOV dword ptr [ESI],EAX
SHL EAX,0x2
PUSH ECX
PUSH EAX
LEA EAX,[EBX + 0xfffe4e12]
PUSH EAX
PUSH EBP
CALL 0x00014490
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0xc]
TEST byte ptr [EDX],0x1
JZ 0x0003c633
LEA EAX,[EBX + 0x8d90]
MOV EAX,dword ptr [EAX]
CMP dword ptr [EDX + 0x4],EAX
JZ 0x0003c630
SUB ESP,0x4
LEA EAX,[EBX + 0xfffe4d6f]
PUSH dword ptr [EDX + 0x10]
PUSH EAX
PUSH EBP
CALL 0x00014490
ADD ESP,0x10
SUB ESP,0x8
PUSH EBP
PUSH 0x3e
CALL 0x00014670
SUB dword ptr [ESI],0x1
ADD ESP,0x10
JMP 0x0003c2b7
LEA EAX,[EBX + 0xfffe4e6a]
PUSH EBP
PUSH 0xa
PUSH 0x1
PUSH EAX
CALL 0x000142e0
MOVZX EAX,byte ptr [ESI]
ADD ESP,0x10
JMP 0x0003c1b5
MOV EAX,dword ptr [ESI + 0xc]
TEST byte ptr [EAX + 0x1],0x2
JNZ 0x0003c430
MOV EAX,dword ptr [ESI + 0xc]
TEST byte ptr [EAX + 0x1],0x4
JNZ 0x0003c468
MOV EDX,ESI
MOV ESI,dword ptr [ESI + 0xc]
JMP 0x0003c242
LEA EAX,[EBX + 0xfffe4e50]
PUSH EBP
PUSH 0x9
PUSH 0x1
PUSH EAX
CALL 0x000142e0
ADD ESP,0x10
JMP 0x0003c12a
LEA EAX,[EBX + 0xfffe4e98]
PUSH EBP
PUSH 0x6
PUSH 0x1
PUSH EAX
CALL 0x000142e0
ADD ESP,0x10
TEST byte ptr [ESI],0x1
MOV EAX,dword ptr [ESI + 0x4]
JZ 0x0003c217
LEA EDX,[EBX + 0x8d90]
MOV EDX,dword ptr [EDX]
CMP EAX,EDX
JNZ 0x0003c2e0
MOV EAX,dword ptr [ESI + 0xc]
JMP 0x0003c60c
MOV ECX,dword ptr [EDX + 0xc]
TEST byte ptr [ECX],0x4
JNZ 0x0003c316
LEA ESI,[EBX + 0x8fcc]
MOV EAX,dword ptr [ESI]
CMP EAX,0x7
JG 0x0003c2b7
MOV ECX,dword ptr [ECX + 0x4]
JMP 0x0003c338
MOV EAX,dword ptr [ESI + 0xc]
MOV EDX,dword ptr [EAX + 0x4]
TEST byte ptr [EDX + 0x10],0x4
JNZ 0x0003c5a0
MOV EDX,dword ptr [EAX + 0x4]
MOV EAX,dword ptr [EBX + 0xffffffb4]
ADD EAX,0xc0
CMP dword ptr [EDX + 0x14],EAX
JZ 0x0003c13e
JMP 0x0003c2f4
MOV EDX,dword ptr [EDX + 0xc]
SUB ESP,0x8
ADD EDX,0x8
PUSH EDX
PUSH EBP
CALL 0x0003bba0
ADD ESP,0x10
JMP 0x0003c51d
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid FUN_0003c040(FILE *param_1,byte *param_2)\n\n{\n  byte bVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  undefined4 uVar4;\n  byte *pbVar5;\n  byte *pbVar6;\n  char *pcVar7;\n  undefined *puVar8;\n  \n  puVar3 = *(undefined4 **)(param_2 + 4);\n  if ((*param_2 & 1) == 0) {\nLAB_0003c086:\n    pcVar7 = (char *)puVar3[1];\n    if (pcVar7 == (char *)0x0) goto LAB_0003c073;\nLAB_0003c08d:\n    if (*pcVar7 == '\0') {\n      pcVar7 = "(unnamed)";\n    }\n  }\n  else {\n    if (DAT_00077d90 == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003c086;\n    }\n    pcVar7 = *(char **)(param_2 + 8);\n    if (pcVar7 != (char *)0x0) goto LAB_0003c08d;\nLAB_0003c073:\n    pcVar7 = "(unnamed)";\n  }\n  fwrite(&DAT_00053e44,1,4,param_1);\n  fprintf(param_1,"%016llx",param_2,0);\n  fprintf(param_1," %s",pcVar7);\n  bVar1 = *param_2;\n  pbVar6 = param_2;\n  if (((bVar1 & 1) == 0) ||\n     (pbVar6 = *(byte **)(param_2 + 0xc), *(undefined4 **)(param_2 + 4) == DAT_00077d90)) {\n    if (*(undefined **)(pbVar6 + 0x24) != &DAT_00077d20) {\n      fwrite(" frag ",1,6,param_1);\n      fprintf(param_1,"%016llx",*(undefined4 *)(pbVar6 + 0x24),0);\n    }\n    bVar1 = *pbVar6;\n    if ((bVar1 & 2) != 0) {\n      fwrite(" written",1,8,param_1);\n      bVar1 = *pbVar6;\n    }\n    if ((bVar1 & 4) == 0) {\n      if ((bVar1 & 8) != 0) {\n        fwrite(" resolving",1,10,param_1);\n        bVar1 = *pbVar6;\n      }\n    }\n    else {\n      fwrite(" resolved",1,9,param_1);\n      bVar1 = *pbVar6;\n    }\n    if ((bVar1 & 0x10) == 0) {\n      if ((bVar1 & 0x20) == 0) goto LAB_0003c1c5;\nLAB_0003c35f:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_00038380(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c387;\nLAB_0003c1d9:\n      iVar2 = FUN_000380a0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c1ed;\nLAB_0003c3af:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00038110(pbVar6);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003c35f;\nLAB_0003c1c5:\n      iVar2 = FUN_00038380(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c1d9;\nLAB_0003c387:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_000380a0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c3af;\nLAB_0003c1ed:\n      iVar2 = FUN_00038110(pbVar6);\n    }\n    if (iVar2 != 0) {\n      fwrite(" weak",1,5,param_1);\n    }\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if ((*pbVar6 & 1) == 0) {\n      if ((*(byte *)(puVar3 + 4) & 4) != 0) {\nLAB_0003c5a0:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00077d90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003c60c;\n          }\n          goto LAB_0003c2e0;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_0006efb4 + 0xc0) goto LAB_0003c2f4;\n      goto LAB_0003c22c;\n    }\n    if (DAT_00077d90 == puVar3) {\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003c5a0;\nLAB_0003c60c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0006efb4 + 0xc0)\n      goto LAB_0003c13e;\nLAB_0003c2f4:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003c13e;\n    }\nLAB_0003c2e0:\n    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) goto LAB_0003c2f4;\nLAB_0003c152:\n    if (DAT_00077d90 == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003c430:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c236;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 != puVar3) goto LAB_0003c248;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c468;\nLAB_0003c572:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c242;\n    }\n  }\n  else {\n    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_0006ef70)) {\n      fwrite(" frag ",1,6,param_1);\n      fprintf(param_1,"%016llx",*(undefined4 *)(param_2 + 0xc),0);\n      bVar1 = *param_2;\n    }\n    if ((bVar1 & 4) != 0) {\n      fwrite(" resolved",1,9,param_1);\n    }\n    fwrite(" local",1,6,param_1);\n    pbVar6 = param_2;\nLAB_0003c13e:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003c152;\n    }\nLAB_0003c22c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003c430;\nLAB_0003c236:\n    pbVar5 = pbVar6;\n    if ((pbVar6[1] & 4) != 0) {\nLAB_0003c468:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 == puVar3) goto LAB_0003c572;\n        goto LAB_0003c248;\n      }\n    }\nLAB_0003c242:\n    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\n  }\nLAB_0003c248:\n  fprintf(param_1," %s",*puVar3);\n  bVar1 = *pbVar6;\n  if ((bVar1 & 1) == 0) {\n    pbVar5 = pbVar6;\n    if ((bVar1 & 4) != 0) {\nLAB_0003c316:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003c283:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) &&\n         (DAT_00077ce0 != puVar3)) {\n        uVar4 = FUN_00039db0();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003c2b7;\n    }\n    if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n    iVar2 = *(int *)(pbVar6 + 4);\nLAB_0003c338:\n    puVar3 = *(undefined4 **)(iVar2 + 0x14);\n  }\n  else {\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if (puVar3 == DAT_00077d90) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003c316;\n      if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003c338;\n    }\n    if ((bVar1 & 4) != 0) goto LAB_0003c283;\n    if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n  }\n  if (puVar3 == (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) goto LAB_0003c2b7;\n  DAT_00077fcc = DAT_00077fcc + 1;\n  puVar8 = &DAT_00050b45;\n  fprintf(param_1,"\n%*s<",DAT_00077fcc * 4,&DAT_00050b45);\n  if ((*pbVar6 & 1) == 0) {\nLAB_0003c633:\n    FUN_0003bba0(param_1,pbVar6 + 8);\n  }\n  else {\n    if (*(undefined4 **)(pbVar6 + 4) == DAT_00077d90) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c633;\n    }\n    fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);\n  }\n  fputc(0x3e,param_1);\n  DAT_00077fcc = DAT_00077fcc + -1;\nLAB_0003c2b7:\n  fflush(param_1);\n  return;\n}\n\n" comment (function_definition "void FUN_0003c040(FILE *param_1,byte *param_2)\n\n{\n  byte bVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  undefined4 uVar4;\n  byte *pbVar5;\n  byte *pbVar6;\n  char *pcVar7;\n  undefined *puVar8;\n  \n  puVar3 = *(undefined4 **)(param_2 + 4);\n  if ((*param_2 & 1) == 0) {\nLAB_0003c086:\n    pcVar7 = (char *)puVar3[1];\n    if (pcVar7 == (char *)0x0) goto LAB_0003c073;\nLAB_0003c08d:\n    if (*pcVar7 == '\0') {\n      pcVar7 = "(unnamed)";\n    }\n  }\n  else {\n    if (DAT_00077d90 == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003c086;\n    }\n    pcVar7 = *(char **)(param_2 + 8);\n    if (pcVar7 != (char *)0x0) goto LAB_0003c08d;\nLAB_0003c073:\n    pcVar7 = "(unnamed)";\n  }\n  fwrite(&DAT_00053e44,1,4,param_1);\n  fprintf(param_1,"%016llx",param_2,0);\n  fprintf(param_1," %s",pcVar7);\n  bVar1 = *param_2;\n  pbVar6 = param_2;\n  if (((bVar1 & 1) == 0) ||\n     (pbVar6 = *(byte **)(param_2 + 0xc), *(undefined4 **)(param_2 + 4) == DAT_00077d90)) {\n    if (*(undefined **)(pbVar6 + 0x24) != &DAT_00077d20) {\n      fwrite(" frag ",1,6,param_1);\n      fprintf(param_1,"%016llx",*(undefined4 *)(pbVar6 + 0x24),0);\n    }\n    bVar1 = *pbVar6;\n    if ((bVar1 & 2) != 0) {\n      fwrite(" written",1,8,param_1);\n      bVar1 = *pbVar6;\n    }\n    if ((bVar1 & 4) == 0) {\n      if ((bVar1 & 8) != 0) {\n        fwrite(" resolving",1,10,param_1);\n        bVar1 = *pbVar6;\n      }\n    }\n    else {\n      fwrite(" resolved",1,9,param_1);\n      bVar1 = *pbVar6;\n    }\n    if ((bVar1 & 0x10) == 0) {\n      if ((bVar1 & 0x20) == 0) goto LAB_0003c1c5;\nLAB_0003c35f:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_00038380(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c387;\nLAB_0003c1d9:\n      iVar2 = FUN_000380a0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c1ed;\nLAB_0003c3af:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00038110(pbVar6);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003c35f;\nLAB_0003c1c5:\n      iVar2 = FUN_00038380(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c1d9;\nLAB_0003c387:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_000380a0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c3af;\nLAB_0003c1ed:\n      iVar2 = FUN_00038110(pbVar6);\n    }\n    if (iVar2 != 0) {\n      fwrite(" weak",1,5,param_1);\n    }\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if ((*pbVar6 & 1) == 0) {\n      if ((*(byte *)(puVar3 + 4) & 4) != 0) {\nLAB_0003c5a0:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00077d90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003c60c;\n          }\n          goto LAB_0003c2e0;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_0006efb4 + 0xc0) goto LAB_0003c2f4;\n      goto LAB_0003c22c;\n    }\n    if (DAT_00077d90 == puVar3) {\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003c5a0;\nLAB_0003c60c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0006efb4 + 0xc0)\n      goto LAB_0003c13e;\nLAB_0003c2f4:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003c13e;\n    }\nLAB_0003c2e0:\n    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) goto LAB_0003c2f4;\nLAB_0003c152:\n    if (DAT_00077d90 == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003c430:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c236;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 != puVar3) goto LAB_0003c248;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c468;\nLAB_0003c572:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c242;\n    }\n  }\n  else {\n    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_0006ef70)) {\n      fwrite(" frag ",1,6,param_1);\n      fprintf(param_1,"%016llx",*(undefined4 *)(param_2 + 0xc),0);\n      bVar1 = *param_2;\n    }\n    if ((bVar1 & 4) != 0) {\n      fwrite(" resolved",1,9,param_1);\n    }\n    fwrite(" local",1,6,param_1);\n    pbVar6 = param_2;\nLAB_0003c13e:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003c152;\n    }\nLAB_0003c22c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003c430;\nLAB_0003c236:\n    pbVar5 = pbVar6;\n    if ((pbVar6[1] & 4) != 0) {\nLAB_0003c468:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 == puVar3) goto LAB_0003c572;\n        goto LAB_0003c248;\n      }\n    }\nLAB_0003c242:\n    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\n  }\nLAB_0003c248:\n  fprintf(param_1," %s",*puVar3);\n  bVar1 = *pbVar6;\n  if ((bVar1 & 1) == 0) {\n    pbVar5 = pbVar6;\n    if ((bVar1 & 4) != 0) {\nLAB_0003c316:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003c283:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) &&\n         (DAT_00077ce0 != puVar3)) {\n        uVar4 = FUN_00039db0();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003c2b7;\n    }\n    if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n    iVar2 = *(int *)(pbVar6 + 4);\nLAB_0003c338:\n    puVar3 = *(undefined4 **)(iVar2 + 0x14);\n  }\n  else {\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if (puVar3 == DAT_00077d90) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003c316;\n      if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003c338;\n    }\n    if ((bVar1 & 4) != 0) goto LAB_0003c283;\n    if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n  }\n  if (puVar3 == (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) goto LAB_0003c2b7;\n  DAT_00077fcc = DAT_00077fcc + 1;\n  puVar8 = &DAT_00050b45;\n  fprintf(param_1,"\n%*s<",DAT_00077fcc * 4,&DAT_00050b45);\n  if ((*pbVar6 & 1) == 0) {\nLAB_0003c633:\n    FUN_0003bba0(param_1,pbVar6 + 8);\n  }\n  else {\n    if (*(undefined4 **)(pbVar6 + 4) == DAT_00077d90) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c633;\n    }\n    fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);\n  }\n  fputc(0x3e,param_1);\n  DAT_00077fcc = DAT_00077fcc + -1;\nLAB_0003c2b7:\n  fflush(param_1);\n  return;\n}" primitive_type (function_declarator "FUN_0003c040(FILE *param_1,byte *param_2)" identifier (parameter_list "(FILE *param_1,byte *param_2)" ( (parameter_declaration "FILE *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "byte *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  byte bVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  undefined4 uVar4;\n  byte *pbVar5;\n  byte *pbVar6;\n  char *pcVar7;\n  undefined *puVar8;\n  \n  puVar3 = *(undefined4 **)(param_2 + 4);\n  if ((*param_2 & 1) == 0) {\nLAB_0003c086:\n    pcVar7 = (char *)puVar3[1];\n    if (pcVar7 == (char *)0x0) goto LAB_0003c073;\nLAB_0003c08d:\n    if (*pcVar7 == '\0') {\n      pcVar7 = "(unnamed)";\n    }\n  }\n  else {\n    if (DAT_00077d90 == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003c086;\n    }\n    pcVar7 = *(char **)(param_2 + 8);\n    if (pcVar7 != (char *)0x0) goto LAB_0003c08d;\nLAB_0003c073:\n    pcVar7 = "(unnamed)";\n  }\n  fwrite(&DAT_00053e44,1,4,param_1);\n  fprintf(param_1,"%016llx",param_2,0);\n  fprintf(param_1," %s",pcVar7);\n  bVar1 = *param_2;\n  pbVar6 = param_2;\n  if (((bVar1 & 1) == 0) ||\n     (pbVar6 = *(byte **)(param_2 + 0xc), *(undefined4 **)(param_2 + 4) == DAT_00077d90)) {\n    if (*(undefined **)(pbVar6 + 0x24) != &DAT_00077d20) {\n      fwrite(" frag ",1,6,param_1);\n      fprintf(param_1,"%016llx",*(undefined4 *)(pbVar6 + 0x24),0);\n    }\n    bVar1 = *pbVar6;\n    if ((bVar1 & 2) != 0) {\n      fwrite(" written",1,8,param_1);\n      bVar1 = *pbVar6;\n    }\n    if ((bVar1 & 4) == 0) {\n      if ((bVar1 & 8) != 0) {\n        fwrite(" resolving",1,10,param_1);\n        bVar1 = *pbVar6;\n      }\n    }\n    else {\n      fwrite(" resolved",1,9,param_1);\n      bVar1 = *pbVar6;\n    }\n    if ((bVar1 & 0x10) == 0) {\n      if ((bVar1 & 0x20) == 0) goto LAB_0003c1c5;\nLAB_0003c35f:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_00038380(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c387;\nLAB_0003c1d9:\n      iVar2 = FUN_000380a0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c1ed;\nLAB_0003c3af:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00038110(pbVar6);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003c35f;\nLAB_0003c1c5:\n      iVar2 = FUN_00038380(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c1d9;\nLAB_0003c387:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_000380a0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c3af;\nLAB_0003c1ed:\n      iVar2 = FUN_00038110(pbVar6);\n    }\n    if (iVar2 != 0) {\n      fwrite(" weak",1,5,param_1);\n    }\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if ((*pbVar6 & 1) == 0) {\n      if ((*(byte *)(puVar3 + 4) & 4) != 0) {\nLAB_0003c5a0:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00077d90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003c60c;\n          }\n          goto LAB_0003c2e0;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_0006efb4 + 0xc0) goto LAB_0003c2f4;\n      goto LAB_0003c22c;\n    }\n    if (DAT_00077d90 == puVar3) {\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003c5a0;\nLAB_0003c60c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0006efb4 + 0xc0)\n      goto LAB_0003c13e;\nLAB_0003c2f4:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003c13e;\n    }\nLAB_0003c2e0:\n    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) goto LAB_0003c2f4;\nLAB_0003c152:\n    if (DAT_00077d90 == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003c430:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c236;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 != puVar3) goto LAB_0003c248;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c468;\nLAB_0003c572:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c242;\n    }\n  }\n  else {\n    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_0006ef70)) {\n      fwrite(" frag ",1,6,param_1);\n      fprintf(param_1,"%016llx",*(undefined4 *)(param_2 + 0xc),0);\n      bVar1 = *param_2;\n    }\n    if ((bVar1 & 4) != 0) {\n      fwrite(" resolved",1,9,param_1);\n    }\n    fwrite(" local",1,6,param_1);\n    pbVar6 = param_2;\nLAB_0003c13e:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003c152;\n    }\nLAB_0003c22c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003c430;\nLAB_0003c236:\n    pbVar5 = pbVar6;\n    if ((pbVar6[1] & 4) != 0) {\nLAB_0003c468:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 == puVar3) goto LAB_0003c572;\n        goto LAB_0003c248;\n      }\n    }\nLAB_0003c242:\n    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\n  }\nLAB_0003c248:\n  fprintf(param_1," %s",*puVar3);\n  bVar1 = *pbVar6;\n  if ((bVar1 & 1) == 0) {\n    pbVar5 = pbVar6;\n    if ((bVar1 & 4) != 0) {\nLAB_0003c316:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003c283:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) &&\n         (DAT_00077ce0 != puVar3)) {\n        uVar4 = FUN_00039db0();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003c2b7;\n    }\n    if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n    iVar2 = *(int *)(pbVar6 + 4);\nLAB_0003c338:\n    puVar3 = *(undefined4 **)(iVar2 + 0x14);\n  }\n  else {\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if (puVar3 == DAT_00077d90) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003c316;\n      if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003c338;\n    }\n    if ((bVar1 & 4) != 0) goto LAB_0003c283;\n    if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n  }\n  if (puVar3 == (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) goto LAB_0003c2b7;\n  DAT_00077fcc = DAT_00077fcc + 1;\n  puVar8 = &DAT_00050b45;\n  fprintf(param_1,"\n%*s<",DAT_00077fcc * 4,&DAT_00050b45);\n  if ((*pbVar6 & 1) == 0) {\nLAB_0003c633:\n    FUN_0003bba0(param_1,pbVar6 + 8);\n  }\n  else {\n    if (*(undefined4 **)(pbVar6 + 4) == DAT_00077d90) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c633;\n    }\n    fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);\n  }\n  fputc(0x3e,param_1);\n  DAT_00077fcc = DAT_00077fcc + -1;\nLAB_0003c2b7:\n  fflush(param_1);\n  return;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "byte *pbVar5;" type_identifier (pointer_declarator "*pbVar5" * identifier) ;) (declaration "byte *pbVar6;" type_identifier (pointer_declarator "*pbVar6" * identifier) ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (expression_statement "puVar3 = *(undefined4 **)(param_2 + 4);" (assignment_expression "puVar3 = *(undefined4 **)(param_2 + 4)" identifier = (pointer_expression "*(undefined4 **)(param_2 + 4)" * (cast_expression "(undefined4 **)(param_2 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 4)" ( (binary_expression "param_2 + 4" identifier + number_literal) ))))) ;) (if_statement "if ((*param_2 & 1) == 0) {\nLAB_0003c086:\n    pcVar7 = (char *)puVar3[1];\n    if (pcVar7 == (char *)0x0) goto LAB_0003c073;\nLAB_0003c08d:\n    if (*pcVar7 == '\0') {\n      pcVar7 = "(unnamed)";\n    }\n  }\n  else {\n    if (DAT_00077d90 == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003c086;\n    }\n    pcVar7 = *(char **)(param_2 + 8);\n    if (pcVar7 != (char *)0x0) goto LAB_0003c08d;\nLAB_0003c073:\n    pcVar7 = "(unnamed)";\n  }" if (parenthesized_expression "((*param_2 & 1) == 0)" ( (binary_expression "(*param_2 & 1) == 0" (parenthesized_expression "(*param_2 & 1)" ( (binary_expression "*param_2 & 1" (pointer_expression "*param_2" * identifier) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_0003c086:\n    pcVar7 = (char *)puVar3[1];\n    if (pcVar7 == (char *)0x0) goto LAB_0003c073;\nLAB_0003c08d:\n    if (*pcVar7 == '\0') {\n      pcVar7 = "(unnamed)";\n    }\n  }" { (labeled_statement "LAB_0003c086:\n    pcVar7 = (char *)puVar3[1];" statement_identifier : (expression_statement "pcVar7 = (char *)puVar3[1];" (assignment_expression "pcVar7 = (char *)puVar3[1]" identifier = (cast_expression "(char *)puVar3[1]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar3[1]" identifier [ number_literal ]))) ;)) (if_statement "if (pcVar7 == (char *)0x0) goto LAB_0003c073;" if (parenthesized_expression "(pcVar7 == (char *)0x0)" ( (binary_expression "pcVar7 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0003c073;" goto statement_identifier ;)) (labeled_statement "LAB_0003c08d:\n    if (*pcVar7 == '\0') {\n      pcVar7 = "(unnamed)";\n    }" statement_identifier : (if_statement "if (*pcVar7 == '\0') {\n      pcVar7 = "(unnamed)";\n    }" if (parenthesized_expression "(*pcVar7 == '\0')" ( (binary_expression "*pcVar7 == '\0'" (pointer_expression "*pcVar7" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      pcVar7 = "(unnamed)";\n    }" { (expression_statement "pcVar7 = "(unnamed)";" (assignment_expression "pcVar7 = "(unnamed)"" identifier = (string_literal ""(unnamed)"" " string_content ")) ;) }))) }) (else_clause "else {\n    if (DAT_00077d90 == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003c086;\n    }\n    pcVar7 = *(char **)(param_2 + 8);\n    if (pcVar7 != (char *)0x0) goto LAB_0003c08d;\nLAB_0003c073:\n    pcVar7 = "(unnamed)";\n  }" else (compound_statement "{\n    if (DAT_00077d90 == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003c086;\n    }\n    pcVar7 = *(char **)(param_2 + 8);\n    if (pcVar7 != (char *)0x0) goto LAB_0003c08d;\nLAB_0003c073:\n    pcVar7 = "(unnamed)";\n  }" { (if_statement "if (DAT_00077d90 == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003c086;\n    }" if (parenthesized_expression "(DAT_00077d90 == puVar3)" ( (binary_expression "DAT_00077d90 == puVar3" identifier == identifier) )) (compound_statement "{\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003c086;\n    }" { (expression_statement "puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);" (assignment_expression "puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4)" identifier = (pointer_expression "*(undefined4 **)(*(int *)(param_2 + 0xc) + 4)" * (cast_expression "(undefined4 **)(*(int *)(param_2 + 0xc) + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(param_2 + 0xc) + 4)" ( (binary_expression "*(int *)(param_2 + 0xc) + 4" (pointer_expression "*(int *)(param_2 + 0xc)" * (cast_expression "(int *)(param_2 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc)" ( (binary_expression "param_2 + 0xc" identifier + number_literal) )))) + number_literal) ))))) ;) (goto_statement "goto LAB_0003c086;" goto statement_identifier ;) })) (expression_statement "pcVar7 = *(char **)(param_2 + 8);" (assignment_expression "pcVar7 = *(char **)(param_2 + 8)" identifier = (pointer_expression "*(char **)(param_2 + 8)" * (cast_expression "(char **)(param_2 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 8)" ( (binary_expression "param_2 + 8" identifier + number_literal) ))))) ;) (if_statement "if (pcVar7 != (char *)0x0) goto LAB_0003c08d;" if (parenthesized_expression "(pcVar7 != (char *)0x0)" ( (binary_expression "pcVar7 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0003c08d;" goto statement_identifier ;)) (labeled_statement "LAB_0003c073:\n    pcVar7 = "(unnamed)";" statement_identifier : (expression_statement "pcVar7 = "(unnamed)";" (assignment_expression "pcVar7 = "(unnamed)"" identifier = (string_literal ""(unnamed)"" " string_content ")) ;)) }))) (expression_statement "fwrite(&DAT_00053e44,1,4,param_1);" (call_expression "fwrite(&DAT_00053e44,1,4,param_1)" identifier (argument_list "(&DAT_00053e44,1,4,param_1)" ( (pointer_expression "&DAT_00053e44" & identifier) , number_literal , number_literal , identifier ))) ;) (expression_statement "fprintf(param_1,"%016llx",param_2,0);" (call_expression "fprintf(param_1,"%016llx",param_2,0)" identifier (argument_list "(param_1,"%016llx",param_2,0)" ( identifier , (string_literal ""%016llx"" " string_content ") , identifier , number_literal ))) ;) (expression_statement "fprintf(param_1," %s",pcVar7);" (call_expression "fprintf(param_1," %s",pcVar7)" identifier (argument_list "(param_1," %s",pcVar7)" ( identifier , (string_literal "" %s"" " string_content ") , identifier ))) ;) (expression_statement "bVar1 = *param_2;" (assignment_expression "bVar1 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "pbVar6 = param_2;" (assignment_expression "pbVar6 = param_2" identifier = identifier) ;) (if_statement "if (((bVar1 & 1) == 0) ||\n     (pbVar6 = *(byte **)(param_2 + 0xc), *(undefined4 **)(param_2 + 4) == DAT_00077d90)) {\n    if (*(undefined **)(pbVar6 + 0x24) != &DAT_00077d20) {\n      fwrite(" frag ",1,6,param_1);\n      fprintf(param_1,"%016llx",*(undefined4 *)(pbVar6 + 0x24),0);\n    }\n    bVar1 = *pbVar6;\n    if ((bVar1 & 2) != 0) {\n      fwrite(" written",1,8,param_1);\n      bVar1 = *pbVar6;\n    }\n    if ((bVar1 & 4) == 0) {\n      if ((bVar1 & 8) != 0) {\n        fwrite(" resolving",1,10,param_1);\n        bVar1 = *pbVar6;\n      }\n    }\n    else {\n      fwrite(" resolved",1,9,param_1);\n      bVar1 = *pbVar6;\n    }\n    if ((bVar1 & 0x10) == 0) {\n      if ((bVar1 & 0x20) == 0) goto LAB_0003c1c5;\nLAB_0003c35f:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_00038380(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c387;\nLAB_0003c1d9:\n      iVar2 = FUN_000380a0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c1ed;\nLAB_0003c3af:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00038110(pbVar6);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003c35f;\nLAB_0003c1c5:\n      iVar2 = FUN_00038380(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c1d9;\nLAB_0003c387:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_000380a0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c3af;\nLAB_0003c1ed:\n      iVar2 = FUN_00038110(pbVar6);\n    }\n    if (iVar2 != 0) {\n      fwrite(" weak",1,5,param_1);\n    }\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if ((*pbVar6 & 1) == 0) {\n      if ((*(byte *)(puVar3 + 4) & 4) != 0) {\nLAB_0003c5a0:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00077d90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003c60c;\n          }\n          goto LAB_0003c2e0;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_0006efb4 + 0xc0) goto LAB_0003c2f4;\n      goto LAB_0003c22c;\n    }\n    if (DAT_00077d90 == puVar3) {\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003c5a0;\nLAB_0003c60c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0006efb4 + 0xc0)\n      goto LAB_0003c13e;\nLAB_0003c2f4:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003c13e;\n    }\nLAB_0003c2e0:\n    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) goto LAB_0003c2f4;\nLAB_0003c152:\n    if (DAT_00077d90 == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003c430:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c236;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 != puVar3) goto LAB_0003c248;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c468;\nLAB_0003c572:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c242;\n    }\n  }\n  else {\n    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_0006ef70)) {\n      fwrite(" frag ",1,6,param_1);\n      fprintf(param_1,"%016llx",*(undefined4 *)(param_2 + 0xc),0);\n      bVar1 = *param_2;\n    }\n    if ((bVar1 & 4) != 0) {\n      fwrite(" resolved",1,9,param_1);\n    }\n    fwrite(" local",1,6,param_1);\n    pbVar6 = param_2;\nLAB_0003c13e:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003c152;\n    }\nLAB_0003c22c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003c430;\nLAB_0003c236:\n    pbVar5 = pbVar6;\n    if ((pbVar6[1] & 4) != 0) {\nLAB_0003c468:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 == puVar3) goto LAB_0003c572;\n        goto LAB_0003c248;\n      }\n    }\nLAB_0003c242:\n    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\n  }" if (parenthesized_expression "(((bVar1 & 1) == 0) ||\n     (pbVar6 = *(byte **)(param_2 + 0xc), *(undefined4 **)(param_2 + 4) == DAT_00077d90))" ( (binary_expression "((bVar1 & 1) == 0) ||\n     (pbVar6 = *(byte **)(param_2 + 0xc), *(undefined4 **)(param_2 + 4) == DAT_00077d90)" (parenthesized_expression "((bVar1 & 1) == 0)" ( (binary_expression "(bVar1 & 1) == 0" (parenthesized_expression "(bVar1 & 1)" ( (binary_expression "bVar1 & 1" identifier & number_literal) )) == number_literal) )) || (parenthesized_expression "(pbVar6 = *(byte **)(param_2 + 0xc), *(undefined4 **)(param_2 + 4) == DAT_00077d90)" ( (comma_expression "pbVar6 = *(byte **)(param_2 + 0xc), *(undefined4 **)(param_2 + 4) == DAT_00077d90" (assignment_expression "pbVar6 = *(byte **)(param_2 + 0xc)" identifier = (pointer_expression "*(byte **)(param_2 + 0xc)" * (cast_expression "(byte **)(param_2 + 0xc)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0xc)" ( (binary_expression "param_2 + 0xc" identifier + number_literal) ))))) , (binary_expression "*(undefined4 **)(param_2 + 4) == DAT_00077d90" (pointer_expression "*(undefined4 **)(param_2 + 4)" * (cast_expression "(undefined4 **)(param_2 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 4)" ( (binary_expression "param_2 + 4" identifier + number_literal) )))) == identifier)) ))) )) (compound_statement "{\n    if (*(undefined **)(pbVar6 + 0x24) != &DAT_00077d20) {\n      fwrite(" frag ",1,6,param_1);\n      fprintf(param_1,"%016llx",*(undefined4 *)(pbVar6 + 0x24),0);\n    }\n    bVar1 = *pbVar6;\n    if ((bVar1 & 2) != 0) {\n      fwrite(" written",1,8,param_1);\n      bVar1 = *pbVar6;\n    }\n    if ((bVar1 & 4) == 0) {\n      if ((bVar1 & 8) != 0) {\n        fwrite(" resolving",1,10,param_1);\n        bVar1 = *pbVar6;\n      }\n    }\n    else {\n      fwrite(" resolved",1,9,param_1);\n      bVar1 = *pbVar6;\n    }\n    if ((bVar1 & 0x10) == 0) {\n      if ((bVar1 & 0x20) == 0) goto LAB_0003c1c5;\nLAB_0003c35f:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_00038380(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c387;\nLAB_0003c1d9:\n      iVar2 = FUN_000380a0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c1ed;\nLAB_0003c3af:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00038110(pbVar6);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003c35f;\nLAB_0003c1c5:\n      iVar2 = FUN_00038380(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c1d9;\nLAB_0003c387:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_000380a0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c3af;\nLAB_0003c1ed:\n      iVar2 = FUN_00038110(pbVar6);\n    }\n    if (iVar2 != 0) {\n      fwrite(" weak",1,5,param_1);\n    }\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if ((*pbVar6 & 1) == 0) {\n      if ((*(byte *)(puVar3 + 4) & 4) != 0) {\nLAB_0003c5a0:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00077d90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003c60c;\n          }\n          goto LAB_0003c2e0;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_0006efb4 + 0xc0) goto LAB_0003c2f4;\n      goto LAB_0003c22c;\n    }\n    if (DAT_00077d90 == puVar3) {\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003c5a0;\nLAB_0003c60c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0006efb4 + 0xc0)\n      goto LAB_0003c13e;\nLAB_0003c2f4:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003c13e;\n    }\nLAB_0003c2e0:\n    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) goto LAB_0003c2f4;\nLAB_0003c152:\n    if (DAT_00077d90 == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003c430:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c236;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 != puVar3) goto LAB_0003c248;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c468;\nLAB_0003c572:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c242;\n    }\n  }" { (if_statement "if (*(undefined **)(pbVar6 + 0x24) != &DAT_00077d20) {\n      fwrite(" frag ",1,6,param_1);\n      fprintf(param_1,"%016llx",*(undefined4 *)(pbVar6 + 0x24),0);\n    }" if (parenthesized_expression "(*(undefined **)(pbVar6 + 0x24) != &DAT_00077d20)" ( (binary_expression "*(undefined **)(pbVar6 + 0x24) != &DAT_00077d20" (pointer_expression "*(undefined **)(pbVar6 + 0x24)" * (cast_expression "(undefined **)(pbVar6 + 0x24)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pbVar6 + 0x24)" ( (binary_expression "pbVar6 + 0x24" identifier + number_literal) )))) != (pointer_expression "&DAT_00077d20" & identifier)) )) (compound_statement "{\n      fwrite(" frag ",1,6,param_1);\n      fprintf(param_1,"%016llx",*(undefined4 *)(pbVar6 + 0x24),0);\n    }" { (expression_statement "fwrite(" frag ",1,6,param_1);" (call_expression "fwrite(" frag ",1,6,param_1)" identifier (argument_list "(" frag ",1,6,param_1)" ( (string_literal "" frag "" " string_content ") , number_literal , number_literal , identifier ))) ;) (expression_statement "fprintf(param_1,"%016llx",*(undefined4 *)(pbVar6 + 0x24),0);" (call_expression "fprintf(param_1,"%016llx",*(undefined4 *)(pbVar6 + 0x24),0)" identifier (argument_list "(param_1,"%016llx",*(undefined4 *)(pbVar6 + 0x24),0)" ( identifier , (string_literal ""%016llx"" " string_content ") , (pointer_expression "*(undefined4 *)(pbVar6 + 0x24)" * (cast_expression "(undefined4 *)(pbVar6 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar6 + 0x24)" ( (binary_expression "pbVar6 + 0x24" identifier + number_literal) )))) , number_literal ))) ;) })) (expression_statement "bVar1 = *pbVar6;" (assignment_expression "bVar1 = *pbVar6" identifier = (pointer_expression "*pbVar6" * identifier)) ;) (if_statement "if ((bVar1 & 2) != 0) {\n      fwrite(" written",1,8,param_1);\n      bVar1 = *pbVar6;\n    }" if (parenthesized_expression "((bVar1 & 2) != 0)" ( (binary_expression "(bVar1 & 2) != 0" (parenthesized_expression "(bVar1 & 2)" ( (binary_expression "bVar1 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      fwrite(" written",1,8,param_1);\n      bVar1 = *pbVar6;\n    }" { (expression_statement "fwrite(" written",1,8,param_1);" (call_expression "fwrite(" written",1,8,param_1)" identifier (argument_list "(" written",1,8,param_1)" ( (string_literal "" written"" " string_content ") , number_literal , number_literal , identifier ))) ;) (expression_statement "bVar1 = *pbVar6;" (assignment_expression "bVar1 = *pbVar6" identifier = (pointer_expression "*pbVar6" * identifier)) ;) })) (if_statement "if ((bVar1 & 4) == 0) {\n      if ((bVar1 & 8) != 0) {\n        fwrite(" resolving",1,10,param_1);\n        bVar1 = *pbVar6;\n      }\n    }\n    else {\n      fwrite(" resolved",1,9,param_1);\n      bVar1 = *pbVar6;\n    }" if (parenthesized_expression "((bVar1 & 4) == 0)" ( (binary_expression "(bVar1 & 4) == 0" (parenthesized_expression "(bVar1 & 4)" ( (binary_expression "bVar1 & 4" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      if ((bVar1 & 8) != 0) {\n        fwrite(" resolving",1,10,param_1);\n        bVar1 = *pbVar6;\n      }\n    }" { (if_statement "if ((bVar1 & 8) != 0) {\n        fwrite(" resolving",1,10,param_1);\n        bVar1 = *pbVar6;\n      }" if (parenthesized_expression "((bVar1 & 8) != 0)" ( (binary_expression "(bVar1 & 8) != 0" (parenthesized_expression "(bVar1 & 8)" ( (binary_expression "bVar1 & 8" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        fwrite(" resolving",1,10,param_1);\n        bVar1 = *pbVar6;\n      }" { (expression_statement "fwrite(" resolving",1,10,param_1);" (call_expression "fwrite(" resolving",1,10,param_1)" identifier (argument_list "(" resolving",1,10,param_1)" ( (string_literal "" resolving"" " string_content ") , number_literal , number_literal , identifier ))) ;) (expression_statement "bVar1 = *pbVar6;" (assignment_expression "bVar1 = *pbVar6" identifier = (pointer_expression "*pbVar6" * identifier)) ;) })) }) (else_clause "else {\n      fwrite(" resolved",1,9,param_1);\n      bVar1 = *pbVar6;\n    }" else (compound_statement "{\n      fwrite(" resolved",1,9,param_1);\n      bVar1 = *pbVar6;\n    }" { (expression_statement "fwrite(" resolved",1,9,param_1);" (call_expression "fwrite(" resolved",1,9,param_1)" identifier (argument_list "(" resolved",1,9,param_1)" ( (string_literal "" resolved"" " string_content ") , number_literal , number_literal , identifier ))) ;) (expression_statement "bVar1 = *pbVar6;" (assignment_expression "bVar1 = *pbVar6" identifier = (pointer_expression "*pbVar6" * identifier)) ;) }))) (if_statement "if ((bVar1 & 0x10) == 0) {\n      if ((bVar1 & 0x20) == 0) goto LAB_0003c1c5;\nLAB_0003c35f:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_00038380(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c387;\nLAB_0003c1d9:\n      iVar2 = FUN_000380a0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c1ed;\nLAB_0003c3af:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00038110(pbVar6);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003c35f;\nLAB_0003c1c5:\n      iVar2 = FUN_00038380(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c1d9;\nLAB_0003c387:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_000380a0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c3af;\nLAB_0003c1ed:\n      iVar2 = FUN_00038110(pbVar6);\n    }" if (parenthesized_expression "((bVar1 & 0x10) == 0)" ( (binary_expression "(bVar1 & 0x10) == 0" (parenthesized_expression "(bVar1 & 0x10)" ( (binary_expression "bVar1 & 0x10" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      if ((bVar1 & 0x20) == 0) goto LAB_0003c1c5;\nLAB_0003c35f:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_00038380(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c387;\nLAB_0003c1d9:\n      iVar2 = FUN_000380a0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c1ed;\nLAB_0003c3af:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00038110(pbVar6);\n    }" { (if_statement "if ((bVar1 & 0x20) == 0) goto LAB_0003c1c5;" if (parenthesized_expression "((bVar1 & 0x20) == 0)" ( (binary_expression "(bVar1 & 0x20) == 0" (parenthesized_expression "(bVar1 & 0x20)" ( (binary_expression "bVar1 & 0x20" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0003c1c5;" goto statement_identifier ;)) (labeled_statement "LAB_0003c35f:\n      fwrite(" used",1,5,param_1);" statement_identifier : (expression_statement "fwrite(" used",1,5,param_1);" (call_expression "fwrite(" used",1,5,param_1)" identifier (argument_list "(" used",1,5,param_1)" ( (string_literal "" used"" " string_content ") , number_literal , number_literal , identifier ))) ;)) (expression_statement "iVar2 = FUN_00038380(pbVar6);" (assignment_expression "iVar2 = FUN_00038380(pbVar6)" identifier = (call_expression "FUN_00038380(pbVar6)" identifier (argument_list "(pbVar6)" ( identifier )))) ;) (if_statement "if (iVar2 != 0) goto LAB_0003c387;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0003c387;" goto statement_identifier ;)) (labeled_statement "LAB_0003c1d9:\n      iVar2 = FUN_000380a0(pbVar6);" statement_identifier : (expression_statement "iVar2 = FUN_000380a0(pbVar6);" (assignment_expression "iVar2 = FUN_000380a0(pbVar6)" identifier = (call_expression "FUN_000380a0(pbVar6)" identifier (argument_list "(pbVar6)" ( identifier )))) ;)) (if_statement "if (iVar2 == 0) goto LAB_0003c1ed;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0003c1ed;" goto statement_identifier ;)) (labeled_statement "LAB_0003c3af:\n      fwrite(" extern",1,7,param_1);" statement_identifier : (expression_statement "fwrite(" extern",1,7,param_1);" (call_expression "fwrite(" extern",1,7,param_1)" identifier (argument_list "(" extern",1,7,param_1)" ( (string_literal "" extern"" " string_content ") , number_literal , number_literal , identifier ))) ;)) (expression_statement "iVar2 = FUN_00038110(pbVar6);" (assignment_expression "iVar2 = FUN_00038110(pbVar6)" identifier = (call_expression "FUN_00038110(pbVar6)" identifier (argument_list "(pbVar6)" ( identifier )))) ;) }) (else_clause "else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003c35f;\nLAB_0003c1c5:\n      iVar2 = FUN_00038380(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c1d9;\nLAB_0003c387:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_000380a0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c3af;\nLAB_0003c1ed:\n      iVar2 = FUN_00038110(pbVar6);\n    }" else (compound_statement "{\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003c35f;\nLAB_0003c1c5:\n      iVar2 = FUN_00038380(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c1d9;\nLAB_0003c387:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_000380a0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c3af;\nLAB_0003c1ed:\n      iVar2 = FUN_00038110(pbVar6);\n    }" { (expression_statement "fwrite(" used-in-reloc",1,0xe,param_1);" (call_expression "fwrite(" used-in-reloc",1,0xe,param_1)" identifier (argument_list "(" used-in-reloc",1,0xe,param_1)" ( (string_literal "" used-in-reloc"" " string_content ") , number_literal , number_literal , identifier ))) ;) (if_statement "if ((*pbVar6 & 0x20) != 0) goto LAB_0003c35f;" if (parenthesized_expression "((*pbVar6 & 0x20) != 0)" ( (binary_expression "(*pbVar6 & 0x20) != 0" (parenthesized_expression "(*pbVar6 & 0x20)" ( (binary_expression "*pbVar6 & 0x20" (pointer_expression "*pbVar6" * identifier) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0003c35f;" goto statement_identifier ;)) (labeled_statement "LAB_0003c1c5:\n      iVar2 = FUN_00038380(pbVar6);" statement_identifier : (expression_statement "iVar2 = FUN_00038380(pbVar6);" (assignment_expression "iVar2 = FUN_00038380(pbVar6)" identifier = (call_expression "FUN_00038380(pbVar6)" identifier (argument_list "(pbVar6)" ( identifier )))) ;)) (if_statement "if (iVar2 == 0) goto LAB_0003c1d9;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0003c1d9;" goto statement_identifier ;)) (labeled_statement "LAB_0003c387:\n      fwrite(" local",1,6,param_1);" statement_identifier : (expression_statement "fwrite(" local",1,6,param_1);" (call_expression "fwrite(" local",1,6,param_1)" identifier (argument_list "(" local",1,6,param_1)" ( (string_literal "" local"" " string_content ") , number_literal , number_literal , identifier ))) ;)) (expression_statement "iVar2 = FUN_000380a0(pbVar6);" (assignment_expression "iVar2 = FUN_000380a0(pbVar6)" identifier = (call_expression "FUN_000380a0(pbVar6)" identifier (argument_list "(pbVar6)" ( identifier )))) ;) (if_statement "if (iVar2 != 0) goto LAB_0003c3af;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0003c3af;" goto statement_identifier ;)) (labeled_statement "LAB_0003c1ed:\n      iVar2 = FUN_00038110(pbVar6);" statement_identifier : (expression_statement "iVar2 = FUN_00038110(pbVar6);" (assignment_expression "iVar2 = FUN_00038110(pbVar6)" identifier = (call_expression "FUN_00038110(pbVar6)" identifier (argument_list "(pbVar6)" ( identifier )))) ;)) }))) (if_statement "if (iVar2 != 0) {\n      fwrite(" weak",1,5,param_1);\n    }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n      fwrite(" weak",1,5,param_1);\n    }" { (expression_statement "fwrite(" weak",1,5,param_1);" (call_expression "fwrite(" weak",1,5,param_1)" identifier (argument_list "(" weak",1,5,param_1)" ( (string_literal "" weak"" " string_content ") , number_literal , number_literal , identifier ))) ;) })) (expression_statement "puVar3 = *(undefined4 **)(pbVar6 + 4);" (assignment_expression "puVar3 = *(undefined4 **)(pbVar6 + 4)" identifier = (pointer_expression "*(undefined4 **)(pbVar6 + 4)" * (cast_expression "(undefined4 **)(pbVar6 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pbVar6 + 4)" ( (binary_expression "pbVar6 + 4" identifier + number_literal) ))))) ;) (if_statement "if ((*pbVar6 & 1) == 0) {\n      if ((*(byte *)(puVar3 + 4) & 4) != 0) {\nLAB_0003c5a0:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00077d90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003c60c;\n          }\n          goto LAB_0003c2e0;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_0006efb4 + 0xc0) goto LAB_0003c2f4;\n      goto LAB_0003c22c;\n    }" if (parenthesized_expression "((*pbVar6 & 1) == 0)" ( (binary_expression "(*pbVar6 & 1) == 0" (parenthesized_expression "(*pbVar6 & 1)" ( (binary_expression "*pbVar6 & 1" (pointer_expression "*pbVar6" * identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      if ((*(byte *)(puVar3 + 4) & 4) != 0) {\nLAB_0003c5a0:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00077d90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003c60c;\n          }\n          goto LAB_0003c2e0;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_0006efb4 + 0xc0) goto LAB_0003c2f4;\n      goto LAB_0003c22c;\n    }" { (if_statement "if ((*(byte *)(puVar3 + 4) & 4) != 0) {\nLAB_0003c5a0:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00077d90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003c60c;\n          }\n          goto LAB_0003c2e0;\n        }\n      }" if (parenthesized_expression "((*(byte *)(puVar3 + 4) & 4) != 0)" ( (binary_expression "(*(byte *)(puVar3 + 4) & 4) != 0" (parenthesized_expression "(*(byte *)(puVar3 + 4) & 4)" ( (binary_expression "*(byte *)(puVar3 + 4) & 4" (pointer_expression "*(byte *)(puVar3 + 4)" * (cast_expression "(byte *)(puVar3 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 4)" ( (binary_expression "puVar3 + 4" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_0003c5a0:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00077d90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003c60c;\n          }\n          goto LAB_0003c2e0;\n        }\n      }" { (labeled_statement "LAB_0003c5a0:\n        fwrite(" debug",1,6,param_1);" statement_identifier : (expression_statement "fwrite(" debug",1,6,param_1);" (call_expression "fwrite(" debug",1,6,param_1)" identifier (argument_list "(" debug",1,6,param_1)" ( (string_literal "" debug"" " string_content ") , number_literal , number_literal , identifier ))) ;)) (expression_statement "puVar3 = *(undefined4 **)(pbVar6 + 4);" (assignment_expression "puVar3 = *(undefined4 **)(pbVar6 + 4)" identifier = (pointer_expression "*(undefined4 **)(pbVar6 + 4)" * (cast_expression "(undefined4 **)(pbVar6 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pbVar6 + 4)" ( (binary_expression "pbVar6 + 4" identifier + number_literal) ))))) ;) (if_statement "if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00077d90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003c60c;\n          }\n          goto LAB_0003c2e0;\n        }" if (parenthesized_expression "((*pbVar6 & 1) != 0)" ( (binary_expression "(*pbVar6 & 1) != 0" (parenthesized_expression "(*pbVar6 & 1)" ( (binary_expression "*pbVar6 & 1" (pointer_expression "*pbVar6" * identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n          if (puVar3 == DAT_00077d90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003c60c;\n          }\n          goto LAB_0003c2e0;\n        }" { (if_statement "if (puVar3 == DAT_00077d90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003c60c;\n          }" if (parenthesized_expression "(puVar3 == DAT_00077d90)" ( (binary_expression "puVar3 == DAT_00077d90" identifier == identifier) )) (compound_statement "{\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003c60c;\n          }" { (expression_statement "iVar2 = *(int *)(pbVar6 + 0xc);" (assignment_expression "iVar2 = *(int *)(pbVar6 + 0xc)" identifier = (pointer_expression "*(int *)(pbVar6 + 0xc)" * (cast_expression "(int *)(pbVar6 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar6 + 0xc)" ( (binary_expression "pbVar6 + 0xc" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0003c60c;" goto statement_identifier ;) })) (goto_statement "goto LAB_0003c2e0;" goto statement_identifier ;) })) })) (if_statement "if ((undefined *)puVar3[5] != PTR__bfd_std_section_0006efb4 + 0xc0) goto LAB_0003c2f4;" if (parenthesized_expression "((undefined *)puVar3[5] != PTR__bfd_std_section_0006efb4 + 0xc0)" ( (binary_expression "(undefined *)puVar3[5] != PTR__bfd_std_section_0006efb4 + 0xc0" (cast_expression "(undefined *)puVar3[5]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar3[5]" identifier [ number_literal ])) != (binary_expression "PTR__bfd_std_section_0006efb4 + 0xc0" identifier + number_literal)) )) (goto_statement "goto LAB_0003c2f4;" goto statement_identifier ;)) (goto_statement "goto LAB_0003c22c;" goto statement_identifier ;) })) (if_statement "if (DAT_00077d90 == puVar3) {\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003c5a0;\nLAB_0003c60c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0006efb4 + 0xc0)\n      goto LAB_0003c13e;\nLAB_0003c2f4:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003c13e;\n    }" if (parenthesized_expression "(DAT_00077d90 == puVar3)" ( (binary_expression "DAT_00077d90 == puVar3" identifier == identifier) )) (compound_statement "{\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003c5a0;\nLAB_0003c60c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0006efb4 + 0xc0)\n      goto LAB_0003c13e;\nLAB_0003c2f4:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003c13e;\n    }" { (expression_statement "iVar2 = *(int *)(pbVar6 + 0xc);" (assignment_expression "iVar2 = *(int *)(pbVar6 + 0xc)" identifier = (pointer_expression "*(int *)(pbVar6 + 0xc)" * (cast_expression "(int *)(pbVar6 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar6 + 0xc)" ( (binary_expression "pbVar6 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003c5a0;" if (parenthesized_expression "((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0)" ( (binary_expression "(*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0" (parenthesized_expression "(*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4)" ( (binary_expression "*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4" (pointer_expression "*(byte *)(*(int *)(iVar2 + 4) + 0x10)" * (cast_expression "(byte *)(*(int *)(iVar2 + 4) + 0x10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar2 + 4) + 0x10)" ( (binary_expression "*(int *)(iVar2 + 4) + 0x10" (pointer_expression "*(int *)(iVar2 + 4)" * (cast_expression "(int *)(iVar2 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 4)" ( (binary_expression "iVar2 + 4" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0003c5a0;" goto statement_identifier ;)) (labeled_statement "LAB_0003c60c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0006efb4 + 0xc0)\n      goto LAB_0003c13e;" statement_identifier : (if_statement "if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0006efb4 + 0xc0)\n      goto LAB_0003c13e;" if (parenthesized_expression "(*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0006efb4 + 0xc0)" ( (binary_expression "*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0006efb4 + 0xc0" (pointer_expression "*(undefined **)(*(int *)(iVar2 + 4) + 0x14)" * (cast_expression "(undefined **)(*(int *)(iVar2 + 4) + 0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(iVar2 + 4) + 0x14)" ( (binary_expression "*(int *)(iVar2 + 4) + 0x14" (pointer_expression "*(int *)(iVar2 + 4)" * (cast_expression "(int *)(iVar2 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 4)" ( (binary_expression "iVar2 + 4" identifier + number_literal) )))) + number_literal) )))) == (binary_expression "PTR__bfd_std_section_0006efb4 + 0xc0" identifier + number_literal)) )) (goto_statement "goto LAB_0003c13e;" goto statement_identifier ;))) (labeled_statement "LAB_0003c2f4:\n      fwrite(" defined",1,8,param_1);" statement_identifier : (expression_statement "fwrite(" defined",1,8,param_1);" (call_expression "fwrite(" defined",1,8,param_1)" identifier (argument_list "(" defined",1,8,param_1)" ( (string_literal "" defined"" " string_content ") , number_literal , number_literal , identifier ))) ;)) (goto_statement "goto LAB_0003c13e;" goto statement_identifier ;) })) (labeled_statement "LAB_0003c2e0:\n    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) goto LAB_0003c2f4;" statement_identifier : (if_statement "if (puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) goto LAB_0003c2f4;" if (parenthesized_expression "(puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0))" ( (binary_expression "puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)" identifier != (cast_expression "(undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__bfd_std_section_0006efb4 + 0xc0)" ( (binary_expression "PTR__bfd_std_section_0006efb4 + 0xc0" identifier + number_literal) )))) )) (goto_statement "goto LAB_0003c2f4;" goto statement_identifier ;))) (labeled_statement "LAB_0003c152:\n    if (DAT_00077d90 == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003c430:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c236;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 != puVar3) goto LAB_0003c248;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c468;\nLAB_0003c572:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c242;\n    }" statement_identifier : (if_statement "if (DAT_00077d90 == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003c430:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c236;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 != puVar3) goto LAB_0003c248;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c468;\nLAB_0003c572:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c242;\n    }" if (parenthesized_expression "(DAT_00077d90 == puVar3)" ( (binary_expression "DAT_00077d90 == puVar3" identifier == identifier) )) (compound_statement "{\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003c430:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c236;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 != puVar3) goto LAB_0003c248;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c468;\nLAB_0003c572:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c242;\n    }" { (if_statement "if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003c430:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c236;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 != puVar3) goto LAB_0003c248;\n      }" if (parenthesized_expression "((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0)" ( (binary_expression "(*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0" (parenthesized_expression "(*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2)" ( (binary_expression "*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2" (pointer_expression "*(byte *)(*(int *)(pbVar6 + 0xc) + 1)" * (cast_expression "(byte *)(*(int *)(pbVar6 + 0xc) + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pbVar6 + 0xc) + 1)" ( (binary_expression "*(int *)(pbVar6 + 0xc) + 1" (pointer_expression "*(int *)(pbVar6 + 0xc)" * (cast_expression "(int *)(pbVar6 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar6 + 0xc)" ( (binary_expression "pbVar6 + 0xc" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_0003c430:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c236;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 != puVar3) goto LAB_0003c248;\n      }" { (labeled_statement "LAB_0003c430:\n        fwrite(" weakrefr",1,9,param_1);" statement_identifier : (expression_statement "fwrite(" weakrefr",1,9,param_1);" (call_expression "fwrite(" weakrefr",1,9,param_1)" identifier (argument_list "(" weakrefr",1,9,param_1)" ( (string_literal "" weakrefr"" " string_content ") , number_literal , number_literal , identifier ))) ;)) (if_statement "if ((*pbVar6 & 1) == 0) goto LAB_0003c236;" if (parenthesized_expression "((*pbVar6 & 1) == 0)" ( (binary_expression "(*pbVar6 & 1) == 0" (parenthesized_expression "(*pbVar6 & 1)" ( (binary_expression "*pbVar6 & 1" (pointer_expression "*pbVar6" * identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0003c236;" goto statement_identifier ;)) (expression_statement "puVar3 = *(undefined4 **)(pbVar6 + 4);" (assignment_expression "puVar3 = *(undefined4 **)(pbVar6 + 4)" identifier = (pointer_expression "*(undefined4 **)(pbVar6 + 4)" * (cast_expression "(undefined4 **)(pbVar6 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pbVar6 + 4)" ( (binary_expression "pbVar6 + 4" identifier + number_literal) ))))) ;) (if_statement "if (DAT_00077d90 != puVar3) goto LAB_0003c248;" if (parenthesized_expression "(DAT_00077d90 != puVar3)" ( (binary_expression "DAT_00077d90 != puVar3" identifier != identifier) )) (goto_statement "goto LAB_0003c248;" goto statement_identifier ;)) })) (if_statement "if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c468;" if (parenthesized_expression "((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0)" ( (binary_expression "(*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0" (parenthesized_expression "(*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4)" ( (binary_expression "*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4" (pointer_expression "*(byte *)(*(int *)(pbVar6 + 0xc) + 1)" * (cast_expression "(byte *)(*(int *)(pbVar6 + 0xc) + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pbVar6 + 0xc) + 1)" ( (binary_expression "*(int *)(pbVar6 + 0xc) + 1" (pointer_expression "*(int *)(pbVar6 + 0xc)" * (cast_expression "(int *)(pbVar6 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar6 + 0xc)" ( (binary_expression "pbVar6 + 0xc" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0003c468;" goto statement_identifier ;)) (labeled_statement "LAB_0003c572:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);" statement_identifier : (expression_statement "pbVar5 = *(byte **)(pbVar6 + 0xc);" (assignment_expression "pbVar5 = *(byte **)(pbVar6 + 0xc)" identifier = (pointer_expression "*(byte **)(pbVar6 + 0xc)" * (cast_expression "(byte **)(pbVar6 + 0xc)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pbVar6 + 0xc)" ( (binary_expression "pbVar6 + 0xc" identifier + number_literal) ))))) ;)) (goto_statement "goto LAB_0003c242;" goto statement_identifier ;) }))) }) (else_clause "else {\n    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_0006ef70)) {\n      fwrite(" frag ",1,6,param_1);\n      fprintf(param_1,"%016llx",*(undefined4 *)(param_2 + 0xc),0);\n      bVar1 = *param_2;\n    }\n    if ((bVar1 & 4) != 0) {\n      fwrite(" resolved",1,9,param_1);\n    }\n    fwrite(" local",1,6,param_1);\n    pbVar6 = param_2;\nLAB_0003c13e:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003c152;\n    }\nLAB_0003c22c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003c430;\nLAB_0003c236:\n    pbVar5 = pbVar6;\n    if ((pbVar6[1] & 4) != 0) {\nLAB_0003c468:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 == puVar3) goto LAB_0003c572;\n        goto LAB_0003c248;\n      }\n    }\nLAB_0003c242:\n    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\n  }" else (compound_statement "{\n    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_0006ef70)) {\n      fwrite(" frag ",1,6,param_1);\n      fprintf(param_1,"%016llx",*(undefined4 *)(param_2 + 0xc),0);\n      bVar1 = *param_2;\n    }\n    if ((bVar1 & 4) != 0) {\n      fwrite(" resolved",1,9,param_1);\n    }\n    fwrite(" local",1,6,param_1);\n    pbVar6 = param_2;\nLAB_0003c13e:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003c152;\n    }\nLAB_0003c22c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003c430;\nLAB_0003c236:\n    pbVar5 = pbVar6;\n    if ((pbVar6[1] & 4) != 0) {\nLAB_0003c468:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 == puVar3) goto LAB_0003c572;\n        goto LAB_0003c248;\n      }\n    }\nLAB_0003c242:\n    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\n  }" { (if_statement "if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_0006ef70)) {\n      fwrite(" frag ",1,6,param_1);\n      fprintf(param_1,"%016llx",*(undefined4 *)(param_2 + 0xc),0);\n      bVar1 = *param_2;\n    }" if (parenthesized_expression "((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_0006ef70))" ( (binary_expression "(pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_0006ef70)" (parenthesized_expression "(pbVar6 != (byte *)0x0)" ( (binary_expression "pbVar6 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(pbVar6 != PTR_DAT_0006ef70)" ( (binary_expression "pbVar6 != PTR_DAT_0006ef70" identifier != identifier) ))) )) (compound_statement "{\n      fwrite(" frag ",1,6,param_1);\n      fprintf(param_1,"%016llx",*(undefined4 *)(param_2 + 0xc),0);\n      bVar1 = *param_2;\n    }" { (expression_statement "fwrite(" frag ",1,6,param_1);" (call_expression "fwrite(" frag ",1,6,param_1)" identifier (argument_list "(" frag ",1,6,param_1)" ( (string_literal "" frag "" " string_content ") , number_literal , number_literal , identifier ))) ;) (expression_statement "fprintf(param_1,"%016llx",*(undefined4 *)(param_2 + 0xc),0);" (call_expression "fprintf(param_1,"%016llx",*(undefined4 *)(param_2 + 0xc),0)" identifier (argument_list "(param_1,"%016llx",*(undefined4 *)(param_2 + 0xc),0)" ( identifier , (string_literal ""%016llx"" " string_content ") , (pointer_expression "*(undefined4 *)(param_2 + 0xc)" * (cast_expression "(undefined4 *)(param_2 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc)" ( (binary_expression "param_2 + 0xc" identifier + number_literal) )))) , number_literal ))) ;) (expression_statement "bVar1 = *param_2;" (assignment_expression "bVar1 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) })) (if_statement "if ((bVar1 & 4) != 0) {\n      fwrite(" resolved",1,9,param_1);\n    }" if (parenthesized_expression "((bVar1 & 4) != 0)" ( (binary_expression "(bVar1 & 4) != 0" (parenthesized_expression "(bVar1 & 4)" ( (binary_expression "bVar1 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      fwrite(" resolved",1,9,param_1);\n    }" { (expression_statement "fwrite(" resolved",1,9,param_1);" (call_expression "fwrite(" resolved",1,9,param_1)" identifier (argument_list "(" resolved",1,9,param_1)" ( (string_literal "" resolved"" " string_content ") , number_literal , number_literal , identifier ))) ;) })) (expression_statement "fwrite(" local",1,6,param_1);" (call_expression "fwrite(" local",1,6,param_1)" identifier (argument_list "(" local",1,6,param_1)" ( (string_literal "" local"" " string_content ") , number_literal , number_literal , identifier ))) ;) (expression_statement "pbVar6 = param_2;" (assignment_expression "pbVar6 = param_2" identifier = identifier) ;) (labeled_statement "LAB_0003c13e:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003c152;\n    }" statement_identifier : (if_statement "if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003c152;\n    }" if (parenthesized_expression "((*pbVar6 & 1) != 0)" ( (binary_expression "(*pbVar6 & 1) != 0" (parenthesized_expression "(*pbVar6 & 1)" ( (binary_expression "*pbVar6 & 1" (pointer_expression "*pbVar6" * identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003c152;\n    }" { (expression_statement "puVar3 = *(undefined4 **)(pbVar6 + 4);" (assignment_expression "puVar3 = *(undefined4 **)(pbVar6 + 4)" identifier = (pointer_expression "*(undefined4 **)(pbVar6 + 4)" * (cast_expression "(undefined4 **)(pbVar6 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pbVar6 + 4)" ( (binary_expression "pbVar6 + 4" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0003c152;" goto statement_identifier ;) }))) (labeled_statement "LAB_0003c22c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003c430;" statement_identifier : (if_statement "if ((pbVar6[1] & 2) != 0) goto LAB_0003c430;" if (parenthesized_expression "((pbVar6[1] & 2) != 0)" ( (binary_expression "(pbVar6[1] & 2) != 0" (parenthesized_expression "(pbVar6[1] & 2)" ( (binary_expression "pbVar6[1] & 2" (subscript_expression "pbVar6[1]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0003c430;" goto statement_identifier ;))) (labeled_statement "LAB_0003c236:\n    pbVar5 = pbVar6;" statement_identifier : (expression_statement "pbVar5 = pbVar6;" (assignment_expression "pbVar5 = pbVar6" identifier = identifier) ;)) (if_statement "if ((pbVar6[1] & 4) != 0) {\nLAB_0003c468:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 == puVar3) goto LAB_0003c572;\n        goto LAB_0003c248;\n      }\n    }" if (parenthesized_expression "((pbVar6[1] & 4) != 0)" ( (binary_expression "(pbVar6[1] & 4) != 0" (parenthesized_expression "(pbVar6[1] & 4)" ( (binary_expression "pbVar6[1] & 4" (subscript_expression "pbVar6[1]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_0003c468:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 == puVar3) goto LAB_0003c572;\n        goto LAB_0003c248;\n      }\n    }" { (labeled_statement "LAB_0003c468:\n      fwrite(" weakrefd",1,9,param_1);" statement_identifier : (expression_statement "fwrite(" weakrefd",1,9,param_1);" (call_expression "fwrite(" weakrefd",1,9,param_1)" identifier (argument_list "(" weakrefd",1,9,param_1)" ( (string_literal "" weakrefd"" " string_content ") , number_literal , number_literal , identifier ))) ;)) (expression_statement "pbVar5 = pbVar6;" (assignment_expression "pbVar5 = pbVar6" identifier = identifier) ;) (if_statement "if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 == puVar3) goto LAB_0003c572;\n        goto LAB_0003c248;\n      }" if (parenthesized_expression "((*pbVar6 & 1) != 0)" ( (binary_expression "(*pbVar6 & 1) != 0" (parenthesized_expression "(*pbVar6 & 1)" ( (binary_expression "*pbVar6 & 1" (pointer_expression "*pbVar6" * identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 == puVar3) goto LAB_0003c572;\n        goto LAB_0003c248;\n      }" { (expression_statement "puVar3 = *(undefined4 **)(pbVar6 + 4);" (assignment_expression "puVar3 = *(undefined4 **)(pbVar6 + 4)" identifier = (pointer_expression "*(undefined4 **)(pbVar6 + 4)" * (cast_expression "(undefined4 **)(pbVar6 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pbVar6 + 4)" ( (binary_expression "pbVar6 + 4" identifier + number_literal) ))))) ;) (if_statement "if (DAT_00077d90 == puVar3) goto LAB_0003c572;" if (parenthesized_expression "(DAT_00077d90 == puVar3)" ( (binary_expression "DAT_00077d90 == puVar3" identifier == identifier) )) (goto_statement "goto LAB_0003c572;" goto statement_identifier ;)) (goto_statement "goto LAB_0003c248;" goto statement_identifier ;) })) })) (labeled_statement "LAB_0003c242:\n    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);" statement_identifier : (expression_statement "puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);" (assignment_expression "puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14)" identifier = (pointer_expression "*(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14)" * (cast_expression "(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pbVar5 + 4) + 0x14)" ( (binary_expression "*(int *)(pbVar5 + 4) + 0x14" (pointer_expression "*(int *)(pbVar5 + 4)" * (cast_expression "(int *)(pbVar5 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar5 + 4)" ( (binary_expression "pbVar5 + 4" identifier + number_literal) )))) + number_literal) ))))) ;)) }))) (labeled_statement "LAB_0003c248:\n  fprintf(param_1," %s",*puVar3);" statement_identifier : (expression_statement "fprintf(param_1," %s",*puVar3);" (call_expression "fprintf(param_1," %s",*puVar3)" identifier (argument_list "(param_1," %s",*puVar3)" ( identifier , (string_literal "" %s"" " string_content ") , (pointer_expression "*puVar3" * identifier) ))) ;)) (expression_statement "bVar1 = *pbVar6;" (assignment_expression "bVar1 = *pbVar6" identifier = (pointer_expression "*pbVar6" * identifier)) ;) (if_statement "if ((bVar1 & 1) == 0) {\n    pbVar5 = pbVar6;\n    if ((bVar1 & 4) != 0) {\nLAB_0003c316:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003c283:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) &&\n         (DAT_00077ce0 != puVar3)) {\n        uVar4 = FUN_00039db0();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003c2b7;\n    }\n    if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n    iVar2 = *(int *)(pbVar6 + 4);\nLAB_0003c338:\n    puVar3 = *(undefined4 **)(iVar2 + 0x14);\n  }\n  else {\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if (puVar3 == DAT_00077d90) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003c316;\n      if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003c338;\n    }\n    if ((bVar1 & 4) != 0) goto LAB_0003c283;\n    if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n  }" if (parenthesized_expression "((bVar1 & 1) == 0)" ( (binary_expression "(bVar1 & 1) == 0" (parenthesized_expression "(bVar1 & 1)" ( (binary_expression "bVar1 & 1" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    pbVar5 = pbVar6;\n    if ((bVar1 & 4) != 0) {\nLAB_0003c316:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003c283:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) &&\n         (DAT_00077ce0 != puVar3)) {\n        uVar4 = FUN_00039db0();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003c2b7;\n    }\n    if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n    iVar2 = *(int *)(pbVar6 + 4);\nLAB_0003c338:\n    puVar3 = *(undefined4 **)(iVar2 + 0x14);\n  }" { (expression_statement "pbVar5 = pbVar6;" (assignment_expression "pbVar5 = pbVar6" identifier = identifier) ;) (if_statement "if ((bVar1 & 4) != 0) {\nLAB_0003c316:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003c283:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) &&\n         (DAT_00077ce0 != puVar3)) {\n        uVar4 = FUN_00039db0();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003c2b7;\n    }" if (parenthesized_expression "((bVar1 & 4) != 0)" ( (binary_expression "(bVar1 & 4) != 0" (parenthesized_expression "(bVar1 & 4)" ( (binary_expression "bVar1 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_0003c316:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003c283:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) &&\n         (DAT_00077ce0 != puVar3)) {\n        uVar4 = FUN_00039db0();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003c2b7;\n    }" { (labeled_statement "LAB_0003c316:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);" statement_identifier : (expression_statement "puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);" (assignment_expression "puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14)" identifier = (pointer_expression "*(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14)" * (cast_expression "(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pbVar5 + 4) + 0x14)" ( (binary_expression "*(int *)(pbVar5 + 4) + 0x14" (pointer_expression "*(int *)(pbVar5 + 4)" * (cast_expression "(int *)(pbVar5 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar5 + 4)" ( (binary_expression "pbVar5 + 4" identifier + number_literal) )))) + number_literal) ))))) ;)) (labeled_statement "LAB_0003c283:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) &&\n         (DAT_00077ce0 != puVar3)) {\n        uVar4 = FUN_00039db0();\n        fprintf(param_1," %lx",uVar4);\n      }" statement_identifier : (if_statement "if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) &&\n         (DAT_00077ce0 != puVar3)) {\n        uVar4 = FUN_00039db0();\n        fprintf(param_1," %lx",uVar4);\n      }" if (parenthesized_expression "((puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) &&\n         (DAT_00077ce0 != puVar3))" ( (binary_expression "(puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) &&\n         (DAT_00077ce0 != puVar3)" (parenthesized_expression "(puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0))" ( (binary_expression "puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)" identifier != (cast_expression "(undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__bfd_std_section_0006efb4 + 0xc0)" ( (binary_expression "PTR__bfd_std_section_0006efb4 + 0xc0" identifier + number_literal) )))) )) && (parenthesized_expression "(DAT_00077ce0 != puVar3)" ( (binary_expression "DAT_00077ce0 != puVar3" identifier != identifier) ))) )) (compound_statement "{\n        uVar4 = FUN_00039db0();\n        fprintf(param_1," %lx",uVar4);\n      }" { (expression_statement "uVar4 = FUN_00039db0();" (assignment_expression "uVar4 = FUN_00039db0()" identifier = (call_expression "FUN_00039db0()" identifier (argument_list "()" ( )))) ;) (expression_statement "fprintf(param_1," %lx",uVar4);" (call_expression "fprintf(param_1," %lx",uVar4)" identifier (argument_list "(param_1," %lx",uVar4)" ( identifier , (string_literal "" %lx"" " string_content ") , identifier ))) ;) }))) (goto_statement "goto LAB_0003c2b7;" goto statement_identifier ;) })) (if_statement "if (7 < DAT_00077fcc) goto LAB_0003c2b7;" if (parenthesized_expression "(7 < DAT_00077fcc)" ( (binary_expression "7 < DAT_00077fcc" number_literal < identifier) )) (goto_statement "goto LAB_0003c2b7;" goto statement_identifier ;)) (expression_statement "iVar2 = *(int *)(pbVar6 + 4);" (assignment_expression "iVar2 = *(int *)(pbVar6 + 4)" identifier = (pointer_expression "*(int *)(pbVar6 + 4)" * (cast_expression "(int *)(pbVar6 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar6 + 4)" ( (binary_expression "pbVar6 + 4" identifier + number_literal) ))))) ;) (labeled_statement "LAB_0003c338:\n    puVar3 = *(undefined4 **)(iVar2 + 0x14);" statement_identifier : (expression_statement "puVar3 = *(undefined4 **)(iVar2 + 0x14);" (assignment_expression "puVar3 = *(undefined4 **)(iVar2 + 0x14)" identifier = (pointer_expression "*(undefined4 **)(iVar2 + 0x14)" * (cast_expression "(undefined4 **)(iVar2 + 0x14)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 0x14)" ( (binary_expression "iVar2 + 0x14" identifier + number_literal) ))))) ;)) }) (else_clause "else {\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if (puVar3 == DAT_00077d90) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003c316;\n      if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003c338;\n    }\n    if ((bVar1 & 4) != 0) goto LAB_0003c283;\n    if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n  }" else (compound_statement "{\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if (puVar3 == DAT_00077d90) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003c316;\n      if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003c338;\n    }\n    if ((bVar1 & 4) != 0) goto LAB_0003c283;\n    if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n  }" { (expression_statement "puVar3 = *(undefined4 **)(pbVar6 + 4);" (assignment_expression "puVar3 = *(undefined4 **)(pbVar6 + 4)" identifier = (pointer_expression "*(undefined4 **)(pbVar6 + 4)" * (cast_expression "(undefined4 **)(pbVar6 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pbVar6 + 4)" ( (binary_expression "pbVar6 + 4" identifier + number_literal) ))))) ;) (if_statement "if (puVar3 == DAT_00077d90) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003c316;\n      if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003c338;\n    }" if (parenthesized_expression "(puVar3 == DAT_00077d90)" ( (binary_expression "puVar3 == DAT_00077d90" identifier == identifier) )) (compound_statement "{\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003c316;\n      if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003c338;\n    }" { (expression_statement "pbVar5 = *(byte **)(pbVar6 + 0xc);" (assignment_expression "pbVar5 = *(byte **)(pbVar6 + 0xc)" identifier = (pointer_expression "*(byte **)(pbVar6 + 0xc)" * (cast_expression "(byte **)(pbVar6 + 0xc)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pbVar6 + 0xc)" ( (binary_expression "pbVar6 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if ((*pbVar5 & 4) != 0) goto LAB_0003c316;" if (parenthesized_expression "((*pbVar5 & 4) != 0)" ( (binary_expression "(*pbVar5 & 4) != 0" (parenthesized_expression "(*pbVar5 & 4)" ( (binary_expression "*pbVar5 & 4" (pointer_expression "*pbVar5" * identifier) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0003c316;" goto statement_identifier ;)) (if_statement "if (7 < DAT_00077fcc) goto LAB_0003c2b7;" if (parenthesized_expression "(7 < DAT_00077fcc)" ( (binary_expression "7 < DAT_00077fcc" number_literal < identifier) )) (goto_statement "goto LAB_0003c2b7;" goto statement_identifier ;)) (expression_statement "iVar2 = *(int *)(pbVar5 + 4);" (assignment_expression "iVar2 = *(int *)(pbVar5 + 4)" identifier = (pointer_expression "*(int *)(pbVar5 + 4)" * (cast_expression "(int *)(pbVar5 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar5 + 4)" ( (binary_expression "pbVar5 + 4" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0003c338;" goto statement_identifier ;) })) (if_statement "if ((bVar1 & 4) != 0) goto LAB_0003c283;" if (parenthesized_expression "((bVar1 & 4) != 0)" ( (binary_expression "(bVar1 & 4) != 0" (parenthesized_expression "(bVar1 & 4)" ( (binary_expression "bVar1 & 4" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0003c283;" goto statement_identifier ;)) (if_statement "if (7 < DAT_00077fcc) goto LAB_0003c2b7;" if (parenthesized_expression "(7 < DAT_00077fcc)" ( (binary_expression "7 < DAT_00077fcc" number_literal < identifier) )) (goto_statement "goto LAB_0003c2b7;" goto statement_identifier ;)) }))) (if_statement "if (puVar3 == (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) goto LAB_0003c2b7;" if (parenthesized_expression "(puVar3 == (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0))" ( (binary_expression "puVar3 == (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)" identifier == (cast_expression "(undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__bfd_std_section_0006efb4 + 0xc0)" ( (binary_expression "PTR__bfd_std_section_0006efb4 + 0xc0" identifier + number_literal) )))) )) (goto_statement "goto LAB_0003c2b7;" goto statement_identifier ;)) (expression_statement "DAT_00077fcc = DAT_00077fcc + 1;" (assignment_expression "DAT_00077fcc = DAT_00077fcc + 1" identifier = (binary_expression "DAT_00077fcc + 1" identifier + number_literal)) ;) (expression_statement "puVar8 = &DAT_00050b45;" (assignment_expression "puVar8 = &DAT_00050b45" identifier = (pointer_expression "&DAT_00050b45" & identifier)) ;) (expression_statement "fprintf(param_1,"\n%*s<",DAT_00077fcc * 4,&DAT_00050b45);" (call_expression "fprintf(param_1,"\n%*s<",DAT_00077fcc * 4,&DAT_00050b45)" identifier (argument_list "(param_1,"\n%*s<",DAT_00077fcc * 4,&DAT_00050b45)" ( identifier , (string_literal ""\n%*s<"" " escape_sequence string_content ") , (binary_expression "DAT_00077fcc * 4" identifier * number_literal) , (pointer_expression "&DAT_00050b45" & identifier) ))) ;) (if_statement "if ((*pbVar6 & 1) == 0) {\nLAB_0003c633:\n    FUN_0003bba0(param_1,pbVar6 + 8);\n  }\n  else {\n    if (*(undefined4 **)(pbVar6 + 4) == DAT_00077d90) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c633;\n    }\n    fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);\n  }" if (parenthesized_expression "((*pbVar6 & 1) == 0)" ( (binary_expression "(*pbVar6 & 1) == 0" (parenthesized_expression "(*pbVar6 & 1)" ( (binary_expression "*pbVar6 & 1" (pointer_expression "*pbVar6" * identifier) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_0003c633:\n    FUN_0003bba0(param_1,pbVar6 + 8);\n  }" { (labeled_statement "LAB_0003c633:\n    FUN_0003bba0(param_1,pbVar6 + 8);" statement_identifier : (expression_statement "FUN_0003bba0(param_1,pbVar6 + 8);" (call_expression "FUN_0003bba0(param_1,pbVar6 + 8)" identifier (argument_list "(param_1,pbVar6 + 8)" ( identifier , (binary_expression "pbVar6 + 8" identifier + number_literal) ))) ;)) }) (else_clause "else {\n    if (*(undefined4 **)(pbVar6 + 4) == DAT_00077d90) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c633;\n    }\n    fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);\n  }" else (compound_statement "{\n    if (*(undefined4 **)(pbVar6 + 4) == DAT_00077d90) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c633;\n    }\n    fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);\n  }" { (if_statement "if (*(undefined4 **)(pbVar6 + 4) == DAT_00077d90) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c633;\n    }" if (parenthesized_expression "(*(undefined4 **)(pbVar6 + 4) == DAT_00077d90)" ( (binary_expression "*(undefined4 **)(pbVar6 + 4) == DAT_00077d90" (pointer_expression "*(undefined4 **)(pbVar6 + 4)" * (cast_expression "(undefined4 **)(pbVar6 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pbVar6 + 4)" ( (binary_expression "pbVar6 + 4" identifier + number_literal) )))) == identifier) )) (compound_statement "{\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c633;\n    }" { (expression_statement "pbVar6 = *(byte **)(pbVar6 + 0xc);" (assignment_expression "pbVar6 = *(byte **)(pbVar6 + 0xc)" identifier = (pointer_expression "*(byte **)(pbVar6 + 0xc)" * (cast_expression "(byte **)(pbVar6 + 0xc)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pbVar6 + 0xc)" ( (binary_expression "pbVar6 + 0xc" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0003c633;" goto statement_identifier ;) })) (expression_statement "fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);" (call_expression "fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8)" identifier (argument_list "(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8)" ( identifier , (string_literal ""constant %lx"" " string_content ") , (pointer_expression "*(undefined4 *)(pbVar6 + 0x10)" * (cast_expression "(undefined4 *)(pbVar6 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar6 + 0x10)" ( (binary_expression "pbVar6 + 0x10" identifier + number_literal) )))) , identifier ))) ;) }))) (expression_statement "fputc(0x3e,param_1);" (call_expression "fputc(0x3e,param_1)" identifier (argument_list "(0x3e,param_1)" ( number_literal , identifier ))) ;) (expression_statement "DAT_00077fcc = DAT_00077fcc + -1;" (assignment_expression "DAT_00077fcc = DAT_00077fcc + -1" identifier = (binary_expression "DAT_00077fcc + -1" identifier + number_literal)) ;) (labeled_statement "LAB_0003c2b7:\n  fflush(param_1);" statement_identifier : (expression_statement "fflush(param_1);" (call_expression "fflush(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;)) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid print_symbol_value_1(FILE *file,symbolS *sym)\n\n{\n  symbol_flags sVar1;\n  byte bVar2;\n  int iVar3;\n  segT paVar4;\n  symbolS *psVar5;\n  asymbol *paVar6;\n  symbolS *psVar7;\n  valueT vVar8;\n  undefined *puVar9;\n  \n  paVar4 = (segT)sym->bsym;\n  if (((uint)sym->sy_flags & 1) == 0) {\nLAB_0003c086:\n    psVar7 = (symbolS *)paVar4->id;\n    if (psVar7 == (symbolS *)0x0) goto LAB_0003c073;\nLAB_0003c08d:\n    if (*(char *)&psVar7->sy_flags == '\0') {\n      psVar7 = (symbolS *)"(unnamed)";\n    }\n  }\n  else {\n    if (reg_section == paVar4) {\n      paVar4 = (segT)((sym->sy_value).X_op_symbol)->bsym;\n      goto LAB_0003c086;\n    }\n    psVar7 = (sym->sy_value).X_add_symbol;\n    if (psVar7 != (symbolS *)0x0) goto LAB_0003c08d;\nLAB_0003c073:\n    psVar7 = (symbolS *)"(unnamed)";\n  }\n  fwrite(&DAT_00053e44,1,4,(FILE *)file);\n  fprintf((FILE *)file,"%016llx",sym,0);\n  fprintf((FILE *)file," %s",psVar7);\n  bVar2 = *(byte *)&sym->sy_flags;\n  psVar7 = sym;\n  if (((bVar2 & 1) == 0) || (psVar7 = (sym->sy_value).X_op_symbol, (segT)sym->bsym == reg_section))\n  {\n    if (psVar7->sy_frag != &zero_address_frag) {\n      fwrite(" frag ",1,6,(FILE *)file);\n      fprintf((FILE *)file,"%016llx",psVar7->sy_frag,0);\n    }\n    bVar2 = *(byte *)&psVar7->sy_flags;\n    if ((bVar2 & 2) != 0) {\n      fwrite(" written",1,8,(FILE *)file);\n      bVar2 = *(byte *)&psVar7->sy_flags;\n    }\n    if ((bVar2 & 4) == 0) {\n      if ((bVar2 & 8) != 0) {\n        fwrite(" resolving",1,10,(FILE *)file);\n        bVar2 = *(byte *)&psVar7->sy_flags;\n      }\n    }\n    else {\n      fwrite(" resolved",1,9,(FILE *)file);\n      bVar2 = *(byte *)&psVar7->sy_flags;\n    }\n    if ((bVar2 & 0x10) == 0) {\n      if ((bVar2 & 0x20) == 0) goto LAB_0003c1c5;\nLAB_0003c35f:\n      fwrite(" used",1,5,(FILE *)file);\n      iVar3 = S_IS_LOCAL(psVar7);\n      if (iVar3 != 0) goto LAB_0003c387;\nLAB_0003c1d9:\n      iVar3 = S_IS_EXTERNAL(psVar7);\n      if (iVar3 == 0) goto LAB_0003c1ed;\nLAB_0003c3af:\n      fwrite(" extern",1,7,(FILE *)file);\n      iVar3 = S_IS_WEAK(psVar7);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,(FILE *)file);\n      if (((uint)psVar7->sy_flags & 0x20) != 0) goto LAB_0003c35f;\nLAB_0003c1c5:\n      iVar3 = S_IS_LOCAL(psVar7);\n      if (iVar3 == 0) goto LAB_0003c1d9;\nLAB_0003c387:\n      fwrite(" local",1,6,(FILE *)file);\n      iVar3 = S_IS_EXTERNAL(psVar7);\n      if (iVar3 != 0) goto LAB_0003c3af;\nLAB_0003c1ed:\n      iVar3 = S_IS_WEAK(psVar7);\n    }\n    if (iVar3 != 0) {\n      fwrite(&DAT_00053e92,1,5,(FILE *)file);\n    }\n    paVar4 = (segT)psVar7->bsym;\n    if (((uint)psVar7->sy_flags & 1) == 0) {\n      if (((uint)paVar4->prev & 4) != 0) {\nLAB_0003c5a0:\n        fwrite(" debug",1,6,(FILE *)file);\n        paVar4 = (segT)psVar7->bsym;\n        if (((uint)psVar7->sy_flags & 1) != 0) {\n          if (paVar4 == reg_section) {\n            psVar5 = (psVar7->sy_value).X_op_symbol;\n            goto LAB_0003c60c;\n          }\n          goto LAB_0003c2e0;\n        }\n      }\n      if ((undefined *)paVar4->flags != PTR__bfd_std_section_0006efb4 + 0xc0) goto LAB_0003c2f4;\n      goto LAB_0003c22c;\n    }\n    if (reg_section == paVar4) {\n      psVar5 = (psVar7->sy_value).X_op_symbol;\n      if ((psVar5->bsym->flags & 4) != 0) goto LAB_0003c5a0;\nLAB_0003c60c:\n      if (psVar5->bsym->section == (bfd_section *)(PTR__bfd_std_section_0006efb4 + 0xc0))\n      goto LAB_0003c13e;\nLAB_0003c2f4:\n      fwrite(" defined",1,8,(FILE *)file);\n      goto LAB_0003c13e;\n    }\nLAB_0003c2e0:\n    if (paVar4 != (segT)(PTR__bfd_std_section_0006efb4 + 0xc0)) goto LAB_0003c2f4;\nLAB_0003c152:\n    if (reg_section == paVar4) {\n      if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 2) != 0) {\nLAB_0003c430:\n        fwrite(" weakrefr",1,9,(FILE *)file);\n        if (((uint)psVar7->sy_flags & 1) == 0) goto LAB_0003c236;\n        paVar4 = (segT)psVar7->bsym;\n        if (reg_section != paVar4) goto LAB_0003c248;\n      }\n      if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 4) != 0) goto LAB_0003c468;\nLAB_0003c572:\n      psVar5 = (psVar7->sy_value).X_op_symbol;\n      goto LAB_0003c242;\n    }\n  }\n  else {\n    if ((psVar7 != (symbolS *)0x0) && (psVar7 != (symbolS *)PTR_zero_address_frag_0006ef70)) {\n      fwrite(" frag ",1,6,(FILE *)file);\n      fprintf((FILE *)file,"%016llx",(sym->sy_value).X_op_symbol,0);\n      bVar2 = *(byte *)&sym->sy_flags;\n    }\n    if ((bVar2 & 4) != 0) {\n      fwrite(" resolved",1,9,(FILE *)file);\n    }\n    fwrite(" local",1,6,(FILE *)file);\n    psVar7 = sym;\nLAB_0003c13e:\n    if (((uint)psVar7->sy_flags & 1) != 0) {\n      paVar4 = (segT)psVar7->bsym;\n      goto LAB_0003c152;\n    }\nLAB_0003c22c:\n    if (((psVar7->sy_flags).field_0x1 & 2) != 0) goto LAB_0003c430;\nLAB_0003c236:\n    psVar5 = psVar7;\n    if (((psVar7->sy_flags).field_0x1 & 4) != 0) {\nLAB_0003c468:\n      fwrite(" weakrefd",1,9,(FILE *)file);\n      psVar5 = psVar7;\n      if (((uint)psVar7->sy_flags & 1) != 0) {\n        paVar4 = (segT)psVar7->bsym;\n        if (reg_section == paVar4) goto LAB_0003c572;\n        goto LAB_0003c248;\n      }\n    }\nLAB_0003c242:\n    paVar4 = psVar5->bsym->section;\n  }\nLAB_0003c248:\n  fprintf((FILE *)file," %s",paVar4->name);\n  sVar1 = psVar7->sy_flags;\n  if (((uint)sVar1 & 1) == 0) {\n    psVar5 = psVar7;\n    if (((uint)sVar1 & 4) != 0) {\nLAB_0003c316:\n      paVar4 = psVar5->bsym->section;\nLAB_0003c283:\n      if ((paVar4 != (segT)(PTR__bfd_std_section_0006efb4 + 0xc0)) && (expr_section != paVar4)) {\n        vVar8 = S_GET_VALUE(psVar7);\n        fprintf((FILE *)file," %lx",(int)vVar8);\n      }\n      goto LAB_0003c2b7;\n    }\n    if (7 < indent_level) goto LAB_0003c2b7;\n    paVar6 = psVar7->bsym;\nLAB_0003c338:\n    paVar4 = paVar6->section;\n  }\n  else {\n    paVar4 = (segT)psVar7->bsym;\n    if (paVar4 == reg_section) {\n      psVar5 = (psVar7->sy_value).X_op_symbol;\n      if (((uint)psVar5->sy_flags & 4) != 0) goto LAB_0003c316;\n      if (7 < indent_level) goto LAB_0003c2b7;\n      paVar6 = psVar5->bsym;\n      goto LAB_0003c338;\n    }\n    if (((uint)sVar1 & 4) != 0) goto LAB_0003c283;\n    if (7 < indent_level) goto LAB_0003c2b7;\n  }\n  if (paVar4 == (segT)(PTR__bfd_std_section_0006efb4 + 0xc0)) goto LAB_0003c2b7;\n  indent_level = indent_level + 1;\n  puVar9 = &DAT_00050b45;\n  fprintf((FILE *)file,"\n%*s<",indent_level * 4,&DAT_00050b45);\n  if (((uint)psVar7->sy_flags & 1) == 0) {\nLAB_0003c633:\n    print_expr_1(file,&psVar7->sy_value);\n  }\n  else {\n    if ((segT)psVar7->bsym == reg_section) {\n      psVar7 = (psVar7->sy_value).X_op_symbol;\n      goto LAB_0003c633;\n    }\n    fprintf((FILE *)file,"constant %lx",(int)(psVar7->sy_value).X_add_number,puVar9);\n  }\n  fputc(0x3e,(FILE *)file);\n  indent_level = indent_level + -1;\nLAB_0003c2b7:\n  fflush((FILE *)file);\n  return;\n}\n\n" comment (function_definition "void print_symbol_value_1(FILE *file,symbolS *sym)\n\n{\n  symbol_flags sVar1;\n  byte bVar2;\n  int iVar3;\n  segT paVar4;\n  symbolS *psVar5;\n  asymbol *paVar6;\n  symbolS *psVar7;\n  valueT vVar8;\n  undefined *puVar9;\n  \n  paVar4 = (segT)sym->bsym;\n  if (((uint)sym->sy_flags & 1) == 0) {\nLAB_0003c086:\n    psVar7 = (symbolS *)paVar4->id;\n    if (psVar7 == (symbolS *)0x0) goto LAB_0003c073;\nLAB_0003c08d:\n    if (*(char *)&psVar7->sy_flags == '\0') {\n      psVar7 = (symbolS *)"(unnamed)";\n    }\n  }\n  else {\n    if (reg_section == paVar4) {\n      paVar4 = (segT)((sym->sy_value).X_op_symbol)->bsym;\n      goto LAB_0003c086;\n    }\n    psVar7 = (sym->sy_value).X_add_symbol;\n    if (psVar7 != (symbolS *)0x0) goto LAB_0003c08d;\nLAB_0003c073:\n    psVar7 = (symbolS *)"(unnamed)";\n  }\n  fwrite(&DAT_00053e44,1,4,(FILE *)file);\n  fprintf((FILE *)file,"%016llx",sym,0);\n  fprintf((FILE *)file," %s",psVar7);\n  bVar2 = *(byte *)&sym->sy_flags;\n  psVar7 = sym;\n  if (((bVar2 & 1) == 0) || (psVar7 = (sym->sy_value).X_op_symbol, (segT)sym->bsym == reg_section))\n  {\n    if (psVar7->sy_frag != &zero_address_frag) {\n      fwrite(" frag ",1,6,(FILE *)file);\n      fprintf((FILE *)file,"%016llx",psVar7->sy_frag,0);\n    }\n    bVar2 = *(byte *)&psVar7->sy_flags;\n    if ((bVar2 & 2) != 0) {\n      fwrite(" written",1,8,(FILE *)file);\n      bVar2 = *(byte *)&psVar7->sy_flags;\n    }\n    if ((bVar2 & 4) == 0) {\n      if ((bVar2 & 8) != 0) {\n        fwrite(" resolving",1,10,(FILE *)file);\n        bVar2 = *(byte *)&psVar7->sy_flags;\n      }\n    }\n    else {\n      fwrite(" resolved",1,9,(FILE *)file);\n      bVar2 = *(byte *)&psVar7->sy_flags;\n    }\n    if ((bVar2 & 0x10) == 0) {\n      if ((bVar2 & 0x20) == 0) goto LAB_0003c1c5;\nLAB_0003c35f:\n      fwrite(" used",1,5,(FILE *)file);\n      iVar3 = S_IS_LOCAL(psVar7);\n      if (iVar3 != 0) goto LAB_0003c387;\nLAB_0003c1d9:\n      iVar3 = S_IS_EXTERNAL(psVar7);\n      if (iVar3 == 0) goto LAB_0003c1ed;\nLAB_0003c3af:\n      fwrite(" extern",1,7,(FILE *)file);\n      iVar3 = S_IS_WEAK(psVar7);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,(FILE *)file);\n      if (((uint)psVar7->sy_flags & 0x20) != 0) goto LAB_0003c35f;\nLAB_0003c1c5:\n      iVar3 = S_IS_LOCAL(psVar7);\n      if (iVar3 == 0) goto LAB_0003c1d9;\nLAB_0003c387:\n      fwrite(" local",1,6,(FILE *)file);\n      iVar3 = S_IS_EXTERNAL(psVar7);\n      if (iVar3 != 0) goto LAB_0003c3af;\nLAB_0003c1ed:\n      iVar3 = S_IS_WEAK(psVar7);\n    }\n    if (iVar3 != 0) {\n      fwrite(&DAT_00053e92,1,5,(FILE *)file);\n    }\n    paVar4 = (segT)psVar7->bsym;\n    if (((uint)psVar7->sy_flags & 1) == 0) {\n      if (((uint)paVar4->prev & 4) != 0) {\nLAB_0003c5a0:\n        fwrite(" debug",1,6,(FILE *)file);\n        paVar4 = (segT)psVar7->bsym;\n        if (((uint)psVar7->sy_flags & 1) != 0) {\n          if (paVar4 == reg_section) {\n            psVar5 = (psVar7->sy_value).X_op_symbol;\n            goto LAB_0003c60c;\n          }\n          goto LAB_0003c2e0;\n        }\n      }\n      if ((undefined *)paVar4->flags != PTR__bfd_std_section_0006efb4 + 0xc0) goto LAB_0003c2f4;\n      goto LAB_0003c22c;\n    }\n    if (reg_section == paVar4) {\n      psVar5 = (psVar7->sy_value).X_op_symbol;\n      if ((psVar5->bsym->flags & 4) != 0) goto LAB_0003c5a0;\nLAB_0003c60c:\n      if (psVar5->bsym->section == (bfd_section *)(PTR__bfd_std_section_0006efb4 + 0xc0))\n      goto LAB_0003c13e;\nLAB_0003c2f4:\n      fwrite(" defined",1,8,(FILE *)file);\n      goto LAB_0003c13e;\n    }\nLAB_0003c2e0:\n    if (paVar4 != (segT)(PTR__bfd_std_section_0006efb4 + 0xc0)) goto LAB_0003c2f4;\nLAB_0003c152:\n    if (reg_section == paVar4) {\n      if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 2) != 0) {\nLAB_0003c430:\n        fwrite(" weakrefr",1,9,(FILE *)file);\n        if (((uint)psVar7->sy_flags & 1) == 0) goto LAB_0003c236;\n        paVar4 = (segT)psVar7->bsym;\n        if (reg_section != paVar4) goto LAB_0003c248;\n      }\n      if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 4) != 0) goto LAB_0003c468;\nLAB_0003c572:\n      psVar5 = (psVar7->sy_value).X_op_symbol;\n      goto LAB_0003c242;\n    }\n  }\n  else {\n    if ((psVar7 != (symbolS *)0x0) && (psVar7 != (symbolS *)PTR_zero_address_frag_0006ef70)) {\n      fwrite(" frag ",1,6,(FILE *)file);\n      fprintf((FILE *)file,"%016llx",(sym->sy_value).X_op_symbol,0);\n      bVar2 = *(byte *)&sym->sy_flags;\n    }\n    if ((bVar2 & 4) != 0) {\n      fwrite(" resolved",1,9,(FILE *)file);\n    }\n    fwrite(" local",1,6,(FILE *)file);\n    psVar7 = sym;\nLAB_0003c13e:\n    if (((uint)psVar7->sy_flags & 1) != 0) {\n      paVar4 = (segT)psVar7->bsym;\n      goto LAB_0003c152;\n    }\nLAB_0003c22c:\n    if (((psVar7->sy_flags).field_0x1 & 2) != 0) goto LAB_0003c430;\nLAB_0003c236:\n    psVar5 = psVar7;\n    if (((psVar7->sy_flags).field_0x1 & 4) != 0) {\nLAB_0003c468:\n      fwrite(" weakrefd",1,9,(FILE *)file);\n      psVar5 = psVar7;\n      if (((uint)psVar7->sy_flags & 1) != 0) {\n        paVar4 = (segT)psVar7->bsym;\n        if (reg_section == paVar4) goto LAB_0003c572;\n        goto LAB_0003c248;\n      }\n    }\nLAB_0003c242:\n    paVar4 = psVar5->bsym->section;\n  }\nLAB_0003c248:\n  fprintf((FILE *)file," %s",paVar4->name);\n  sVar1 = psVar7->sy_flags;\n  if (((uint)sVar1 & 1) == 0) {\n    psVar5 = psVar7;\n    if (((uint)sVar1 & 4) != 0) {\nLAB_0003c316:\n      paVar4 = psVar5->bsym->section;\nLAB_0003c283:\n      if ((paVar4 != (segT)(PTR__bfd_std_section_0006efb4 + 0xc0)) && (expr_section != paVar4)) {\n        vVar8 = S_GET_VALUE(psVar7);\n        fprintf((FILE *)file," %lx",(int)vVar8);\n      }\n      goto LAB_0003c2b7;\n    }\n    if (7 < indent_level) goto LAB_0003c2b7;\n    paVar6 = psVar7->bsym;\nLAB_0003c338:\n    paVar4 = paVar6->section;\n  }\n  else {\n    paVar4 = (segT)psVar7->bsym;\n    if (paVar4 == reg_section) {\n      psVar5 = (psVar7->sy_value).X_op_symbol;\n      if (((uint)psVar5->sy_flags & 4) != 0) goto LAB_0003c316;\n      if (7 < indent_level) goto LAB_0003c2b7;\n      paVar6 = psVar5->bsym;\n      goto LAB_0003c338;\n    }\n    if (((uint)sVar1 & 4) != 0) goto LAB_0003c283;\n    if (7 < indent_level) goto LAB_0003c2b7;\n  }\n  if (paVar4 == (segT)(PTR__bfd_std_section_0006efb4 + 0xc0)) goto LAB_0003c2b7;\n  indent_level = indent_level + 1;\n  puVar9 = &DAT_00050b45;\n  fprintf((FILE *)file,"\n%*s<",indent_level * 4,&DAT_00050b45);\n  if (((uint)psVar7->sy_flags & 1) == 0) {\nLAB_0003c633:\n    print_expr_1(file,&psVar7->sy_value);\n  }\n  else {\n    if ((segT)psVar7->bsym == reg_section) {\n      psVar7 = (psVar7->sy_value).X_op_symbol;\n      goto LAB_0003c633;\n    }\n    fprintf((FILE *)file,"constant %lx",(int)(psVar7->sy_value).X_add_number,puVar9);\n  }\n  fputc(0x3e,(FILE *)file);\n  indent_level = indent_level + -1;\nLAB_0003c2b7:\n  fflush((FILE *)file);\n  return;\n}" primitive_type (function_declarator "print_symbol_value_1(FILE *file,symbolS *sym)" identifier (parameter_list "(FILE *file,symbolS *sym)" ( (parameter_declaration "FILE *file" type_identifier (pointer_declarator "*file" * identifier)) , (parameter_declaration "symbolS *sym" type_identifier (pointer_declarator "*sym" * identifier)) ))) (compound_statement "{\n  symbol_flags sVar1;\n  byte bVar2;\n  int iVar3;\n  segT paVar4;\n  symbolS *psVar5;\n  asymbol *paVar6;\n  symbolS *psVar7;\n  valueT vVar8;\n  undefined *puVar9;\n  \n  paVar4 = (segT)sym->bsym;\n  if (((uint)sym->sy_flags & 1) == 0) {\nLAB_0003c086:\n    psVar7 = (symbolS *)paVar4->id;\n    if (psVar7 == (symbolS *)0x0) goto LAB_0003c073;\nLAB_0003c08d:\n    if (*(char *)&psVar7->sy_flags == '\0') {\n      psVar7 = (symbolS *)"(unnamed)";\n    }\n  }\n  else {\n    if (reg_section == paVar4) {\n      paVar4 = (segT)((sym->sy_value).X_op_symbol)->bsym;\n      goto LAB_0003c086;\n    }\n    psVar7 = (sym->sy_value).X_add_symbol;\n    if (psVar7 != (symbolS *)0x0) goto LAB_0003c08d;\nLAB_0003c073:\n    psVar7 = (symbolS *)"(unnamed)";\n  }\n  fwrite(&DAT_00053e44,1,4,(FILE *)file);\n  fprintf((FILE *)file,"%016llx",sym,0);\n  fprintf((FILE *)file," %s",psVar7);\n  bVar2 = *(byte *)&sym->sy_flags;\n  psVar7 = sym;\n  if (((bVar2 & 1) == 0) || (psVar7 = (sym->sy_value).X_op_symbol, (segT)sym->bsym == reg_section))\n  {\n    if (psVar7->sy_frag != &zero_address_frag) {\n      fwrite(" frag ",1,6,(FILE *)file);\n      fprintf((FILE *)file,"%016llx",psVar7->sy_frag,0);\n    }\n    bVar2 = *(byte *)&psVar7->sy_flags;\n    if ((bVar2 & 2) != 0) {\n      fwrite(" written",1,8,(FILE *)file);\n      bVar2 = *(byte *)&psVar7->sy_flags;\n    }\n    if ((bVar2 & 4) == 0) {\n      if ((bVar2 & 8) != 0) {\n        fwrite(" resolving",1,10,(FILE *)file);\n        bVar2 = *(byte *)&psVar7->sy_flags;\n      }\n    }\n    else {\n      fwrite(" resolved",1,9,(FILE *)file);\n      bVar2 = *(byte *)&psVar7->sy_flags;\n    }\n    if ((bVar2 & 0x10) == 0) {\n      if ((bVar2 & 0x20) == 0) goto LAB_0003c1c5;\nLAB_0003c35f:\n      fwrite(" used",1,5,(FILE *)file);\n      iVar3 = S_IS_LOCAL(psVar7);\n      if (iVar3 != 0) goto LAB_0003c387;\nLAB_0003c1d9:\n      iVar3 = S_IS_EXTERNAL(psVar7);\n      if (iVar3 == 0) goto LAB_0003c1ed;\nLAB_0003c3af:\n      fwrite(" extern",1,7,(FILE *)file);\n      iVar3 = S_IS_WEAK(psVar7);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,(FILE *)file);\n      if (((uint)psVar7->sy_flags & 0x20) != 0) goto LAB_0003c35f;\nLAB_0003c1c5:\n      iVar3 = S_IS_LOCAL(psVar7);\n      if (iVar3 == 0) goto LAB_0003c1d9;\nLAB_0003c387:\n      fwrite(" local",1,6,(FILE *)file);\n      iVar3 = S_IS_EXTERNAL(psVar7);\n      if (iVar3 != 0) goto LAB_0003c3af;\nLAB_0003c1ed:\n      iVar3 = S_IS_WEAK(psVar7);\n    }\n    if (iVar3 != 0) {\n      fwrite(&DAT_00053e92,1,5,(FILE *)file);\n    }\n    paVar4 = (segT)psVar7->bsym;\n    if (((uint)psVar7->sy_flags & 1) == 0) {\n      if (((uint)paVar4->prev & 4) != 0) {\nLAB_0003c5a0:\n        fwrite(" debug",1,6,(FILE *)file);\n        paVar4 = (segT)psVar7->bsym;\n        if (((uint)psVar7->sy_flags & 1) != 0) {\n          if (paVar4 == reg_section) {\n            psVar5 = (psVar7->sy_value).X_op_symbol;\n            goto LAB_0003c60c;\n          }\n          goto LAB_0003c2e0;\n        }\n      }\n      if ((undefined *)paVar4->flags != PTR__bfd_std_section_0006efb4 + 0xc0) goto LAB_0003c2f4;\n      goto LAB_0003c22c;\n    }\n    if (reg_section == paVar4) {\n      psVar5 = (psVar7->sy_value).X_op_symbol;\n      if ((psVar5->bsym->flags & 4) != 0) goto LAB_0003c5a0;\nLAB_0003c60c:\n      if (psVar5->bsym->section == (bfd_section *)(PTR__bfd_std_section_0006efb4 + 0xc0))\n      goto LAB_0003c13e;\nLAB_0003c2f4:\n      fwrite(" defined",1,8,(FILE *)file);\n      goto LAB_0003c13e;\n    }\nLAB_0003c2e0:\n    if (paVar4 != (segT)(PTR__bfd_std_section_0006efb4 + 0xc0)) goto LAB_0003c2f4;\nLAB_0003c152:\n    if (reg_section == paVar4) {\n      if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 2) != 0) {\nLAB_0003c430:\n        fwrite(" weakrefr",1,9,(FILE *)file);\n        if (((uint)psVar7->sy_flags & 1) == 0) goto LAB_0003c236;\n        paVar4 = (segT)psVar7->bsym;\n        if (reg_section != paVar4) goto LAB_0003c248;\n      }\n      if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 4) != 0) goto LAB_0003c468;\nLAB_0003c572:\n      psVar5 = (psVar7->sy_value).X_op_symbol;\n      goto LAB_0003c242;\n    }\n  }\n  else {\n    if ((psVar7 != (symbolS *)0x0) && (psVar7 != (symbolS *)PTR_zero_address_frag_0006ef70)) {\n      fwrite(" frag ",1,6,(FILE *)file);\n      fprintf((FILE *)file,"%016llx",(sym->sy_value).X_op_symbol,0);\n      bVar2 = *(byte *)&sym->sy_flags;\n    }\n    if ((bVar2 & 4) != 0) {\n      fwrite(" resolved",1,9,(FILE *)file);\n    }\n    fwrite(" local",1,6,(FILE *)file);\n    psVar7 = sym;\nLAB_0003c13e:\n    if (((uint)psVar7->sy_flags & 1) != 0) {\n      paVar4 = (segT)psVar7->bsym;\n      goto LAB_0003c152;\n    }\nLAB_0003c22c:\n    if (((psVar7->sy_flags).field_0x1 & 2) != 0) goto LAB_0003c430;\nLAB_0003c236:\n    psVar5 = psVar7;\n    if (((psVar7->sy_flags).field_0x1 & 4) != 0) {\nLAB_0003c468:\n      fwrite(" weakrefd",1,9,(FILE *)file);\n      psVar5 = psVar7;\n      if (((uint)psVar7->sy_flags & 1) != 0) {\n        paVar4 = (segT)psVar7->bsym;\n        if (reg_section == paVar4) goto LAB_0003c572;\n        goto LAB_0003c248;\n      }\n    }\nLAB_0003c242:\n    paVar4 = psVar5->bsym->section;\n  }\nLAB_0003c248:\n  fprintf((FILE *)file," %s",paVar4->name);\n  sVar1 = psVar7->sy_flags;\n  if (((uint)sVar1 & 1) == 0) {\n    psVar5 = psVar7;\n    if (((uint)sVar1 & 4) != 0) {\nLAB_0003c316:\n      paVar4 = psVar5->bsym->section;\nLAB_0003c283:\n      if ((paVar4 != (segT)(PTR__bfd_std_section_0006efb4 + 0xc0)) && (expr_section != paVar4)) {\n        vVar8 = S_GET_VALUE(psVar7);\n        fprintf((FILE *)file," %lx",(int)vVar8);\n      }\n      goto LAB_0003c2b7;\n    }\n    if (7 < indent_level) goto LAB_0003c2b7;\n    paVar6 = psVar7->bsym;\nLAB_0003c338:\n    paVar4 = paVar6->section;\n  }\n  else {\n    paVar4 = (segT)psVar7->bsym;\n    if (paVar4 == reg_section) {\n      psVar5 = (psVar7->sy_value).X_op_symbol;\n      if (((uint)psVar5->sy_flags & 4) != 0) goto LAB_0003c316;\n      if (7 < indent_level) goto LAB_0003c2b7;\n      paVar6 = psVar5->bsym;\n      goto LAB_0003c338;\n    }\n    if (((uint)sVar1 & 4) != 0) goto LAB_0003c283;\n    if (7 < indent_level) goto LAB_0003c2b7;\n  }\n  if (paVar4 == (segT)(PTR__bfd_std_section_0006efb4 + 0xc0)) goto LAB_0003c2b7;\n  indent_level = indent_level + 1;\n  puVar9 = &DAT_00050b45;\n  fprintf((FILE *)file,"\n%*s<",indent_level * 4,&DAT_00050b45);\n  if (((uint)psVar7->sy_flags & 1) == 0) {\nLAB_0003c633:\n    print_expr_1(file,&psVar7->sy_value);\n  }\n  else {\n    if ((segT)psVar7->bsym == reg_section) {\n      psVar7 = (psVar7->sy_value).X_op_symbol;\n      goto LAB_0003c633;\n    }\n    fprintf((FILE *)file,"constant %lx",(int)(psVar7->sy_value).X_add_number,puVar9);\n  }\n  fputc(0x3e,(FILE *)file);\n  indent_level = indent_level + -1;\nLAB_0003c2b7:\n  fflush((FILE *)file);\n  return;\n}" { (declaration "symbol_flags sVar1;" type_identifier identifier ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "segT paVar4;" type_identifier identifier ;) (declaration "symbolS *psVar5;" type_identifier (pointer_declarator "*psVar5" * identifier) ;) (declaration "asymbol *paVar6;" type_identifier (pointer_declarator "*paVar6" * identifier) ;) (declaration "symbolS *psVar7;" type_identifier (pointer_declarator "*psVar7" * identifier) ;) (declaration "valueT vVar8;" type_identifier identifier ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (expression_statement "paVar4 = (segT)sym->bsym;" (assignment_expression "paVar4 = (segT)sym->bsym" identifier = (cast_expression "(segT)sym->bsym" ( (type_descriptor "segT" type_identifier) ) (field_expression "sym->bsym" identifier -> field_identifier))) ;) (if_statement "if (((uint)sym->sy_flags & 1) == 0) {\nLAB_0003c086:\n    psVar7 = (symbolS *)paVar4->id;\n    if (psVar7 == (symbolS *)0x0) goto LAB_0003c073;\nLAB_0003c08d:\n    if (*(char *)&psVar7->sy_flags == '\0') {\n      psVar7 = (symbolS *)"(unnamed)";\n    }\n  }\n  else {\n    if (reg_section == paVar4) {\n      paVar4 = (segT)((sym->sy_value).X_op_symbol)->bsym;\n      goto LAB_0003c086;\n    }\n    psVar7 = (sym->sy_value).X_add_symbol;\n    if (psVar7 != (symbolS *)0x0) goto LAB_0003c08d;\nLAB_0003c073:\n    psVar7 = (symbolS *)"(unnamed)";\n  }" if (parenthesized_expression "(((uint)sym->sy_flags & 1) == 0)" ( (binary_expression "((uint)sym->sy_flags & 1) == 0" (parenthesized_expression "((uint)sym->sy_flags & 1)" ( (binary_expression "(uint)sym->sy_flags & 1" (cast_expression "(uint)sym->sy_flags" ( (type_descriptor "uint" type_identifier) ) (field_expression "sym->sy_flags" identifier -> field_identifier)) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_0003c086:\n    psVar7 = (symbolS *)paVar4->id;\n    if (psVar7 == (symbolS *)0x0) goto LAB_0003c073;\nLAB_0003c08d:\n    if (*(char *)&psVar7->sy_flags == '\0') {\n      psVar7 = (symbolS *)"(unnamed)";\n    }\n  }" { (labeled_statement "LAB_0003c086:\n    psVar7 = (symbolS *)paVar4->id;" statement_identifier : (expression_statement "psVar7 = (symbolS *)paVar4->id;" (assignment_expression "psVar7 = (symbolS *)paVar4->id" identifier = (cast_expression "(symbolS *)paVar4->id" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "paVar4->id" identifier -> field_identifier))) ;)) (if_statement "if (psVar7 == (symbolS *)0x0) goto LAB_0003c073;" if (parenthesized_expression "(psVar7 == (symbolS *)0x0)" ( (binary_expression "psVar7 == (symbolS *)0x0" identifier == (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0003c073;" goto statement_identifier ;)) (labeled_statement "LAB_0003c08d:\n    if (*(char *)&psVar7->sy_flags == '\0') {\n      psVar7 = (symbolS *)"(unnamed)";\n    }" statement_identifier : (if_statement "if (*(char *)&psVar7->sy_flags == '\0') {\n      psVar7 = (symbolS *)"(unnamed)";\n    }" if (parenthesized_expression "(*(char *)&psVar7->sy_flags == '\0')" ( (binary_expression "*(char *)&psVar7->sy_flags == '\0'" (pointer_expression "*(char *)&psVar7->sy_flags" * (cast_expression "(char *)&psVar7->sy_flags" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar7->sy_flags" & (field_expression "psVar7->sy_flags" identifier -> field_identifier)))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      psVar7 = (symbolS *)"(unnamed)";\n    }" { (expression_statement "psVar7 = (symbolS *)"(unnamed)";" (assignment_expression "psVar7 = (symbolS *)"(unnamed)"" identifier = (cast_expression "(symbolS *)"(unnamed)"" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""(unnamed)"" " string_content "))) ;) }))) }) (else_clause "else {\n    if (reg_section == paVar4) {\n      paVar4 = (segT)((sym->sy_value).X_op_symbol)->bsym;\n      goto LAB_0003c086;\n    }\n    psVar7 = (sym->sy_value).X_add_symbol;\n    if (psVar7 != (symbolS *)0x0) goto LAB_0003c08d;\nLAB_0003c073:\n    psVar7 = (symbolS *)"(unnamed)";\n  }" else (compound_statement "{\n    if (reg_section == paVar4) {\n      paVar4 = (segT)((sym->sy_value).X_op_symbol)->bsym;\n      goto LAB_0003c086;\n    }\n    psVar7 = (sym->sy_value).X_add_symbol;\n    if (psVar7 != (symbolS *)0x0) goto LAB_0003c08d;\nLAB_0003c073:\n    psVar7 = (symbolS *)"(unnamed)";\n  }" { (if_statement "if (reg_section == paVar4) {\n      paVar4 = (segT)((sym->sy_value).X_op_symbol)->bsym;\n      goto LAB_0003c086;\n    }" if (parenthesized_expression "(reg_section == paVar4)" ( (binary_expression "reg_section == paVar4" identifier == identifier) )) (compound_statement "{\n      paVar4 = (segT)((sym->sy_value).X_op_symbol)->bsym;\n      goto LAB_0003c086;\n    }" { (expression_statement "paVar4 = (segT)((sym->sy_value).X_op_symbol)->bsym;" (assignment_expression "paVar4 = (segT)((sym->sy_value).X_op_symbol)->bsym" identifier = (field_expression "(segT)((sym->sy_value).X_op_symbol)->bsym" (call_expression "(segT)((sym->sy_value).X_op_symbol)" (parenthesized_expression "(segT)" ( identifier )) (argument_list "((sym->sy_value).X_op_symbol)" ( (field_expression "(sym->sy_value).X_op_symbol" (parenthesized_expression "(sym->sy_value)" ( (field_expression "sym->sy_value" identifier -> field_identifier) )) . field_identifier) ))) -> field_identifier)) ;) (goto_statement "goto LAB_0003c086;" goto statement_identifier ;) })) (expression_statement "psVar7 = (sym->sy_value).X_add_symbol;" (assignment_expression "psVar7 = (sym->sy_value).X_add_symbol" identifier = (field_expression "(sym->sy_value).X_add_symbol" (parenthesized_expression "(sym->sy_value)" ( (field_expression "sym->sy_value" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (psVar7 != (symbolS *)0x0) goto LAB_0003c08d;" if (parenthesized_expression "(psVar7 != (symbolS *)0x0)" ( (binary_expression "psVar7 != (symbolS *)0x0" identifier != (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0003c08d;" goto statement_identifier ;)) (labeled_statement "LAB_0003c073:\n    psVar7 = (symbolS *)"(unnamed)";" statement_identifier : (expression_statement "psVar7 = (symbolS *)"(unnamed)";" (assignment_expression "psVar7 = (symbolS *)"(unnamed)"" identifier = (cast_expression "(symbolS *)"(unnamed)"" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""(unnamed)"" " string_content "))) ;)) }))) (expression_statement "fwrite(&DAT_00053e44,1,4,(FILE *)file);" (call_expression "fwrite(&DAT_00053e44,1,4,(FILE *)file)" identifier (argument_list "(&DAT_00053e44,1,4,(FILE *)file)" ( (pointer_expression "&DAT_00053e44" & identifier) , number_literal , number_literal , (cast_expression "(FILE *)file" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "fprintf((FILE *)file,"%016llx",sym,0);" (call_expression "fprintf((FILE *)file,"%016llx",sym,0)" identifier (argument_list "((FILE *)file,"%016llx",sym,0)" ( (cast_expression "(FILE *)file" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""%016llx"" " string_content ") , identifier , number_literal ))) ;) (expression_statement "fprintf((FILE *)file," %s",psVar7);" (call_expression "fprintf((FILE *)file," %s",psVar7)" identifier (argument_list "((FILE *)file," %s",psVar7)" ( (cast_expression "(FILE *)file" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal "" %s"" " string_content ") , identifier ))) ;) (expression_statement "bVar2 = *(byte *)&sym->sy_flags;" (assignment_expression "bVar2 = *(byte *)&sym->sy_flags" identifier = (pointer_expression "*(byte *)&sym->sy_flags" * (cast_expression "(byte *)&sym->sy_flags" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&sym->sy_flags" & (field_expression "sym->sy_flags" identifier -> field_identifier))))) ;) (expression_statement "psVar7 = sym;" (assignment_expression "psVar7 = sym" identifier = identifier) ;) (if_statement "if (((bVar2 & 1) == 0) || (psVar7 = (sym->sy_value).X_op_symbol, (segT)sym->bsym == reg_section))\n  {\n    if (psVar7->sy_frag != &zero_address_frag) {\n      fwrite(" frag ",1,6,(FILE *)file);\n      fprintf((FILE *)file,"%016llx",psVar7->sy_frag,0);\n    }\n    bVar2 = *(byte *)&psVar7->sy_flags;\n    if ((bVar2 & 2) != 0) {\n      fwrite(" written",1,8,(FILE *)file);\n      bVar2 = *(byte *)&psVar7->sy_flags;\n    }\n    if ((bVar2 & 4) == 0) {\n      if ((bVar2 & 8) != 0) {\n        fwrite(" resolving",1,10,(FILE *)file);\n        bVar2 = *(byte *)&psVar7->sy_flags;\n      }\n    }\n    else {\n      fwrite(" resolved",1,9,(FILE *)file);\n      bVar2 = *(byte *)&psVar7->sy_flags;\n    }\n    if ((bVar2 & 0x10) == 0) {\n      if ((bVar2 & 0x20) == 0) goto LAB_0003c1c5;\nLAB_0003c35f:\n      fwrite(" used",1,5,(FILE *)file);\n      iVar3 = S_IS_LOCAL(psVar7);\n      if (iVar3 != 0) goto LAB_0003c387;\nLAB_0003c1d9:\n      iVar3 = S_IS_EXTERNAL(psVar7);\n      if (iVar3 == 0) goto LAB_0003c1ed;\nLAB_0003c3af:\n      fwrite(" extern",1,7,(FILE *)file);\n      iVar3 = S_IS_WEAK(psVar7);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,(FILE *)file);\n      if (((uint)psVar7->sy_flags & 0x20) != 0) goto LAB_0003c35f;\nLAB_0003c1c5:\n      iVar3 = S_IS_LOCAL(psVar7);\n      if (iVar3 == 0) goto LAB_0003c1d9;\nLAB_0003c387:\n      fwrite(" local",1,6,(FILE *)file);\n      iVar3 = S_IS_EXTERNAL(psVar7);\n      if (iVar3 != 0) goto LAB_0003c3af;\nLAB_0003c1ed:\n      iVar3 = S_IS_WEAK(psVar7);\n    }\n    if (iVar3 != 0) {\n      fwrite(&DAT_00053e92,1,5,(FILE *)file);\n    }\n    paVar4 = (segT)psVar7->bsym;\n    if (((uint)psVar7->sy_flags & 1) == 0) {\n      if (((uint)paVar4->prev & 4) != 0) {\nLAB_0003c5a0:\n        fwrite(" debug",1,6,(FILE *)file);\n        paVar4 = (segT)psVar7->bsym;\n        if (((uint)psVar7->sy_flags & 1) != 0) {\n          if (paVar4 == reg_section) {\n            psVar5 = (psVar7->sy_value).X_op_symbol;\n            goto LAB_0003c60c;\n          }\n          goto LAB_0003c2e0;\n        }\n      }\n      if ((undefined *)paVar4->flags != PTR__bfd_std_section_0006efb4 + 0xc0) goto LAB_0003c2f4;\n      goto LAB_0003c22c;\n    }\n    if (reg_section == paVar4) {\n      psVar5 = (psVar7->sy_value).X_op_symbol;\n      if ((psVar5->bsym->flags & 4) != 0) goto LAB_0003c5a0;\nLAB_0003c60c:\n      if (psVar5->bsym->section == (bfd_section *)(PTR__bfd_std_section_0006efb4 + 0xc0))\n      goto LAB_0003c13e;\nLAB_0003c2f4:\n      fwrite(" defined",1,8,(FILE *)file);\n      goto LAB_0003c13e;\n    }\nLAB_0003c2e0:\n    if (paVar4 != (segT)(PTR__bfd_std_section_0006efb4 + 0xc0)) goto LAB_0003c2f4;\nLAB_0003c152:\n    if (reg_section == paVar4) {\n      if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 2) != 0) {\nLAB_0003c430:\n        fwrite(" weakrefr",1,9,(FILE *)file);\n        if (((uint)psVar7->sy_flags & 1) == 0) goto LAB_0003c236;\n        paVar4 = (segT)psVar7->bsym;\n        if (reg_section != paVar4) goto LAB_0003c248;\n      }\n      if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 4) != 0) goto LAB_0003c468;\nLAB_0003c572:\n      psVar5 = (psVar7->sy_value).X_op_symbol;\n      goto LAB_0003c242;\n    }\n  }\n  else {\n    if ((psVar7 != (symbolS *)0x0) && (psVar7 != (symbolS *)PTR_zero_address_frag_0006ef70)) {\n      fwrite(" frag ",1,6,(FILE *)file);\n      fprintf((FILE *)file,"%016llx",(sym->sy_value).X_op_symbol,0);\n      bVar2 = *(byte *)&sym->sy_flags;\n    }\n    if ((bVar2 & 4) != 0) {\n      fwrite(" resolved",1,9,(FILE *)file);\n    }\n    fwrite(" local",1,6,(FILE *)file);\n    psVar7 = sym;\nLAB_0003c13e:\n    if (((uint)psVar7->sy_flags & 1) != 0) {\n      paVar4 = (segT)psVar7->bsym;\n      goto LAB_0003c152;\n    }\nLAB_0003c22c:\n    if (((psVar7->sy_flags).field_0x1 & 2) != 0) goto LAB_0003c430;\nLAB_0003c236:\n    psVar5 = psVar7;\n    if (((psVar7->sy_flags).field_0x1 & 4) != 0) {\nLAB_0003c468:\n      fwrite(" weakrefd",1,9,(FILE *)file);\n      psVar5 = psVar7;\n      if (((uint)psVar7->sy_flags & 1) != 0) {\n        paVar4 = (segT)psVar7->bsym;\n        if (reg_section == paVar4) goto LAB_0003c572;\n        goto LAB_0003c248;\n      }\n    }\nLAB_0003c242:\n    paVar4 = psVar5->bsym->section;\n  }" if (parenthesized_expression "(((bVar2 & 1) == 0) || (psVar7 = (sym->sy_value).X_op_symbol, (segT)sym->bsym == reg_section))" ( (binary_expression "((bVar2 & 1) == 0) || (psVar7 = (sym->sy_value).X_op_symbol, (segT)sym->bsym == reg_section)" (parenthesized_expression "((bVar2 & 1) == 0)" ( (binary_expression "(bVar2 & 1) == 0" (parenthesized_expression "(bVar2 & 1)" ( (binary_expression "bVar2 & 1" identifier & number_literal) )) == number_literal) )) || (parenthesized_expression "(psVar7 = (sym->sy_value).X_op_symbol, (segT)sym->bsym == reg_section)" ( (comma_expression "psVar7 = (sym->sy_value).X_op_symbol, (segT)sym->bsym == reg_section" (assignment_expression "psVar7 = (sym->sy_value).X_op_symbol" identifier = (field_expression "(sym->sy_value).X_op_symbol" (parenthesized_expression "(sym->sy_value)" ( (field_expression "sym->sy_value" identifier -> field_identifier) )) . field_identifier)) , (binary_expression "(segT)sym->bsym == reg_section" (cast_expression "(segT)sym->bsym" ( (type_descriptor "segT" type_identifier) ) (field_expression "sym->bsym" identifier -> field_identifier)) == identifier)) ))) )) (compound_statement "{\n    if (psVar7->sy_frag != &zero_address_frag) {\n      fwrite(" frag ",1,6,(FILE *)file);\n      fprintf((FILE *)file,"%016llx",psVar7->sy_frag,0);\n    }\n    bVar2 = *(byte *)&psVar7->sy_flags;\n    if ((bVar2 & 2) != 0) {\n      fwrite(" written",1,8,(FILE *)file);\n      bVar2 = *(byte *)&psVar7->sy_flags;\n    }\n    if ((bVar2 & 4) == 0) {\n      if ((bVar2 & 8) != 0) {\n        fwrite(" resolving",1,10,(FILE *)file);\n        bVar2 = *(byte *)&psVar7->sy_flags;\n      }\n    }\n    else {\n      fwrite(" resolved",1,9,(FILE *)file);\n      bVar2 = *(byte *)&psVar7->sy_flags;\n    }\n    if ((bVar2 & 0x10) == 0) {\n      if ((bVar2 & 0x20) == 0) goto LAB_0003c1c5;\nLAB_0003c35f:\n      fwrite(" used",1,5,(FILE *)file);\n      iVar3 = S_IS_LOCAL(psVar7);\n      if (iVar3 != 0) goto LAB_0003c387;\nLAB_0003c1d9:\n      iVar3 = S_IS_EXTERNAL(psVar7);\n      if (iVar3 == 0) goto LAB_0003c1ed;\nLAB_0003c3af:\n      fwrite(" extern",1,7,(FILE *)file);\n      iVar3 = S_IS_WEAK(psVar7);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,(FILE *)file);\n      if (((uint)psVar7->sy_flags & 0x20) != 0) goto LAB_0003c35f;\nLAB_0003c1c5:\n      iVar3 = S_IS_LOCAL(psVar7);\n      if (iVar3 == 0) goto LAB_0003c1d9;\nLAB_0003c387:\n      fwrite(" local",1,6,(FILE *)file);\n      iVar3 = S_IS_EXTERNAL(psVar7);\n      if (iVar3 != 0) goto LAB_0003c3af;\nLAB_0003c1ed:\n      iVar3 = S_IS_WEAK(psVar7);\n    }\n    if (iVar3 != 0) {\n      fwrite(&DAT_00053e92,1,5,(FILE *)file);\n    }\n    paVar4 = (segT)psVar7->bsym;\n    if (((uint)psVar7->sy_flags & 1) == 0) {\n      if (((uint)paVar4->prev & 4) != 0) {\nLAB_0003c5a0:\n        fwrite(" debug",1,6,(FILE *)file);\n        paVar4 = (segT)psVar7->bsym;\n        if (((uint)psVar7->sy_flags & 1) != 0) {\n          if (paVar4 == reg_section) {\n            psVar5 = (psVar7->sy_value).X_op_symbol;\n            goto LAB_0003c60c;\n          }\n          goto LAB_0003c2e0;\n        }\n      }\n      if ((undefined *)paVar4->flags != PTR__bfd_std_section_0006efb4 + 0xc0) goto LAB_0003c2f4;\n      goto LAB_0003c22c;\n    }\n    if (reg_section == paVar4) {\n      psVar5 = (psVar7->sy_value).X_op_symbol;\n      if ((psVar5->bsym->flags & 4) != 0) goto LAB_0003c5a0;\nLAB_0003c60c:\n      if (psVar5->bsym->section == (bfd_section *)(PTR__bfd_std_section_0006efb4 + 0xc0))\n      goto LAB_0003c13e;\nLAB_0003c2f4:\n      fwrite(" defined",1,8,(FILE *)file);\n      goto LAB_0003c13e;\n    }\nLAB_0003c2e0:\n    if (paVar4 != (segT)(PTR__bfd_std_section_0006efb4 + 0xc0)) goto LAB_0003c2f4;\nLAB_0003c152:\n    if (reg_section == paVar4) {\n      if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 2) != 0) {\nLAB_0003c430:\n        fwrite(" weakrefr",1,9,(FILE *)file);\n        if (((uint)psVar7->sy_flags & 1) == 0) goto LAB_0003c236;\n        paVar4 = (segT)psVar7->bsym;\n        if (reg_section != paVar4) goto LAB_0003c248;\n      }\n      if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 4) != 0) goto LAB_0003c468;\nLAB_0003c572:\n      psVar5 = (psVar7->sy_value).X_op_symbol;\n      goto LAB_0003c242;\n    }\n  }" { (if_statement "if (psVar7->sy_frag != &zero_address_frag) {\n      fwrite(" frag ",1,6,(FILE *)file);\n      fprintf((FILE *)file,"%016llx",psVar7->sy_frag,0);\n    }" if (parenthesized_expression "(psVar7->sy_frag != &zero_address_frag)" ( (binary_expression "psVar7->sy_frag != &zero_address_frag" (field_expression "psVar7->sy_frag" identifier -> field_identifier) != (pointer_expression "&zero_address_frag" & identifier)) )) (compound_statement "{\n      fwrite(" frag ",1,6,(FILE *)file);\n      fprintf((FILE *)file,"%016llx",psVar7->sy_frag,0);\n    }" { (expression_statement "fwrite(" frag ",1,6,(FILE *)file);" (call_expression "fwrite(" frag ",1,6,(FILE *)file)" identifier (argument_list "(" frag ",1,6,(FILE *)file)" ( (string_literal "" frag "" " string_content ") , number_literal , number_literal , (cast_expression "(FILE *)file" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "fprintf((FILE *)file,"%016llx",psVar7->sy_frag,0);" (call_expression "fprintf((FILE *)file,"%016llx",psVar7->sy_frag,0)" identifier (argument_list "((FILE *)file,"%016llx",psVar7->sy_frag,0)" ( (cast_expression "(FILE *)file" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""%016llx"" " string_content ") , (field_expression "psVar7->sy_frag" identifier -> field_identifier) , number_literal ))) ;) })) (expression_statement "bVar2 = *(byte *)&psVar7->sy_flags;" (assignment_expression "bVar2 = *(byte *)&psVar7->sy_flags" identifier = (pointer_expression "*(byte *)&psVar7->sy_flags" * (cast_expression "(byte *)&psVar7->sy_flags" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar7->sy_flags" & (field_expression "psVar7->sy_flags" identifier -> field_identifier))))) ;) (if_statement "if ((bVar2 & 2) != 0) {\n      fwrite(" written",1,8,(FILE *)file);\n      bVar2 = *(byte *)&psVar7->sy_flags;\n    }" if (parenthesized_expression "((bVar2 & 2) != 0)" ( (binary_expression "(bVar2 & 2) != 0" (parenthesized_expression "(bVar2 & 2)" ( (binary_expression "bVar2 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      fwrite(" written",1,8,(FILE *)file);\n      bVar2 = *(byte *)&psVar7->sy_flags;\n    }" { (expression_statement "fwrite(" written",1,8,(FILE *)file);" (call_expression "fwrite(" written",1,8,(FILE *)file)" identifier (argument_list "(" written",1,8,(FILE *)file)" ( (string_literal "" written"" " string_content ") , number_literal , number_literal , (cast_expression "(FILE *)file" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "bVar2 = *(byte *)&psVar7->sy_flags;" (assignment_expression "bVar2 = *(byte *)&psVar7->sy_flags" identifier = (pointer_expression "*(byte *)&psVar7->sy_flags" * (cast_expression "(byte *)&psVar7->sy_flags" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar7->sy_flags" & (field_expression "psVar7->sy_flags" identifier -> field_identifier))))) ;) })) (if_statement "if ((bVar2 & 4) == 0) {\n      if ((bVar2 & 8) != 0) {\n        fwrite(" resolving",1,10,(FILE *)file);\n        bVar2 = *(byte *)&psVar7->sy_flags;\n      }\n    }\n    else {\n      fwrite(" resolved",1,9,(FILE *)file);\n      bVar2 = *(byte *)&psVar7->sy_flags;\n    }" if (parenthesized_expression "((bVar2 & 4) == 0)" ( (binary_expression "(bVar2 & 4) == 0" (parenthesized_expression "(bVar2 & 4)" ( (binary_expression "bVar2 & 4" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      if ((bVar2 & 8) != 0) {\n        fwrite(" resolving",1,10,(FILE *)file);\n        bVar2 = *(byte *)&psVar7->sy_flags;\n      }\n    }" { (if_statement "if ((bVar2 & 8) != 0) {\n        fwrite(" resolving",1,10,(FILE *)file);\n        bVar2 = *(byte *)&psVar7->sy_flags;\n      }" if (parenthesized_expression "((bVar2 & 8) != 0)" ( (binary_expression "(bVar2 & 8) != 0" (parenthesized_expression "(bVar2 & 8)" ( (binary_expression "bVar2 & 8" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        fwrite(" resolving",1,10,(FILE *)file);\n        bVar2 = *(byte *)&psVar7->sy_flags;\n      }" { (expression_statement "fwrite(" resolving",1,10,(FILE *)file);" (call_expression "fwrite(" resolving",1,10,(FILE *)file)" identifier (argument_list "(" resolving",1,10,(FILE *)file)" ( (string_literal "" resolving"" " string_content ") , number_literal , number_literal , (cast_expression "(FILE *)file" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "bVar2 = *(byte *)&psVar7->sy_flags;" (assignment_expression "bVar2 = *(byte *)&psVar7->sy_flags" identifier = (pointer_expression "*(byte *)&psVar7->sy_flags" * (cast_expression "(byte *)&psVar7->sy_flags" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar7->sy_flags" & (field_expression "psVar7->sy_flags" identifier -> field_identifier))))) ;) })) }) (else_clause "else {\n      fwrite(" resolved",1,9,(FILE *)file);\n      bVar2 = *(byte *)&psVar7->sy_flags;\n    }" else (compound_statement "{\n      fwrite(" resolved",1,9,(FILE *)file);\n      bVar2 = *(byte *)&psVar7->sy_flags;\n    }" { (expression_statement "fwrite(" resolved",1,9,(FILE *)file);" (call_expression "fwrite(" resolved",1,9,(FILE *)file)" identifier (argument_list "(" resolved",1,9,(FILE *)file)" ( (string_literal "" resolved"" " string_content ") , number_literal , number_literal , (cast_expression "(FILE *)file" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "bVar2 = *(byte *)&psVar7->sy_flags;" (assignment_expression "bVar2 = *(byte *)&psVar7->sy_flags" identifier = (pointer_expression "*(byte *)&psVar7->sy_flags" * (cast_expression "(byte *)&psVar7->sy_flags" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar7->sy_flags" & (field_expression "psVar7->sy_flags" identifier -> field_identifier))))) ;) }))) (if_statement "if ((bVar2 & 0x10) == 0) {\n      if ((bVar2 & 0x20) == 0) goto LAB_0003c1c5;\nLAB_0003c35f:\n      fwrite(" used",1,5,(FILE *)file);\n      iVar3 = S_IS_LOCAL(psVar7);\n      if (iVar3 != 0) goto LAB_0003c387;\nLAB_0003c1d9:\n      iVar3 = S_IS_EXTERNAL(psVar7);\n      if (iVar3 == 0) goto LAB_0003c1ed;\nLAB_0003c3af:\n      fwrite(" extern",1,7,(FILE *)file);\n      iVar3 = S_IS_WEAK(psVar7);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,(FILE *)file);\n      if (((uint)psVar7->sy_flags & 0x20) != 0) goto LAB_0003c35f;\nLAB_0003c1c5:\n      iVar3 = S_IS_LOCAL(psVar7);\n      if (iVar3 == 0) goto LAB_0003c1d9;\nLAB_0003c387:\n      fwrite(" local",1,6,(FILE *)file);\n      iVar3 = S_IS_EXTERNAL(psVar7);\n      if (iVar3 != 0) goto LAB_0003c3af;\nLAB_0003c1ed:\n      iVar3 = S_IS_WEAK(psVar7);\n    }" if (parenthesized_expression "((bVar2 & 0x10) == 0)" ( (binary_expression "(bVar2 & 0x10) == 0" (parenthesized_expression "(bVar2 & 0x10)" ( (binary_expression "bVar2 & 0x10" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      if ((bVar2 & 0x20) == 0) goto LAB_0003c1c5;\nLAB_0003c35f:\n      fwrite(" used",1,5,(FILE *)file);\n      iVar3 = S_IS_LOCAL(psVar7);\n      if (iVar3 != 0) goto LAB_0003c387;\nLAB_0003c1d9:\n      iVar3 = S_IS_EXTERNAL(psVar7);\n      if (iVar3 == 0) goto LAB_0003c1ed;\nLAB_0003c3af:\n      fwrite(" extern",1,7,(FILE *)file);\n      iVar3 = S_IS_WEAK(psVar7);\n    }" { (if_statement "if ((bVar2 & 0x20) == 0) goto LAB_0003c1c5;" if (parenthesized_expression "((bVar2 & 0x20) == 0)" ( (binary_expression "(bVar2 & 0x20) == 0" (parenthesized_expression "(bVar2 & 0x20)" ( (binary_expression "bVar2 & 0x20" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0003c1c5;" goto statement_identifier ;)) (labeled_statement "LAB_0003c35f:\n      fwrite(" used",1,5,(FILE *)file);" statement_identifier : (expression_statement "fwrite(" used",1,5,(FILE *)file);" (call_expression "fwrite(" used",1,5,(FILE *)file)" identifier (argument_list "(" used",1,5,(FILE *)file)" ( (string_literal "" used"" " string_content ") , number_literal , number_literal , (cast_expression "(FILE *)file" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;)) (expression_statement "iVar3 = S_IS_LOCAL(psVar7);" (assignment_expression "iVar3 = S_IS_LOCAL(psVar7)" identifier = (call_expression "S_IS_LOCAL(psVar7)" identifier (argument_list "(psVar7)" ( identifier )))) ;) (if_statement "if (iVar3 != 0) goto LAB_0003c387;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0003c387;" goto statement_identifier ;)) (labeled_statement "LAB_0003c1d9:\n      iVar3 = S_IS_EXTERNAL(psVar7);" statement_identifier : (expression_statement "iVar3 = S_IS_EXTERNAL(psVar7);" (assignment_expression "iVar3 = S_IS_EXTERNAL(psVar7)" identifier = (call_expression "S_IS_EXTERNAL(psVar7)" identifier (argument_list "(psVar7)" ( identifier )))) ;)) (if_statement "if (iVar3 == 0) goto LAB_0003c1ed;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0003c1ed;" goto statement_identifier ;)) (labeled_statement "LAB_0003c3af:\n      fwrite(" extern",1,7,(FILE *)file);" statement_identifier : (expression_statement "fwrite(" extern",1,7,(FILE *)file);" (call_expression "fwrite(" extern",1,7,(FILE *)file)" identifier (argument_list "(" extern",1,7,(FILE *)file)" ( (string_literal "" extern"" " string_content ") , number_literal , number_literal , (cast_expression "(FILE *)file" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;)) (expression_statement "iVar3 = S_IS_WEAK(psVar7);" (assignment_expression "iVar3 = S_IS_WEAK(psVar7)" identifier = (call_expression "S_IS_WEAK(psVar7)" identifier (argument_list "(psVar7)" ( identifier )))) ;) }) (else_clause "else {\n      fwrite(" used-in-reloc",1,0xe,(FILE *)file);\n      if (((uint)psVar7->sy_flags & 0x20) != 0) goto LAB_0003c35f;\nLAB_0003c1c5:\n      iVar3 = S_IS_LOCAL(psVar7);\n      if (iVar3 == 0) goto LAB_0003c1d9;\nLAB_0003c387:\n      fwrite(" local",1,6,(FILE *)file);\n      iVar3 = S_IS_EXTERNAL(psVar7);\n      if (iVar3 != 0) goto LAB_0003c3af;\nLAB_0003c1ed:\n      iVar3 = S_IS_WEAK(psVar7);\n    }" else (compound_statement "{\n      fwrite(" used-in-reloc",1,0xe,(FILE *)file);\n      if (((uint)psVar7->sy_flags & 0x20) != 0) goto LAB_0003c35f;\nLAB_0003c1c5:\n      iVar3 = S_IS_LOCAL(psVar7);\n      if (iVar3 == 0) goto LAB_0003c1d9;\nLAB_0003c387:\n      fwrite(" local",1,6,(FILE *)file);\n      iVar3 = S_IS_EXTERNAL(psVar7);\n      if (iVar3 != 0) goto LAB_0003c3af;\nLAB_0003c1ed:\n      iVar3 = S_IS_WEAK(psVar7);\n    }" { (expression_statement "fwrite(" used-in-reloc",1,0xe,(FILE *)file);" (call_expression "fwrite(" used-in-reloc",1,0xe,(FILE *)file)" identifier (argument_list "(" used-in-reloc",1,0xe,(FILE *)file)" ( (string_literal "" used-in-reloc"" " string_content ") , number_literal , number_literal , (cast_expression "(FILE *)file" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (if_statement "if (((uint)psVar7->sy_flags & 0x20) != 0) goto LAB_0003c35f;" if (parenthesized_expression "(((uint)psVar7->sy_flags & 0x20) != 0)" ( (binary_expression "((uint)psVar7->sy_flags & 0x20) != 0" (parenthesized_expression "((uint)psVar7->sy_flags & 0x20)" ( (binary_expression "(uint)psVar7->sy_flags & 0x20" (cast_expression "(uint)psVar7->sy_flags" ( (type_descriptor "uint" type_identifier) ) (field_expression "psVar7->sy_flags" identifier -> field_identifier)) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0003c35f;" goto statement_identifier ;)) (labeled_statement "LAB_0003c1c5:\n      iVar3 = S_IS_LOCAL(psVar7);" statement_identifier : (expression_statement "iVar3 = S_IS_LOCAL(psVar7);" (assignment_expression "iVar3 = S_IS_LOCAL(psVar7)" identifier = (call_expression "S_IS_LOCAL(psVar7)" identifier (argument_list "(psVar7)" ( identifier )))) ;)) (if_statement "if (iVar3 == 0) goto LAB_0003c1d9;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0003c1d9;" goto statement_identifier ;)) (labeled_statement "LAB_0003c387:\n      fwrite(" local",1,6,(FILE *)file);" statement_identifier : (expression_statement "fwrite(" local",1,6,(FILE *)file);" (call_expression "fwrite(" local",1,6,(FILE *)file)" identifier (argument_list "(" local",1,6,(FILE *)file)" ( (string_literal "" local"" " string_content ") , number_literal , number_literal , (cast_expression "(FILE *)file" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;)) (expression_statement "iVar3 = S_IS_EXTERNAL(psVar7);" (assignment_expression "iVar3 = S_IS_EXTERNAL(psVar7)" identifier = (call_expression "S_IS_EXTERNAL(psVar7)" identifier (argument_list "(psVar7)" ( identifier )))) ;) (if_statement "if (iVar3 != 0) goto LAB_0003c3af;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0003c3af;" goto statement_identifier ;)) (labeled_statement "LAB_0003c1ed:\n      iVar3 = S_IS_WEAK(psVar7);" statement_identifier : (expression_statement "iVar3 = S_IS_WEAK(psVar7);" (assignment_expression "iVar3 = S_IS_WEAK(psVar7)" identifier = (call_expression "S_IS_WEAK(psVar7)" identifier (argument_list "(psVar7)" ( identifier )))) ;)) }))) (if_statement "if (iVar3 != 0) {\n      fwrite(&DAT_00053e92,1,5,(FILE *)file);\n    }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n      fwrite(&DAT_00053e92,1,5,(FILE *)file);\n    }" { (expression_statement "fwrite(&DAT_00053e92,1,5,(FILE *)file);" (call_expression "fwrite(&DAT_00053e92,1,5,(FILE *)file)" identifier (argument_list "(&DAT_00053e92,1,5,(FILE *)file)" ( (pointer_expression "&DAT_00053e92" & identifier) , number_literal , number_literal , (cast_expression "(FILE *)file" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) })) (expression_statement "paVar4 = (segT)psVar7->bsym;" (assignment_expression "paVar4 = (segT)psVar7->bsym" identifier = (cast_expression "(segT)psVar7->bsym" ( (type_descriptor "segT" type_identifier) ) (field_expression "psVar7->bsym" identifier -> field_identifier))) ;) (if_statement "if (((uint)psVar7->sy_flags & 1) == 0) {\n      if (((uint)paVar4->prev & 4) != 0) {\nLAB_0003c5a0:\n        fwrite(" debug",1,6,(FILE *)file);\n        paVar4 = (segT)psVar7->bsym;\n        if (((uint)psVar7->sy_flags & 1) != 0) {\n          if (paVar4 == reg_section) {\n            psVar5 = (psVar7->sy_value).X_op_symbol;\n            goto LAB_0003c60c;\n          }\n          goto LAB_0003c2e0;\n        }\n      }\n      if ((undefined *)paVar4->flags != PTR__bfd_std_section_0006efb4 + 0xc0) goto LAB_0003c2f4;\n      goto LAB_0003c22c;\n    }" if (parenthesized_expression "(((uint)psVar7->sy_flags & 1) == 0)" ( (binary_expression "((uint)psVar7->sy_flags & 1) == 0" (parenthesized_expression "((uint)psVar7->sy_flags & 1)" ( (binary_expression "(uint)psVar7->sy_flags & 1" (cast_expression "(uint)psVar7->sy_flags" ( (type_descriptor "uint" type_identifier) ) (field_expression "psVar7->sy_flags" identifier -> field_identifier)) & number_literal) )) == number_literal) )) (compound_statement "{\n      if (((uint)paVar4->prev & 4) != 0) {\nLAB_0003c5a0:\n        fwrite(" debug",1,6,(FILE *)file);\n        paVar4 = (segT)psVar7->bsym;\n        if (((uint)psVar7->sy_flags & 1) != 0) {\n          if (paVar4 == reg_section) {\n            psVar5 = (psVar7->sy_value).X_op_symbol;\n            goto LAB_0003c60c;\n          }\n          goto LAB_0003c2e0;\n        }\n      }\n      if ((undefined *)paVar4->flags != PTR__bfd_std_section_0006efb4 + 0xc0) goto LAB_0003c2f4;\n      goto LAB_0003c22c;\n    }" { (if_statement "if (((uint)paVar4->prev & 4) != 0) {\nLAB_0003c5a0:\n        fwrite(" debug",1,6,(FILE *)file);\n        paVar4 = (segT)psVar7->bsym;\n        if (((uint)psVar7->sy_flags & 1) != 0) {\n          if (paVar4 == reg_section) {\n            psVar5 = (psVar7->sy_value).X_op_symbol;\n            goto LAB_0003c60c;\n          }\n          goto LAB_0003c2e0;\n        }\n      }" if (parenthesized_expression "(((uint)paVar4->prev & 4) != 0)" ( (binary_expression "((uint)paVar4->prev & 4) != 0" (parenthesized_expression "((uint)paVar4->prev & 4)" ( (binary_expression "(uint)paVar4->prev & 4" (cast_expression "(uint)paVar4->prev" ( (type_descriptor "uint" type_identifier) ) (field_expression "paVar4->prev" identifier -> field_identifier)) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_0003c5a0:\n        fwrite(" debug",1,6,(FILE *)file);\n        paVar4 = (segT)psVar7->bsym;\n        if (((uint)psVar7->sy_flags & 1) != 0) {\n          if (paVar4 == reg_section) {\n            psVar5 = (psVar7->sy_value).X_op_symbol;\n            goto LAB_0003c60c;\n          }\n          goto LAB_0003c2e0;\n        }\n      }" { (labeled_statement "LAB_0003c5a0:\n        fwrite(" debug",1,6,(FILE *)file);" statement_identifier : (expression_statement "fwrite(" debug",1,6,(FILE *)file);" (call_expression "fwrite(" debug",1,6,(FILE *)file)" identifier (argument_list "(" debug",1,6,(FILE *)file)" ( (string_literal "" debug"" " string_content ") , number_literal , number_literal , (cast_expression "(FILE *)file" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;)) (expression_statement "paVar4 = (segT)psVar7->bsym;" (assignment_expression "paVar4 = (segT)psVar7->bsym" identifier = (cast_expression "(segT)psVar7->bsym" ( (type_descriptor "segT" type_identifier) ) (field_expression "psVar7->bsym" identifier -> field_identifier))) ;) (if_statement "if (((uint)psVar7->sy_flags & 1) != 0) {\n          if (paVar4 == reg_section) {\n            psVar5 = (psVar7->sy_value).X_op_symbol;\n            goto LAB_0003c60c;\n          }\n          goto LAB_0003c2e0;\n        }" if (parenthesized_expression "(((uint)psVar7->sy_flags & 1) != 0)" ( (binary_expression "((uint)psVar7->sy_flags & 1) != 0" (parenthesized_expression "((uint)psVar7->sy_flags & 1)" ( (binary_expression "(uint)psVar7->sy_flags & 1" (cast_expression "(uint)psVar7->sy_flags" ( (type_descriptor "uint" type_identifier) ) (field_expression "psVar7->sy_flags" identifier -> field_identifier)) & number_literal) )) != number_literal) )) (compound_statement "{\n          if (paVar4 == reg_section) {\n            psVar5 = (psVar7->sy_value).X_op_symbol;\n            goto LAB_0003c60c;\n          }\n          goto LAB_0003c2e0;\n        }" { (if_statement "if (paVar4 == reg_section) {\n            psVar5 = (psVar7->sy_value).X_op_symbol;\n            goto LAB_0003c60c;\n          }" if (parenthesized_expression "(paVar4 == reg_section)" ( (binary_expression "paVar4 == reg_section" identifier == identifier) )) (compound_statement "{\n            psVar5 = (psVar7->sy_value).X_op_symbol;\n            goto LAB_0003c60c;\n          }" { (expression_statement "psVar5 = (psVar7->sy_value).X_op_symbol;" (assignment_expression "psVar5 = (psVar7->sy_value).X_op_symbol" identifier = (field_expression "(psVar7->sy_value).X_op_symbol" (parenthesized_expression "(psVar7->sy_value)" ( (field_expression "psVar7->sy_value" identifier -> field_identifier) )) . field_identifier)) ;) (goto_statement "goto LAB_0003c60c;" goto statement_identifier ;) })) (goto_statement "goto LAB_0003c2e0;" goto statement_identifier ;) })) })) (if_statement "if ((undefined *)paVar4->flags != PTR__bfd_std_section_0006efb4 + 0xc0) goto LAB_0003c2f4;" if (parenthesized_expression "((undefined *)paVar4->flags != PTR__bfd_std_section_0006efb4 + 0xc0)" ( (binary_expression "(undefined *)paVar4->flags != PTR__bfd_std_section_0006efb4 + 0xc0" (cast_expression "(undefined *)paVar4->flags" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "paVar4->flags" identifier -> field_identifier)) != (binary_expression "PTR__bfd_std_section_0006efb4 + 0xc0" identifier + number_literal)) )) (goto_statement "goto LAB_0003c2f4;" goto statement_identifier ;)) (goto_statement "goto LAB_0003c22c;" goto statement_identifier ;) })) (if_statement "if (reg_section == paVar4) {\n      psVar5 = (psVar7->sy_value).X_op_symbol;\n      if ((psVar5->bsym->flags & 4) != 0) goto LAB_0003c5a0;\nLAB_0003c60c:\n      if (psVar5->bsym->section == (bfd_section *)(PTR__bfd_std_section_0006efb4 + 0xc0))\n      goto LAB_0003c13e;\nLAB_0003c2f4:\n      fwrite(" defined",1,8,(FILE *)file);\n      goto LAB_0003c13e;\n    }" if (parenthesized_expression "(reg_section == paVar4)" ( (binary_expression "reg_section == paVar4" identifier == identifier) )) (compound_statement "{\n      psVar5 = (psVar7->sy_value).X_op_symbol;\n      if ((psVar5->bsym->flags & 4) != 0) goto LAB_0003c5a0;\nLAB_0003c60c:\n      if (psVar5->bsym->section == (bfd_section *)(PTR__bfd_std_section_0006efb4 + 0xc0))\n      goto LAB_0003c13e;\nLAB_0003c2f4:\n      fwrite(" defined",1,8,(FILE *)file);\n      goto LAB_0003c13e;\n    }" { (expression_statement "psVar5 = (psVar7->sy_value).X_op_symbol;" (assignment_expression "psVar5 = (psVar7->sy_value).X_op_symbol" identifier = (field_expression "(psVar7->sy_value).X_op_symbol" (parenthesized_expression "(psVar7->sy_value)" ( (field_expression "psVar7->sy_value" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if ((psVar5->bsym->flags & 4) != 0) goto LAB_0003c5a0;" if (parenthesized_expression "((psVar5->bsym->flags & 4) != 0)" ( (binary_expression "(psVar5->bsym->flags & 4) != 0" (parenthesized_expression "(psVar5->bsym->flags & 4)" ( (binary_expression "psVar5->bsym->flags & 4" (field_expression "psVar5->bsym->flags" (field_expression "psVar5->bsym" identifier -> field_identifier) -> field_identifier) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0003c5a0;" goto statement_identifier ;)) (labeled_statement "LAB_0003c60c:\n      if (psVar5->bsym->section == (bfd_section *)(PTR__bfd_std_section_0006efb4 + 0xc0))\n      goto LAB_0003c13e;" statement_identifier : (if_statement "if (psVar5->bsym->section == (bfd_section *)(PTR__bfd_std_section_0006efb4 + 0xc0))\n      goto LAB_0003c13e;" if (parenthesized_expression "(psVar5->bsym->section == (bfd_section *)(PTR__bfd_std_section_0006efb4 + 0xc0))" ( (binary_expression "psVar5->bsym->section == (bfd_section *)(PTR__bfd_std_section_0006efb4 + 0xc0)" (field_expression "psVar5->bsym->section" (field_expression "psVar5->bsym" identifier -> field_identifier) -> field_identifier) == (cast_expression "(bfd_section *)(PTR__bfd_std_section_0006efb4 + 0xc0)" ( (type_descriptor "bfd_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__bfd_std_section_0006efb4 + 0xc0)" ( (binary_expression "PTR__bfd_std_section_0006efb4 + 0xc0" identifier + number_literal) )))) )) (goto_statement "goto LAB_0003c13e;" goto statement_identifier ;))) (labeled_statement "LAB_0003c2f4:\n      fwrite(" defined",1,8,(FILE *)file);" statement_identifier : (expression_statement "fwrite(" defined",1,8,(FILE *)file);" (call_expression "fwrite(" defined",1,8,(FILE *)file)" identifier (argument_list "(" defined",1,8,(FILE *)file)" ( (string_literal "" defined"" " string_content ") , number_literal , number_literal , (cast_expression "(FILE *)file" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;)) (goto_statement "goto LAB_0003c13e;" goto statement_identifier ;) })) (labeled_statement "LAB_0003c2e0:\n    if (paVar4 != (segT)(PTR__bfd_std_section_0006efb4 + 0xc0)) goto LAB_0003c2f4;" statement_identifier : (if_statement "if (paVar4 != (segT)(PTR__bfd_std_section_0006efb4 + 0xc0)) goto LAB_0003c2f4;" if (parenthesized_expression "(paVar4 != (segT)(PTR__bfd_std_section_0006efb4 + 0xc0))" ( (binary_expression "paVar4 != (segT)(PTR__bfd_std_section_0006efb4 + 0xc0)" identifier != (call_expression "(segT)(PTR__bfd_std_section_0006efb4 + 0xc0)" (parenthesized_expression "(segT)" ( identifier )) (argument_list "(PTR__bfd_std_section_0006efb4 + 0xc0)" ( (binary_expression "PTR__bfd_std_section_0006efb4 + 0xc0" identifier + number_literal) )))) )) (goto_statement "goto LAB_0003c2f4;" goto statement_identifier ;))) (labeled_statement "LAB_0003c152:\n    if (reg_section == paVar4) {\n      if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 2) != 0) {\nLAB_0003c430:\n        fwrite(" weakrefr",1,9,(FILE *)file);\n        if (((uint)psVar7->sy_flags & 1) == 0) goto LAB_0003c236;\n        paVar4 = (segT)psVar7->bsym;\n        if (reg_section != paVar4) goto LAB_0003c248;\n      }\n      if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 4) != 0) goto LAB_0003c468;\nLAB_0003c572:\n      psVar5 = (psVar7->sy_value).X_op_symbol;\n      goto LAB_0003c242;\n    }" statement_identifier : (if_statement "if (reg_section == paVar4) {\n      if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 2) != 0) {\nLAB_0003c430:\n        fwrite(" weakrefr",1,9,(FILE *)file);\n        if (((uint)psVar7->sy_flags & 1) == 0) goto LAB_0003c236;\n        paVar4 = (segT)psVar7->bsym;\n        if (reg_section != paVar4) goto LAB_0003c248;\n      }\n      if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 4) != 0) goto LAB_0003c468;\nLAB_0003c572:\n      psVar5 = (psVar7->sy_value).X_op_symbol;\n      goto LAB_0003c242;\n    }" if (parenthesized_expression "(reg_section == paVar4)" ( (binary_expression "reg_section == paVar4" identifier == identifier) )) (compound_statement "{\n      if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 2) != 0) {\nLAB_0003c430:\n        fwrite(" weakrefr",1,9,(FILE *)file);\n        if (((uint)psVar7->sy_flags & 1) == 0) goto LAB_0003c236;\n        paVar4 = (segT)psVar7->bsym;\n        if (reg_section != paVar4) goto LAB_0003c248;\n      }\n      if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 4) != 0) goto LAB_0003c468;\nLAB_0003c572:\n      psVar5 = (psVar7->sy_value).X_op_symbol;\n      goto LAB_0003c242;\n    }" { (if_statement "if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 2) != 0) {\nLAB_0003c430:\n        fwrite(" weakrefr",1,9,(FILE *)file);\n        if (((uint)psVar7->sy_flags & 1) == 0) goto LAB_0003c236;\n        paVar4 = (segT)psVar7->bsym;\n        if (reg_section != paVar4) goto LAB_0003c248;\n      }" if (parenthesized_expression "(((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 2) != 0)" ( (binary_expression "((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 2) != 0" (parenthesized_expression "((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 2)" ( (binary_expression "(((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 2" (field_expression "(((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1" (parenthesized_expression "(((psVar7->sy_value).X_op_symbol)->sy_flags)" ( (field_expression "((psVar7->sy_value).X_op_symbol)->sy_flags" (parenthesized_expression "((psVar7->sy_value).X_op_symbol)" ( (field_expression "(psVar7->sy_value).X_op_symbol" (parenthesized_expression "(psVar7->sy_value)" ( (field_expression "psVar7->sy_value" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier) )) . field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_0003c430:\n        fwrite(" weakrefr",1,9,(FILE *)file);\n        if (((uint)psVar7->sy_flags & 1) == 0) goto LAB_0003c236;\n        paVar4 = (segT)psVar7->bsym;\n        if (reg_section != paVar4) goto LAB_0003c248;\n      }" { (labeled_statement "LAB_0003c430:\n        fwrite(" weakrefr",1,9,(FILE *)file);" statement_identifier : (expression_statement "fwrite(" weakrefr",1,9,(FILE *)file);" (call_expression "fwrite(" weakrefr",1,9,(FILE *)file)" identifier (argument_list "(" weakrefr",1,9,(FILE *)file)" ( (string_literal "" weakrefr"" " string_content ") , number_literal , number_literal , (cast_expression "(FILE *)file" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;)) (if_statement "if (((uint)psVar7->sy_flags & 1) == 0) goto LAB_0003c236;" if (parenthesized_expression "(((uint)psVar7->sy_flags & 1) == 0)" ( (binary_expression "((uint)psVar7->sy_flags & 1) == 0" (parenthesized_expression "((uint)psVar7->sy_flags & 1)" ( (binary_expression "(uint)psVar7->sy_flags & 1" (cast_expression "(uint)psVar7->sy_flags" ( (type_descriptor "uint" type_identifier) ) (field_expression "psVar7->sy_flags" identifier -> field_identifier)) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0003c236;" goto statement_identifier ;)) (expression_statement "paVar4 = (segT)psVar7->bsym;" (assignment_expression "paVar4 = (segT)psVar7->bsym" identifier = (cast_expression "(segT)psVar7->bsym" ( (type_descriptor "segT" type_identifier) ) (field_expression "psVar7->bsym" identifier -> field_identifier))) ;) (if_statement "if (reg_section != paVar4) goto LAB_0003c248;" if (parenthesized_expression "(reg_section != paVar4)" ( (binary_expression "reg_section != paVar4" identifier != identifier) )) (goto_statement "goto LAB_0003c248;" goto statement_identifier ;)) })) (if_statement "if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 4) != 0) goto LAB_0003c468;" if (parenthesized_expression "(((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 4) != 0)" ( (binary_expression "((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 4) != 0" (parenthesized_expression "((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 4)" ( (binary_expression "(((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 4" (field_expression "(((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1" (parenthesized_expression "(((psVar7->sy_value).X_op_symbol)->sy_flags)" ( (field_expression "((psVar7->sy_value).X_op_symbol)->sy_flags" (parenthesized_expression "((psVar7->sy_value).X_op_symbol)" ( (field_expression "(psVar7->sy_value).X_op_symbol" (parenthesized_expression "(psVar7->sy_value)" ( (field_expression "psVar7->sy_value" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier) )) . field_identifier) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0003c468;" goto statement_identifier ;)) (labeled_statement "LAB_0003c572:\n      psVar5 = (psVar7->sy_value).X_op_symbol;" statement_identifier : (expression_statement "psVar5 = (psVar7->sy_value).X_op_symbol;" (assignment_expression "psVar5 = (psVar7->sy_value).X_op_symbol" identifier = (field_expression "(psVar7->sy_value).X_op_symbol" (parenthesized_expression "(psVar7->sy_value)" ( (field_expression "psVar7->sy_value" identifier -> field_identifier) )) . field_identifier)) ;)) (goto_statement "goto LAB_0003c242;" goto statement_identifier ;) }))) }) (else_clause "else {\n    if ((psVar7 != (symbolS *)0x0) && (psVar7 != (symbolS *)PTR_zero_address_frag_0006ef70)) {\n      fwrite(" frag ",1,6,(FILE *)file);\n      fprintf((FILE *)file,"%016llx",(sym->sy_value).X_op_symbol,0);\n      bVar2 = *(byte *)&sym->sy_flags;\n    }\n    if ((bVar2 & 4) != 0) {\n      fwrite(" resolved",1,9,(FILE *)file);\n    }\n    fwrite(" local",1,6,(FILE *)file);\n    psVar7 = sym;\nLAB_0003c13e:\n    if (((uint)psVar7->sy_flags & 1) != 0) {\n      paVar4 = (segT)psVar7->bsym;\n      goto LAB_0003c152;\n    }\nLAB_0003c22c:\n    if (((psVar7->sy_flags).field_0x1 & 2) != 0) goto LAB_0003c430;\nLAB_0003c236:\n    psVar5 = psVar7;\n    if (((psVar7->sy_flags).field_0x1 & 4) != 0) {\nLAB_0003c468:\n      fwrite(" weakrefd",1,9,(FILE *)file);\n      psVar5 = psVar7;\n      if (((uint)psVar7->sy_flags & 1) != 0) {\n        paVar4 = (segT)psVar7->bsym;\n        if (reg_section == paVar4) goto LAB_0003c572;\n        goto LAB_0003c248;\n      }\n    }\nLAB_0003c242:\n    paVar4 = psVar5->bsym->section;\n  }" else (compound_statement "{\n    if ((psVar7 != (symbolS *)0x0) && (psVar7 != (symbolS *)PTR_zero_address_frag_0006ef70)) {\n      fwrite(" frag ",1,6,(FILE *)file);\n      fprintf((FILE *)file,"%016llx",(sym->sy_value).X_op_symbol,0);\n      bVar2 = *(byte *)&sym->sy_flags;\n    }\n    if ((bVar2 & 4) != 0) {\n      fwrite(" resolved",1,9,(FILE *)file);\n    }\n    fwrite(" local",1,6,(FILE *)file);\n    psVar7 = sym;\nLAB_0003c13e:\n    if (((uint)psVar7->sy_flags & 1) != 0) {\n      paVar4 = (segT)psVar7->bsym;\n      goto LAB_0003c152;\n    }\nLAB_0003c22c:\n    if (((psVar7->sy_flags).field_0x1 & 2) != 0) goto LAB_0003c430;\nLAB_0003c236:\n    psVar5 = psVar7;\n    if (((psVar7->sy_flags).field_0x1 & 4) != 0) {\nLAB_0003c468:\n      fwrite(" weakrefd",1,9,(FILE *)file);\n      psVar5 = psVar7;\n      if (((uint)psVar7->sy_flags & 1) != 0) {\n        paVar4 = (segT)psVar7->bsym;\n        if (reg_section == paVar4) goto LAB_0003c572;\n        goto LAB_0003c248;\n      }\n    }\nLAB_0003c242:\n    paVar4 = psVar5->bsym->section;\n  }" { (if_statement "if ((psVar7 != (symbolS *)0x0) && (psVar7 != (symbolS *)PTR_zero_address_frag_0006ef70)) {\n      fwrite(" frag ",1,6,(FILE *)file);\n      fprintf((FILE *)file,"%016llx",(sym->sy_value).X_op_symbol,0);\n      bVar2 = *(byte *)&sym->sy_flags;\n    }" if (parenthesized_expression "((psVar7 != (symbolS *)0x0) && (psVar7 != (symbolS *)PTR_zero_address_frag_0006ef70))" ( (binary_expression "(psVar7 != (symbolS *)0x0) && (psVar7 != (symbolS *)PTR_zero_address_frag_0006ef70)" (parenthesized_expression "(psVar7 != (symbolS *)0x0)" ( (binary_expression "psVar7 != (symbolS *)0x0" identifier != (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(psVar7 != (symbolS *)PTR_zero_address_frag_0006ef70)" ( (binary_expression "psVar7 != (symbolS *)PTR_zero_address_frag_0006ef70" identifier != (cast_expression "(symbolS *)PTR_zero_address_frag_0006ef70" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) )) (compound_statement "{\n      fwrite(" frag ",1,6,(FILE *)file);\n      fprintf((FILE *)file,"%016llx",(sym->sy_value).X_op_symbol,0);\n      bVar2 = *(byte *)&sym->sy_flags;\n    }" { (expression_statement "fwrite(" frag ",1,6,(FILE *)file);" (call_expression "fwrite(" frag ",1,6,(FILE *)file)" identifier (argument_list "(" frag ",1,6,(FILE *)file)" ( (string_literal "" frag "" " string_content ") , number_literal , number_literal , (cast_expression "(FILE *)file" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "fprintf((FILE *)file,"%016llx",(sym->sy_value).X_op_symbol,0);" (call_expression "fprintf((FILE *)file,"%016llx",(sym->sy_value).X_op_symbol,0)" identifier (argument_list "((FILE *)file,"%016llx",(sym->sy_value).X_op_symbol,0)" ( (cast_expression "(FILE *)file" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""%016llx"" " string_content ") , (field_expression "(sym->sy_value).X_op_symbol" (parenthesized_expression "(sym->sy_value)" ( (field_expression "sym->sy_value" identifier -> field_identifier) )) . field_identifier) , number_literal ))) ;) (expression_statement "bVar2 = *(byte *)&sym->sy_flags;" (assignment_expression "bVar2 = *(byte *)&sym->sy_flags" identifier = (pointer_expression "*(byte *)&sym->sy_flags" * (cast_expression "(byte *)&sym->sy_flags" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&sym->sy_flags" & (field_expression "sym->sy_flags" identifier -> field_identifier))))) ;) })) (if_statement "if ((bVar2 & 4) != 0) {\n      fwrite(" resolved",1,9,(FILE *)file);\n    }" if (parenthesized_expression "((bVar2 & 4) != 0)" ( (binary_expression "(bVar2 & 4) != 0" (parenthesized_expression "(bVar2 & 4)" ( (binary_expression "bVar2 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      fwrite(" resolved",1,9,(FILE *)file);\n    }" { (expression_statement "fwrite(" resolved",1,9,(FILE *)file);" (call_expression "fwrite(" resolved",1,9,(FILE *)file)" identifier (argument_list "(" resolved",1,9,(FILE *)file)" ( (string_literal "" resolved"" " string_content ") , number_literal , number_literal , (cast_expression "(FILE *)file" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) })) (expression_statement "fwrite(" local",1,6,(FILE *)file);" (call_expression "fwrite(" local",1,6,(FILE *)file)" identifier (argument_list "(" local",1,6,(FILE *)file)" ( (string_literal "" local"" " string_content ") , number_literal , number_literal , (cast_expression "(FILE *)file" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "psVar7 = sym;" (assignment_expression "psVar7 = sym" identifier = identifier) ;) (labeled_statement "LAB_0003c13e:\n    if (((uint)psVar7->sy_flags & 1) != 0) {\n      paVar4 = (segT)psVar7->bsym;\n      goto LAB_0003c152;\n    }" statement_identifier : (if_statement "if (((uint)psVar7->sy_flags & 1) != 0) {\n      paVar4 = (segT)psVar7->bsym;\n      goto LAB_0003c152;\n    }" if (parenthesized_expression "(((uint)psVar7->sy_flags & 1) != 0)" ( (binary_expression "((uint)psVar7->sy_flags & 1) != 0" (parenthesized_expression "((uint)psVar7->sy_flags & 1)" ( (binary_expression "(uint)psVar7->sy_flags & 1" (cast_expression "(uint)psVar7->sy_flags" ( (type_descriptor "uint" type_identifier) ) (field_expression "psVar7->sy_flags" identifier -> field_identifier)) & number_literal) )) != number_literal) )) (compound_statement "{\n      paVar4 = (segT)psVar7->bsym;\n      goto LAB_0003c152;\n    }" { (expression_statement "paVar4 = (segT)psVar7->bsym;" (assignment_expression "paVar4 = (segT)psVar7->bsym" identifier = (cast_expression "(segT)psVar7->bsym" ( (type_descriptor "segT" type_identifier) ) (field_expression "psVar7->bsym" identifier -> field_identifier))) ;) (goto_statement "goto LAB_0003c152;" goto statement_identifier ;) }))) (labeled_statement "LAB_0003c22c:\n    if (((psVar7->sy_flags).field_0x1 & 2) != 0) goto LAB_0003c430;" statement_identifier : (if_statement "if (((psVar7->sy_flags).field_0x1 & 2) != 0) goto LAB_0003c430;" if (parenthesized_expression "(((psVar7->sy_flags).field_0x1 & 2) != 0)" ( (binary_expression "((psVar7->sy_flags).field_0x1 & 2) != 0" (parenthesized_expression "((psVar7->sy_flags).field_0x1 & 2)" ( (binary_expression "(psVar7->sy_flags).field_0x1 & 2" (field_expression "(psVar7->sy_flags).field_0x1" (parenthesized_expression "(psVar7->sy_flags)" ( (field_expression "psVar7->sy_flags" identifier -> field_identifier) )) . field_identifier) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0003c430;" goto statement_identifier ;))) (labeled_statement "LAB_0003c236:\n    psVar5 = psVar7;" statement_identifier : (expression_statement "psVar5 = psVar7;" (assignment_expression "psVar5 = psVar7" identifier = identifier) ;)) (if_statement "if (((psVar7->sy_flags).field_0x1 & 4) != 0) {\nLAB_0003c468:\n      fwrite(" weakrefd",1,9,(FILE *)file);\n      psVar5 = psVar7;\n      if (((uint)psVar7->sy_flags & 1) != 0) {\n        paVar4 = (segT)psVar7->bsym;\n        if (reg_section == paVar4) goto LAB_0003c572;\n        goto LAB_0003c248;\n      }\n    }" if (parenthesized_expression "(((psVar7->sy_flags).field_0x1 & 4) != 0)" ( (binary_expression "((psVar7->sy_flags).field_0x1 & 4) != 0" (parenthesized_expression "((psVar7->sy_flags).field_0x1 & 4)" ( (binary_expression "(psVar7->sy_flags).field_0x1 & 4" (field_expression "(psVar7->sy_flags).field_0x1" (parenthesized_expression "(psVar7->sy_flags)" ( (field_expression "psVar7->sy_flags" identifier -> field_identifier) )) . field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_0003c468:\n      fwrite(" weakrefd",1,9,(FILE *)file);\n      psVar5 = psVar7;\n      if (((uint)psVar7->sy_flags & 1) != 0) {\n        paVar4 = (segT)psVar7->bsym;\n        if (reg_section == paVar4) goto LAB_0003c572;\n        goto LAB_0003c248;\n      }\n    }" { (labeled_statement "LAB_0003c468:\n      fwrite(" weakrefd",1,9,(FILE *)file);" statement_identifier : (expression_statement "fwrite(" weakrefd",1,9,(FILE *)file);" (call_expression "fwrite(" weakrefd",1,9,(FILE *)file)" identifier (argument_list "(" weakrefd",1,9,(FILE *)file)" ( (string_literal "" weakrefd"" " string_content ") , number_literal , number_literal , (cast_expression "(FILE *)file" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;)) (expression_statement "psVar5 = psVar7;" (assignment_expression "psVar5 = psVar7" identifier = identifier) ;) (if_statement "if (((uint)psVar7->sy_flags & 1) != 0) {\n        paVar4 = (segT)psVar7->bsym;\n        if (reg_section == paVar4) goto LAB_0003c572;\n        goto LAB_0003c248;\n      }" if (parenthesized_expression "(((uint)psVar7->sy_flags & 1) != 0)" ( (binary_expression "((uint)psVar7->sy_flags & 1) != 0" (parenthesized_expression "((uint)psVar7->sy_flags & 1)" ( (binary_expression "(uint)psVar7->sy_flags & 1" (cast_expression "(uint)psVar7->sy_flags" ( (type_descriptor "uint" type_identifier) ) (field_expression "psVar7->sy_flags" identifier -> field_identifier)) & number_literal) )) != number_literal) )) (compound_statement "{\n        paVar4 = (segT)psVar7->bsym;\n        if (reg_section == paVar4) goto LAB_0003c572;\n        goto LAB_0003c248;\n      }" { (expression_statement "paVar4 = (segT)psVar7->bsym;" (assignment_expression "paVar4 = (segT)psVar7->bsym" identifier = (cast_expression "(segT)psVar7->bsym" ( (type_descriptor "segT" type_identifier) ) (field_expression "psVar7->bsym" identifier -> field_identifier))) ;) (if_statement "if (reg_section == paVar4) goto LAB_0003c572;" if (parenthesized_expression "(reg_section == paVar4)" ( (binary_expression "reg_section == paVar4" identifier == identifier) )) (goto_statement "goto LAB_0003c572;" goto statement_identifier ;)) (goto_statement "goto LAB_0003c248;" goto statement_identifier ;) })) })) (labeled_statement "LAB_0003c242:\n    paVar4 = psVar5->bsym->section;" statement_identifier : (expression_statement "paVar4 = psVar5->bsym->section;" (assignment_expression "paVar4 = psVar5->bsym->section" identifier = (field_expression "psVar5->bsym->section" (field_expression "psVar5->bsym" identifier -> field_identifier) -> field_identifier)) ;)) }))) (labeled_statement "LAB_0003c248:\n  fprintf((FILE *)file," %s",paVar4->name);" statement_identifier : (expression_statement "fprintf((FILE *)file," %s",paVar4->name);" (call_expression "fprintf((FILE *)file," %s",paVar4->name)" identifier (argument_list "((FILE *)file," %s",paVar4->name)" ( (cast_expression "(FILE *)file" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal "" %s"" " string_content ") , (field_expression "paVar4->name" identifier -> field_identifier) ))) ;)) (expression_statement "sVar1 = psVar7->sy_flags;" (assignment_expression "sVar1 = psVar7->sy_flags" identifier = (field_expression "psVar7->sy_flags" identifier -> field_identifier)) ;) (if_statement "if (((uint)sVar1 & 1) == 0) {\n    psVar5 = psVar7;\n    if (((uint)sVar1 & 4) != 0) {\nLAB_0003c316:\n      paVar4 = psVar5->bsym->section;\nLAB_0003c283:\n      if ((paVar4 != (segT)(PTR__bfd_std_section_0006efb4 + 0xc0)) && (expr_section != paVar4)) {\n        vVar8 = S_GET_VALUE(psVar7);\n        fprintf((FILE *)file," %lx",(int)vVar8);\n      }\n      goto LAB_0003c2b7;\n    }\n    if (7 < indent_level) goto LAB_0003c2b7;\n    paVar6 = psVar7->bsym;\nLAB_0003c338:\n    paVar4 = paVar6->section;\n  }\n  else {\n    paVar4 = (segT)psVar7->bsym;\n    if (paVar4 == reg_section) {\n      psVar5 = (psVar7->sy_value).X_op_symbol;\n      if (((uint)psVar5->sy_flags & 4) != 0) goto LAB_0003c316;\n      if (7 < indent_level) goto LAB_0003c2b7;\n      paVar6 = psVar5->bsym;\n      goto LAB_0003c338;\n    }\n    if (((uint)sVar1 & 4) != 0) goto LAB_0003c283;\n    if (7 < indent_level) goto LAB_0003c2b7;\n  }" if (parenthesized_expression "(((uint)sVar1 & 1) == 0)" ( (binary_expression "((uint)sVar1 & 1) == 0" (parenthesized_expression "((uint)sVar1 & 1)" ( (binary_expression "(uint)sVar1 & 1" (cast_expression "(uint)sVar1" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n    psVar5 = psVar7;\n    if (((uint)sVar1 & 4) != 0) {\nLAB_0003c316:\n      paVar4 = psVar5->bsym->section;\nLAB_0003c283:\n      if ((paVar4 != (segT)(PTR__bfd_std_section_0006efb4 + 0xc0)) && (expr_section != paVar4)) {\n        vVar8 = S_GET_VALUE(psVar7);\n        fprintf((FILE *)file," %lx",(int)vVar8);\n      }\n      goto LAB_0003c2b7;\n    }\n    if (7 < indent_level) goto LAB_0003c2b7;\n    paVar6 = psVar7->bsym;\nLAB_0003c338:\n    paVar4 = paVar6->section;\n  }" { (expression_statement "psVar5 = psVar7;" (assignment_expression "psVar5 = psVar7" identifier = identifier) ;) (if_statement "if (((uint)sVar1 & 4) != 0) {\nLAB_0003c316:\n      paVar4 = psVar5->bsym->section;\nLAB_0003c283:\n      if ((paVar4 != (segT)(PTR__bfd_std_section_0006efb4 + 0xc0)) && (expr_section != paVar4)) {\n        vVar8 = S_GET_VALUE(psVar7);\n        fprintf((FILE *)file," %lx",(int)vVar8);\n      }\n      goto LAB_0003c2b7;\n    }" if (parenthesized_expression "(((uint)sVar1 & 4) != 0)" ( (binary_expression "((uint)sVar1 & 4) != 0" (parenthesized_expression "((uint)sVar1 & 4)" ( (binary_expression "(uint)sVar1 & 4" (cast_expression "(uint)sVar1" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_0003c316:\n      paVar4 = psVar5->bsym->section;\nLAB_0003c283:\n      if ((paVar4 != (segT)(PTR__bfd_std_section_0006efb4 + 0xc0)) && (expr_section != paVar4)) {\n        vVar8 = S_GET_VALUE(psVar7);\n        fprintf((FILE *)file," %lx",(int)vVar8);\n      }\n      goto LAB_0003c2b7;\n    }" { (labeled_statement "LAB_0003c316:\n      paVar4 = psVar5->bsym->section;" statement_identifier : (expression_statement "paVar4 = psVar5->bsym->section;" (assignment_expression "paVar4 = psVar5->bsym->section" identifier = (field_expression "psVar5->bsym->section" (field_expression "psVar5->bsym" identifier -> field_identifier) -> field_identifier)) ;)) (labeled_statement "LAB_0003c283:\n      if ((paVar4 != (segT)(PTR__bfd_std_section_0006efb4 + 0xc0)) && (expr_section != paVar4)) {\n        vVar8 = S_GET_VALUE(psVar7);\n        fprintf((FILE *)file," %lx",(int)vVar8);\n      }" statement_identifier : (if_statement "if ((paVar4 != (segT)(PTR__bfd_std_section_0006efb4 + 0xc0)) && (expr_section != paVar4)) {\n        vVar8 = S_GET_VALUE(psVar7);\n        fprintf((FILE *)file," %lx",(int)vVar8);\n      }" if (parenthesized_expression "((paVar4 != (segT)(PTR__bfd_std_section_0006efb4 + 0xc0)) && (expr_section != paVar4))" ( (binary_expression "(paVar4 != (segT)(PTR__bfd_std_section_0006efb4 + 0xc0)) && (expr_section != paVar4)" (parenthesized_expression "(paVar4 != (segT)(PTR__bfd_std_section_0006efb4 + 0xc0))" ( (binary_expression "paVar4 != (segT)(PTR__bfd_std_section_0006efb4 + 0xc0)" identifier != (call_expression "(segT)(PTR__bfd_std_section_0006efb4 + 0xc0)" (parenthesized_expression "(segT)" ( identifier )) (argument_list "(PTR__bfd_std_section_0006efb4 + 0xc0)" ( (binary_expression "PTR__bfd_std_section_0006efb4 + 0xc0" identifier + number_literal) )))) )) && (parenthesized_expression "(expr_section != paVar4)" ( (binary_expression "expr_section != paVar4" identifier != identifier) ))) )) (compound_statement "{\n        vVar8 = S_GET_VALUE(psVar7);\n        fprintf((FILE *)file," %lx",(int)vVar8);\n      }" { (expression_statement "vVar8 = S_GET_VALUE(psVar7);" (assignment_expression "vVar8 = S_GET_VALUE(psVar7)" identifier = (call_expression "S_GET_VALUE(psVar7)" identifier (argument_list "(psVar7)" ( identifier )))) ;) (expression_statement "fprintf((FILE *)file," %lx",(int)vVar8);" (call_expression "fprintf((FILE *)file," %lx",(int)vVar8)" identifier (argument_list "((FILE *)file," %lx",(int)vVar8)" ( (cast_expression "(FILE *)file" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal "" %lx"" " string_content ") , (cast_expression "(int)vVar8" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) }))) (goto_statement "goto LAB_0003c2b7;" goto statement_identifier ;) })) (if_statement "if (7 < indent_level) goto LAB_0003c2b7;" if (parenthesized_expression "(7 < indent_level)" ( (binary_expression "7 < indent_level" number_literal < identifier) )) (goto_statement "goto LAB_0003c2b7;" goto statement_identifier ;)) (expression_statement "paVar6 = psVar7->bsym;" (assignment_expression "paVar6 = psVar7->bsym" identifier = (field_expression "psVar7->bsym" identifier -> field_identifier)) ;) (labeled_statement "LAB_0003c338:\n    paVar4 = paVar6->section;" statement_identifier : (expression_statement "paVar4 = paVar6->section;" (assignment_expression "paVar4 = paVar6->section" identifier = (field_expression "paVar6->section" identifier -> field_identifier)) ;)) }) (else_clause "else {\n    paVar4 = (segT)psVar7->bsym;\n    if (paVar4 == reg_section) {\n      psVar5 = (psVar7->sy_value).X_op_symbol;\n      if (((uint)psVar5->sy_flags & 4) != 0) goto LAB_0003c316;\n      if (7 < indent_level) goto LAB_0003c2b7;\n      paVar6 = psVar5->bsym;\n      goto LAB_0003c338;\n    }\n    if (((uint)sVar1 & 4) != 0) goto LAB_0003c283;\n    if (7 < indent_level) goto LAB_0003c2b7;\n  }" else (compound_statement "{\n    paVar4 = (segT)psVar7->bsym;\n    if (paVar4 == reg_section) {\n      psVar5 = (psVar7->sy_value).X_op_symbol;\n      if (((uint)psVar5->sy_flags & 4) != 0) goto LAB_0003c316;\n      if (7 < indent_level) goto LAB_0003c2b7;\n      paVar6 = psVar5->bsym;\n      goto LAB_0003c338;\n    }\n    if (((uint)sVar1 & 4) != 0) goto LAB_0003c283;\n    if (7 < indent_level) goto LAB_0003c2b7;\n  }" { (expression_statement "paVar4 = (segT)psVar7->bsym;" (assignment_expression "paVar4 = (segT)psVar7->bsym" identifier = (cast_expression "(segT)psVar7->bsym" ( (type_descriptor "segT" type_identifier) ) (field_expression "psVar7->bsym" identifier -> field_identifier))) ;) (if_statement "if (paVar4 == reg_section) {\n      psVar5 = (psVar7->sy_value).X_op_symbol;\n      if (((uint)psVar5->sy_flags & 4) != 0) goto LAB_0003c316;\n      if (7 < indent_level) goto LAB_0003c2b7;\n      paVar6 = psVar5->bsym;\n      goto LAB_0003c338;\n    }" if (parenthesized_expression "(paVar4 == reg_section)" ( (binary_expression "paVar4 == reg_section" identifier == identifier) )) (compound_statement "{\n      psVar5 = (psVar7->sy_value).X_op_symbol;\n      if (((uint)psVar5->sy_flags & 4) != 0) goto LAB_0003c316;\n      if (7 < indent_level) goto LAB_0003c2b7;\n      paVar6 = psVar5->bsym;\n      goto LAB_0003c338;\n    }" { (expression_statement "psVar5 = (psVar7->sy_value).X_op_symbol;" (assignment_expression "psVar5 = (psVar7->sy_value).X_op_symbol" identifier = (field_expression "(psVar7->sy_value).X_op_symbol" (parenthesized_expression "(psVar7->sy_value)" ( (field_expression "psVar7->sy_value" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (((uint)psVar5->sy_flags & 4) != 0) goto LAB_0003c316;" if (parenthesized_expression "(((uint)psVar5->sy_flags & 4) != 0)" ( (binary_expression "((uint)psVar5->sy_flags & 4) != 0" (parenthesized_expression "((uint)psVar5->sy_flags & 4)" ( (binary_expression "(uint)psVar5->sy_flags & 4" (cast_expression "(uint)psVar5->sy_flags" ( (type_descriptor "uint" type_identifier) ) (field_expression "psVar5->sy_flags" identifier -> field_identifier)) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0003c316;" goto statement_identifier ;)) (if_statement "if (7 < indent_level) goto LAB_0003c2b7;" if (parenthesized_expression "(7 < indent_level)" ( (binary_expression "7 < indent_level" number_literal < identifier) )) (goto_statement "goto LAB_0003c2b7;" goto statement_identifier ;)) (expression_statement "paVar6 = psVar5->bsym;" (assignment_expression "paVar6 = psVar5->bsym" identifier = (field_expression "psVar5->bsym" identifier -> field_identifier)) ;) (goto_statement "goto LAB_0003c338;" goto statement_identifier ;) })) (if_statement "if (((uint)sVar1 & 4) != 0) goto LAB_0003c283;" if (parenthesized_expression "(((uint)sVar1 & 4) != 0)" ( (binary_expression "((uint)sVar1 & 4) != 0" (parenthesized_expression "((uint)sVar1 & 4)" ( (binary_expression "(uint)sVar1 & 4" (cast_expression "(uint)sVar1" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0003c283;" goto statement_identifier ;)) (if_statement "if (7 < indent_level) goto LAB_0003c2b7;" if (parenthesized_expression "(7 < indent_level)" ( (binary_expression "7 < indent_level" number_literal < identifier) )) (goto_statement "goto LAB_0003c2b7;" goto statement_identifier ;)) }))) (if_statement "if (paVar4 == (segT)(PTR__bfd_std_section_0006efb4 + 0xc0)) goto LAB_0003c2b7;" if (parenthesized_expression "(paVar4 == (segT)(PTR__bfd_std_section_0006efb4 + 0xc0))" ( (binary_expression "paVar4 == (segT)(PTR__bfd_std_section_0006efb4 + 0xc0)" identifier == (call_expression "(segT)(PTR__bfd_std_section_0006efb4 + 0xc0)" (parenthesized_expression "(segT)" ( identifier )) (argument_list "(PTR__bfd_std_section_0006efb4 + 0xc0)" ( (binary_expression "PTR__bfd_std_section_0006efb4 + 0xc0" identifier + number_literal) )))) )) (goto_statement "goto LAB_0003c2b7;" goto statement_identifier ;)) (expression_statement "indent_level = indent_level + 1;" (assignment_expression "indent_level = indent_level + 1" identifier = (binary_expression "indent_level + 1" identifier + number_literal)) ;) (expression_statement "puVar9 = &DAT_00050b45;" (assignment_expression "puVar9 = &DAT_00050b45" identifier = (pointer_expression "&DAT_00050b45" & identifier)) ;) (expression_statement "fprintf((FILE *)file,"\n%*s<",indent_level * 4,&DAT_00050b45);" (call_expression "fprintf((FILE *)file,"\n%*s<",indent_level * 4,&DAT_00050b45)" identifier (argument_list "((FILE *)file,"\n%*s<",indent_level * 4,&DAT_00050b45)" ( (cast_expression "(FILE *)file" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""\n%*s<"" " escape_sequence string_content ") , (binary_expression "indent_level * 4" identifier * number_literal) , (pointer_expression "&DAT_00050b45" & identifier) ))) ;) (if_statement "if (((uint)psVar7->sy_flags & 1) == 0) {\nLAB_0003c633:\n    print_expr_1(file,&psVar7->sy_value);\n  }\n  else {\n    if ((segT)psVar7->bsym == reg_section) {\n      psVar7 = (psVar7->sy_value).X_op_symbol;\n      goto LAB_0003c633;\n    }\n    fprintf((FILE *)file,"constant %lx",(int)(psVar7->sy_value).X_add_number,puVar9);\n  }" if (parenthesized_expression "(((uint)psVar7->sy_flags & 1) == 0)" ( (binary_expression "((uint)psVar7->sy_flags & 1) == 0" (parenthesized_expression "((uint)psVar7->sy_flags & 1)" ( (binary_expression "(uint)psVar7->sy_flags & 1" (cast_expression "(uint)psVar7->sy_flags" ( (type_descriptor "uint" type_identifier) ) (field_expression "psVar7->sy_flags" identifier -> field_identifier)) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_0003c633:\n    print_expr_1(file,&psVar7->sy_value);\n  }" { (labeled_statement "LAB_0003c633:\n    print_expr_1(file,&psVar7->sy_value);" statement_identifier : (expression_statement "print_expr_1(file,&psVar7->sy_value);" (call_expression "print_expr_1(file,&psVar7->sy_value)" identifier (argument_list "(file,&psVar7->sy_value)" ( identifier , (pointer_expression "&psVar7->sy_value" & (field_expression "psVar7->sy_value" identifier -> field_identifier)) ))) ;)) }) (else_clause "else {\n    if ((segT)psVar7->bsym == reg_section) {\n      psVar7 = (psVar7->sy_value).X_op_symbol;\n      goto LAB_0003c633;\n    }\n    fprintf((FILE *)file,"constant %lx",(int)(psVar7->sy_value).X_add_number,puVar9);\n  }" else (compound_statement "{\n    if ((segT)psVar7->bsym == reg_section) {\n      psVar7 = (psVar7->sy_value).X_op_symbol;\n      goto LAB_0003c633;\n    }\n    fprintf((FILE *)file,"constant %lx",(int)(psVar7->sy_value).X_add_number,puVar9);\n  }" { (if_statement "if ((segT)psVar7->bsym == reg_section) {\n      psVar7 = (psVar7->sy_value).X_op_symbol;\n      goto LAB_0003c633;\n    }" if (parenthesized_expression "((segT)psVar7->bsym == reg_section)" ( (binary_expression "(segT)psVar7->bsym == reg_section" (cast_expression "(segT)psVar7->bsym" ( (type_descriptor "segT" type_identifier) ) (field_expression "psVar7->bsym" identifier -> field_identifier)) == identifier) )) (compound_statement "{\n      psVar7 = (psVar7->sy_value).X_op_symbol;\n      goto LAB_0003c633;\n    }" { (expression_statement "psVar7 = (psVar7->sy_value).X_op_symbol;" (assignment_expression "psVar7 = (psVar7->sy_value).X_op_symbol" identifier = (field_expression "(psVar7->sy_value).X_op_symbol" (parenthesized_expression "(psVar7->sy_value)" ( (field_expression "psVar7->sy_value" identifier -> field_identifier) )) . field_identifier)) ;) (goto_statement "goto LAB_0003c633;" goto statement_identifier ;) })) (expression_statement "fprintf((FILE *)file,"constant %lx",(int)(psVar7->sy_value).X_add_number,puVar9);" (call_expression "fprintf((FILE *)file,"constant %lx",(int)(psVar7->sy_value).X_add_number,puVar9)" identifier (argument_list "((FILE *)file,"constant %lx",(int)(psVar7->sy_value).X_add_number,puVar9)" ( (cast_expression "(FILE *)file" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""constant %lx"" " string_content ") , (cast_expression "(int)(psVar7->sy_value).X_add_number" ( (type_descriptor "int" primitive_type) ) (field_expression "(psVar7->sy_value).X_add_number" (parenthesized_expression "(psVar7->sy_value)" ( (field_expression "psVar7->sy_value" identifier -> field_identifier) )) . field_identifier)) , identifier ))) ;) }))) (expression_statement "fputc(0x3e,(FILE *)file);" (call_expression "fputc(0x3e,(FILE *)file)" identifier (argument_list "(0x3e,(FILE *)file)" ( number_literal , (cast_expression "(FILE *)file" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "indent_level = indent_level + -1;" (assignment_expression "indent_level = indent_level + -1" identifier = (binary_expression "indent_level + -1" identifier + number_literal)) ;) (labeled_statement "LAB_0003c2b7:\n  fflush((FILE *)file);" statement_identifier : (expression_statement "fflush((FILE *)file);" (call_expression "fflush((FILE *)file)" identifier (argument_list "((FILE *)file)" ( (cast_expression "(FILE *)file" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;)) (return_statement "return;" return ;) })))
(translation_unit "void FUN_0003c040(FILE *param_1,byte *param_2)\n\n{\n  byte bVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  undefined4 uVar4;\n  byte *pbVar5;\n  byte *pbVar6;\n  char *pcVar7;\n  undefined *puVar8;\n  \n  puVar3 = *(undefined4 **)(param_2 + 4);\n  if ((*param_2 & 1) == 0) {\nLAB_0003c086:\n    pcVar7 = (char *)puVar3[1];\n    if (pcVar7 == (char *)0x0) goto LAB_0003c073;\nLAB_0003c08d:\n    if (*pcVar7 == '\0') {\n      pcVar7 = "(unnamed)";\n    }\n  }\n  else {\n    if (DAT_00077d90 == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003c086;\n    }\n    pcVar7 = *(char **)(param_2 + 8);\n    if (pcVar7 != (char *)0x0) goto LAB_0003c08d;\nLAB_0003c073:\n    pcVar7 = "(unnamed)";\n  }\n  fwrite(&DAT_00053e44,1,4,param_1);\n  fprintf(param_1,"%016llx",param_2,0);\n  fprintf(param_1," %s",pcVar7);\n  bVar1 = *param_2;\n  pbVar6 = param_2;\n  if (((bVar1 & 1) == 0) ||\n     (pbVar6 = *(byte **)(param_2 + 0xc), *(undefined4 **)(param_2 + 4) == DAT_00077d90)) {\n    if (*(undefined **)(pbVar6 + 0x24) != &DAT_00077d20) {\n      fwrite(" frag ",1,6,param_1);\n      fprintf(param_1,"%016llx",*(undefined4 *)(pbVar6 + 0x24),0);\n    }\n    bVar1 = *pbVar6;\n    if ((bVar1 & 2) != 0) {\n      fwrite(" written",1,8,param_1);\n      bVar1 = *pbVar6;\n    }\n    if ((bVar1 & 4) == 0) {\n      if ((bVar1 & 8) != 0) {\n        fwrite(" resolving",1,10,param_1);\n        bVar1 = *pbVar6;\n      }\n    }\n    else {\n      fwrite(" resolved",1,9,param_1);\n      bVar1 = *pbVar6;\n    }\n    if ((bVar1 & 0x10) == 0) {\n      if ((bVar1 & 0x20) == 0) goto LAB_0003c1c5;\nLAB_0003c35f:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_00038380(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c387;\nLAB_0003c1d9:\n      iVar2 = FUN_000380a0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c1ed;\nLAB_0003c3af:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00038110(pbVar6);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003c35f;\nLAB_0003c1c5:\n      iVar2 = FUN_00038380(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c1d9;\nLAB_0003c387:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_000380a0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c3af;\nLAB_0003c1ed:\n      iVar2 = FUN_00038110(pbVar6);\n    }\n    if (iVar2 != 0) {\n      fwrite(" weak",1,5,param_1);\n    }\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if ((*pbVar6 & 1) == 0) {\n      if ((*(byte *)(puVar3 + 4) & 4) != 0) {\nLAB_0003c5a0:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00077d90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003c60c;\n          }\n          goto LAB_0003c2e0;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_0006efb4 + 0xc0) goto LAB_0003c2f4;\n      goto LAB_0003c22c;\n    }\n    if (DAT_00077d90 == puVar3) {\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003c5a0;\nLAB_0003c60c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0006efb4 + 0xc0)\n      goto LAB_0003c13e;\nLAB_0003c2f4:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003c13e;\n    }\nLAB_0003c2e0:\n    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) goto LAB_0003c2f4;\nLAB_0003c152:\n    if (DAT_00077d90 == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003c430:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c236;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 != puVar3) goto LAB_0003c248;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c468;\nLAB_0003c572:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c242;\n    }\n  }\n  else {\n    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_0006ef70)) {\n      fwrite(" frag ",1,6,param_1);\n      fprintf(param_1,"%016llx",*(undefined4 *)(param_2 + 0xc),0);\n      bVar1 = *param_2;\n    }\n    if ((bVar1 & 4) != 0) {\n      fwrite(" resolved",1,9,param_1);\n    }\n    fwrite(" local",1,6,param_1);\n    pbVar6 = param_2;\nLAB_0003c13e:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003c152;\n    }\nLAB_0003c22c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003c430;\nLAB_0003c236:\n    pbVar5 = pbVar6;\n    if ((pbVar6[1] & 4) != 0) {\nLAB_0003c468:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 == puVar3) goto LAB_0003c572;\n        goto LAB_0003c248;\n      }\n    }\nLAB_0003c242:\n    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\n  }\nLAB_0003c248:\n  fprintf(param_1," %s",*puVar3);\n  bVar1 = *pbVar6;\n  if ((bVar1 & 1) == 0) {\n    pbVar5 = pbVar6;\n    if ((bVar1 & 4) != 0) {\nLAB_0003c316:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003c283:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) &&\n         (DAT_00077ce0 != puVar3)) {\n        uVar4 = FUN_00039db0();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003c2b7;\n    }\n    if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n    iVar2 = *(int *)(pbVar6 + 4);\nLAB_0003c338:\n    puVar3 = *(undefined4 **)(iVar2 + 0x14);\n  }\n  else {\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if (puVar3 == DAT_00077d90) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003c316;\n      if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003c338;\n    }\n    if ((bVar1 & 4) != 0) goto LAB_0003c283;\n    if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n  }\n  if (puVar3 == (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) goto LAB_0003c2b7;\n  DAT_00077fcc = DAT_00077fcc + 1;\n  puVar8 = &DAT_00050b45;\n  fprintf(param_1,"\n%*s<",DAT_00077fcc * 4,&DAT_00050b45);\n  if ((*pbVar6 & 1) == 0) {\nLAB_0003c633:\n    FUN_0003bba0(param_1,pbVar6 + 8);\n  }\n  else {\n    if (*(undefined4 **)(pbVar6 + 4) == DAT_00077d90) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c633;\n    }\n    fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);\n  }\n  fputc(0x3e,param_1);\n  DAT_00077fcc = DAT_00077fcc + -1;\nLAB_0003c2b7:\n  fflush(param_1);\n  return;\n}\n\n" (function_definition "void FUN_0003c040(FILE *param_1,byte *param_2)\n\n{\n  byte bVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  undefined4 uVar4;\n  byte *pbVar5;\n  byte *pbVar6;\n  char *pcVar7;\n  undefined *puVar8;\n  \n  puVar3 = *(undefined4 **)(param_2 + 4);\n  if ((*param_2 & 1) == 0) {\nLAB_0003c086:\n    pcVar7 = (char *)puVar3[1];\n    if (pcVar7 == (char *)0x0) goto LAB_0003c073;\nLAB_0003c08d:\n    if (*pcVar7 == '\0') {\n      pcVar7 = "(unnamed)";\n    }\n  }\n  else {\n    if (DAT_00077d90 == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003c086;\n    }\n    pcVar7 = *(char **)(param_2 + 8);\n    if (pcVar7 != (char *)0x0) goto LAB_0003c08d;\nLAB_0003c073:\n    pcVar7 = "(unnamed)";\n  }\n  fwrite(&DAT_00053e44,1,4,param_1);\n  fprintf(param_1,"%016llx",param_2,0);\n  fprintf(param_1," %s",pcVar7);\n  bVar1 = *param_2;\n  pbVar6 = param_2;\n  if (((bVar1 & 1) == 0) ||\n     (pbVar6 = *(byte **)(param_2 + 0xc), *(undefined4 **)(param_2 + 4) == DAT_00077d90)) {\n    if (*(undefined **)(pbVar6 + 0x24) != &DAT_00077d20) {\n      fwrite(" frag ",1,6,param_1);\n      fprintf(param_1,"%016llx",*(undefined4 *)(pbVar6 + 0x24),0);\n    }\n    bVar1 = *pbVar6;\n    if ((bVar1 & 2) != 0) {\n      fwrite(" written",1,8,param_1);\n      bVar1 = *pbVar6;\n    }\n    if ((bVar1 & 4) == 0) {\n      if ((bVar1 & 8) != 0) {\n        fwrite(" resolving",1,10,param_1);\n        bVar1 = *pbVar6;\n      }\n    }\n    else {\n      fwrite(" resolved",1,9,param_1);\n      bVar1 = *pbVar6;\n    }\n    if ((bVar1 & 0x10) == 0) {\n      if ((bVar1 & 0x20) == 0) goto LAB_0003c1c5;\nLAB_0003c35f:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_00038380(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c387;\nLAB_0003c1d9:\n      iVar2 = FUN_000380a0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c1ed;\nLAB_0003c3af:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00038110(pbVar6);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003c35f;\nLAB_0003c1c5:\n      iVar2 = FUN_00038380(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c1d9;\nLAB_0003c387:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_000380a0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c3af;\nLAB_0003c1ed:\n      iVar2 = FUN_00038110(pbVar6);\n    }\n    if (iVar2 != 0) {\n      fwrite(" weak",1,5,param_1);\n    }\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if ((*pbVar6 & 1) == 0) {\n      if ((*(byte *)(puVar3 + 4) & 4) != 0) {\nLAB_0003c5a0:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00077d90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003c60c;\n          }\n          goto LAB_0003c2e0;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_0006efb4 + 0xc0) goto LAB_0003c2f4;\n      goto LAB_0003c22c;\n    }\n    if (DAT_00077d90 == puVar3) {\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003c5a0;\nLAB_0003c60c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0006efb4 + 0xc0)\n      goto LAB_0003c13e;\nLAB_0003c2f4:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003c13e;\n    }\nLAB_0003c2e0:\n    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) goto LAB_0003c2f4;\nLAB_0003c152:\n    if (DAT_00077d90 == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003c430:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c236;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 != puVar3) goto LAB_0003c248;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c468;\nLAB_0003c572:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c242;\n    }\n  }\n  else {\n    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_0006ef70)) {\n      fwrite(" frag ",1,6,param_1);\n      fprintf(param_1,"%016llx",*(undefined4 *)(param_2 + 0xc),0);\n      bVar1 = *param_2;\n    }\n    if ((bVar1 & 4) != 0) {\n      fwrite(" resolved",1,9,param_1);\n    }\n    fwrite(" local",1,6,param_1);\n    pbVar6 = param_2;\nLAB_0003c13e:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003c152;\n    }\nLAB_0003c22c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003c430;\nLAB_0003c236:\n    pbVar5 = pbVar6;\n    if ((pbVar6[1] & 4) != 0) {\nLAB_0003c468:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 == puVar3) goto LAB_0003c572;\n        goto LAB_0003c248;\n      }\n    }\nLAB_0003c242:\n    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\n  }\nLAB_0003c248:\n  fprintf(param_1," %s",*puVar3);\n  bVar1 = *pbVar6;\n  if ((bVar1 & 1) == 0) {\n    pbVar5 = pbVar6;\n    if ((bVar1 & 4) != 0) {\nLAB_0003c316:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003c283:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) &&\n         (DAT_00077ce0 != puVar3)) {\n        uVar4 = FUN_00039db0();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003c2b7;\n    }\n    if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n    iVar2 = *(int *)(pbVar6 + 4);\nLAB_0003c338:\n    puVar3 = *(undefined4 **)(iVar2 + 0x14);\n  }\n  else {\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if (puVar3 == DAT_00077d90) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003c316;\n      if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003c338;\n    }\n    if ((bVar1 & 4) != 0) goto LAB_0003c283;\n    if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n  }\n  if (puVar3 == (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) goto LAB_0003c2b7;\n  DAT_00077fcc = DAT_00077fcc + 1;\n  puVar8 = &DAT_00050b45;\n  fprintf(param_1,"\n%*s<",DAT_00077fcc * 4,&DAT_00050b45);\n  if ((*pbVar6 & 1) == 0) {\nLAB_0003c633:\n    FUN_0003bba0(param_1,pbVar6 + 8);\n  }\n  else {\n    if (*(undefined4 **)(pbVar6 + 4) == DAT_00077d90) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c633;\n    }\n    fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);\n  }\n  fputc(0x3e,param_1);\n  DAT_00077fcc = DAT_00077fcc + -1;\nLAB_0003c2b7:\n  fflush(param_1);\n  return;\n}" primitive_type (function_declarator "FUN_0003c040(FILE *param_1,byte *param_2)" identifier (parameter_list "(FILE *param_1,byte *param_2)" ( (parameter_declaration "FILE *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "byte *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  byte bVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  undefined4 uVar4;\n  byte *pbVar5;\n  byte *pbVar6;\n  char *pcVar7;\n  undefined *puVar8;\n  \n  puVar3 = *(undefined4 **)(param_2 + 4);\n  if ((*param_2 & 1) == 0) {\nLAB_0003c086:\n    pcVar7 = (char *)puVar3[1];\n    if (pcVar7 == (char *)0x0) goto LAB_0003c073;\nLAB_0003c08d:\n    if (*pcVar7 == '\0') {\n      pcVar7 = "(unnamed)";\n    }\n  }\n  else {\n    if (DAT_00077d90 == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003c086;\n    }\n    pcVar7 = *(char **)(param_2 + 8);\n    if (pcVar7 != (char *)0x0) goto LAB_0003c08d;\nLAB_0003c073:\n    pcVar7 = "(unnamed)";\n  }\n  fwrite(&DAT_00053e44,1,4,param_1);\n  fprintf(param_1,"%016llx",param_2,0);\n  fprintf(param_1," %s",pcVar7);\n  bVar1 = *param_2;\n  pbVar6 = param_2;\n  if (((bVar1 & 1) == 0) ||\n     (pbVar6 = *(byte **)(param_2 + 0xc), *(undefined4 **)(param_2 + 4) == DAT_00077d90)) {\n    if (*(undefined **)(pbVar6 + 0x24) != &DAT_00077d20) {\n      fwrite(" frag ",1,6,param_1);\n      fprintf(param_1,"%016llx",*(undefined4 *)(pbVar6 + 0x24),0);\n    }\n    bVar1 = *pbVar6;\n    if ((bVar1 & 2) != 0) {\n      fwrite(" written",1,8,param_1);\n      bVar1 = *pbVar6;\n    }\n    if ((bVar1 & 4) == 0) {\n      if ((bVar1 & 8) != 0) {\n        fwrite(" resolving",1,10,param_1);\n        bVar1 = *pbVar6;\n      }\n    }\n    else {\n      fwrite(" resolved",1,9,param_1);\n      bVar1 = *pbVar6;\n    }\n    if ((bVar1 & 0x10) == 0) {\n      if ((bVar1 & 0x20) == 0) goto LAB_0003c1c5;\nLAB_0003c35f:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_00038380(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c387;\nLAB_0003c1d9:\n      iVar2 = FUN_000380a0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c1ed;\nLAB_0003c3af:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00038110(pbVar6);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003c35f;\nLAB_0003c1c5:\n      iVar2 = FUN_00038380(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c1d9;\nLAB_0003c387:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_000380a0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c3af;\nLAB_0003c1ed:\n      iVar2 = FUN_00038110(pbVar6);\n    }\n    if (iVar2 != 0) {\n      fwrite(" weak",1,5,param_1);\n    }\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if ((*pbVar6 & 1) == 0) {\n      if ((*(byte *)(puVar3 + 4) & 4) != 0) {\nLAB_0003c5a0:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00077d90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003c60c;\n          }\n          goto LAB_0003c2e0;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_0006efb4 + 0xc0) goto LAB_0003c2f4;\n      goto LAB_0003c22c;\n    }\n    if (DAT_00077d90 == puVar3) {\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003c5a0;\nLAB_0003c60c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0006efb4 + 0xc0)\n      goto LAB_0003c13e;\nLAB_0003c2f4:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003c13e;\n    }\nLAB_0003c2e0:\n    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) goto LAB_0003c2f4;\nLAB_0003c152:\n    if (DAT_00077d90 == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003c430:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c236;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 != puVar3) goto LAB_0003c248;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c468;\nLAB_0003c572:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c242;\n    }\n  }\n  else {\n    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_0006ef70)) {\n      fwrite(" frag ",1,6,param_1);\n      fprintf(param_1,"%016llx",*(undefined4 *)(param_2 + 0xc),0);\n      bVar1 = *param_2;\n    }\n    if ((bVar1 & 4) != 0) {\n      fwrite(" resolved",1,9,param_1);\n    }\n    fwrite(" local",1,6,param_1);\n    pbVar6 = param_2;\nLAB_0003c13e:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003c152;\n    }\nLAB_0003c22c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003c430;\nLAB_0003c236:\n    pbVar5 = pbVar6;\n    if ((pbVar6[1] & 4) != 0) {\nLAB_0003c468:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 == puVar3) goto LAB_0003c572;\n        goto LAB_0003c248;\n      }\n    }\nLAB_0003c242:\n    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\n  }\nLAB_0003c248:\n  fprintf(param_1," %s",*puVar3);\n  bVar1 = *pbVar6;\n  if ((bVar1 & 1) == 0) {\n    pbVar5 = pbVar6;\n    if ((bVar1 & 4) != 0) {\nLAB_0003c316:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003c283:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) &&\n         (DAT_00077ce0 != puVar3)) {\n        uVar4 = FUN_00039db0();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003c2b7;\n    }\n    if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n    iVar2 = *(int *)(pbVar6 + 4);\nLAB_0003c338:\n    puVar3 = *(undefined4 **)(iVar2 + 0x14);\n  }\n  else {\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if (puVar3 == DAT_00077d90) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003c316;\n      if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003c338;\n    }\n    if ((bVar1 & 4) != 0) goto LAB_0003c283;\n    if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n  }\n  if (puVar3 == (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) goto LAB_0003c2b7;\n  DAT_00077fcc = DAT_00077fcc + 1;\n  puVar8 = &DAT_00050b45;\n  fprintf(param_1,"\n%*s<",DAT_00077fcc * 4,&DAT_00050b45);\n  if ((*pbVar6 & 1) == 0) {\nLAB_0003c633:\n    FUN_0003bba0(param_1,pbVar6 + 8);\n  }\n  else {\n    if (*(undefined4 **)(pbVar6 + 4) == DAT_00077d90) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c633;\n    }\n    fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);\n  }\n  fputc(0x3e,param_1);\n  DAT_00077fcc = DAT_00077fcc + -1;\nLAB_0003c2b7:\n  fflush(param_1);\n  return;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "byte *pbVar5;" type_identifier (pointer_declarator "*pbVar5" * identifier) ;) (declaration "byte *pbVar6;" type_identifier (pointer_declarator "*pbVar6" * identifier) ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (expression_statement "puVar3 = *(undefined4 **)(param_2 + 4);" (assignment_expression "puVar3 = *(undefined4 **)(param_2 + 4)" identifier = (pointer_expression "*(undefined4 **)(param_2 + 4)" * (cast_expression "(undefined4 **)(param_2 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 4)" ( (binary_expression "param_2 + 4" identifier + number_literal) ))))) ;) (if_statement "if ((*param_2 & 1) == 0) {\nLAB_0003c086:\n    pcVar7 = (char *)puVar3[1];\n    if (pcVar7 == (char *)0x0) goto LAB_0003c073;\nLAB_0003c08d:\n    if (*pcVar7 == '\0') {\n      pcVar7 = "(unnamed)";\n    }\n  }\n  else {\n    if (DAT_00077d90 == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003c086;\n    }\n    pcVar7 = *(char **)(param_2 + 8);\n    if (pcVar7 != (char *)0x0) goto LAB_0003c08d;\nLAB_0003c073:\n    pcVar7 = "(unnamed)";\n  }" if (parenthesized_expression "((*param_2 & 1) == 0)" ( (binary_expression "(*param_2 & 1) == 0" (parenthesized_expression "(*param_2 & 1)" ( (binary_expression "*param_2 & 1" (pointer_expression "*param_2" * identifier) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_0003c086:\n    pcVar7 = (char *)puVar3[1];\n    if (pcVar7 == (char *)0x0) goto LAB_0003c073;\nLAB_0003c08d:\n    if (*pcVar7 == '\0') {\n      pcVar7 = "(unnamed)";\n    }\n  }" { (labeled_statement "LAB_0003c086:\n    pcVar7 = (char *)puVar3[1];" statement_identifier : (expression_statement "pcVar7 = (char *)puVar3[1];" (assignment_expression "pcVar7 = (char *)puVar3[1]" identifier = (cast_expression "(char *)puVar3[1]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar3[1]" identifier [ number_literal ]))) ;)) (if_statement "if (pcVar7 == (char *)0x0) goto LAB_0003c073;" if (parenthesized_expression "(pcVar7 == (char *)0x0)" ( (binary_expression "pcVar7 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0003c073;" goto statement_identifier ;)) (labeled_statement "LAB_0003c08d:\n    if (*pcVar7 == '\0') {\n      pcVar7 = "(unnamed)";\n    }" statement_identifier : (if_statement "if (*pcVar7 == '\0') {\n      pcVar7 = "(unnamed)";\n    }" if (parenthesized_expression "(*pcVar7 == '\0')" ( (binary_expression "*pcVar7 == '\0'" (pointer_expression "*pcVar7" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      pcVar7 = "(unnamed)";\n    }" { (expression_statement "pcVar7 = "(unnamed)";" (assignment_expression "pcVar7 = "(unnamed)"" identifier = (string_literal ""(unnamed)"" " string_content ")) ;) }))) }) (else_clause "else {\n    if (DAT_00077d90 == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003c086;\n    }\n    pcVar7 = *(char **)(param_2 + 8);\n    if (pcVar7 != (char *)0x0) goto LAB_0003c08d;\nLAB_0003c073:\n    pcVar7 = "(unnamed)";\n  }" else (compound_statement "{\n    if (DAT_00077d90 == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003c086;\n    }\n    pcVar7 = *(char **)(param_2 + 8);\n    if (pcVar7 != (char *)0x0) goto LAB_0003c08d;\nLAB_0003c073:\n    pcVar7 = "(unnamed)";\n  }" { (if_statement "if (DAT_00077d90 == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003c086;\n    }" if (parenthesized_expression "(DAT_00077d90 == puVar3)" ( (binary_expression "DAT_00077d90 == puVar3" identifier == identifier) )) (compound_statement "{\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003c086;\n    }" { (expression_statement "puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);" (assignment_expression "puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4)" identifier = (pointer_expression "*(undefined4 **)(*(int *)(param_2 + 0xc) + 4)" * (cast_expression "(undefined4 **)(*(int *)(param_2 + 0xc) + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(param_2 + 0xc) + 4)" ( (binary_expression "*(int *)(param_2 + 0xc) + 4" (pointer_expression "*(int *)(param_2 + 0xc)" * (cast_expression "(int *)(param_2 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc)" ( (binary_expression "param_2 + 0xc" identifier + number_literal) )))) + number_literal) ))))) ;) (goto_statement "goto LAB_0003c086;" goto statement_identifier ;) })) (expression_statement "pcVar7 = *(char **)(param_2 + 8);" (assignment_expression "pcVar7 = *(char **)(param_2 + 8)" identifier = (pointer_expression "*(char **)(param_2 + 8)" * (cast_expression "(char **)(param_2 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 8)" ( (binary_expression "param_2 + 8" identifier + number_literal) ))))) ;) (if_statement "if (pcVar7 != (char *)0x0) goto LAB_0003c08d;" if (parenthesized_expression "(pcVar7 != (char *)0x0)" ( (binary_expression "pcVar7 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0003c08d;" goto statement_identifier ;)) (labeled_statement "LAB_0003c073:\n    pcVar7 = "(unnamed)";" statement_identifier : (expression_statement "pcVar7 = "(unnamed)";" (assignment_expression "pcVar7 = "(unnamed)"" identifier = (string_literal ""(unnamed)"" " string_content ")) ;)) }))) (expression_statement "fwrite(&DAT_00053e44,1,4,param_1);" (call_expression "fwrite(&DAT_00053e44,1,4,param_1)" identifier (argument_list "(&DAT_00053e44,1,4,param_1)" ( (pointer_expression "&DAT_00053e44" & identifier) , number_literal , number_literal , identifier ))) ;) (expression_statement "fprintf(param_1,"%016llx",param_2,0);" (call_expression "fprintf(param_1,"%016llx",param_2,0)" identifier (argument_list "(param_1,"%016llx",param_2,0)" ( identifier , (string_literal ""%016llx"" " string_content ") , identifier , number_literal ))) ;) (expression_statement "fprintf(param_1," %s",pcVar7);" (call_expression "fprintf(param_1," %s",pcVar7)" identifier (argument_list "(param_1," %s",pcVar7)" ( identifier , (string_literal "" %s"" " string_content ") , identifier ))) ;) (expression_statement "bVar1 = *param_2;" (assignment_expression "bVar1 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "pbVar6 = param_2;" (assignment_expression "pbVar6 = param_2" identifier = identifier) ;) (if_statement "if (((bVar1 & 1) == 0) ||\n     (pbVar6 = *(byte **)(param_2 + 0xc), *(undefined4 **)(param_2 + 4) == DAT_00077d90)) {\n    if (*(undefined **)(pbVar6 + 0x24) != &DAT_00077d20) {\n      fwrite(" frag ",1,6,param_1);\n      fprintf(param_1,"%016llx",*(undefined4 *)(pbVar6 + 0x24),0);\n    }\n    bVar1 = *pbVar6;\n    if ((bVar1 & 2) != 0) {\n      fwrite(" written",1,8,param_1);\n      bVar1 = *pbVar6;\n    }\n    if ((bVar1 & 4) == 0) {\n      if ((bVar1 & 8) != 0) {\n        fwrite(" resolving",1,10,param_1);\n        bVar1 = *pbVar6;\n      }\n    }\n    else {\n      fwrite(" resolved",1,9,param_1);\n      bVar1 = *pbVar6;\n    }\n    if ((bVar1 & 0x10) == 0) {\n      if ((bVar1 & 0x20) == 0) goto LAB_0003c1c5;\nLAB_0003c35f:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_00038380(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c387;\nLAB_0003c1d9:\n      iVar2 = FUN_000380a0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c1ed;\nLAB_0003c3af:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00038110(pbVar6);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003c35f;\nLAB_0003c1c5:\n      iVar2 = FUN_00038380(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c1d9;\nLAB_0003c387:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_000380a0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c3af;\nLAB_0003c1ed:\n      iVar2 = FUN_00038110(pbVar6);\n    }\n    if (iVar2 != 0) {\n      fwrite(" weak",1,5,param_1);\n    }\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if ((*pbVar6 & 1) == 0) {\n      if ((*(byte *)(puVar3 + 4) & 4) != 0) {\nLAB_0003c5a0:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00077d90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003c60c;\n          }\n          goto LAB_0003c2e0;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_0006efb4 + 0xc0) goto LAB_0003c2f4;\n      goto LAB_0003c22c;\n    }\n    if (DAT_00077d90 == puVar3) {\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003c5a0;\nLAB_0003c60c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0006efb4 + 0xc0)\n      goto LAB_0003c13e;\nLAB_0003c2f4:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003c13e;\n    }\nLAB_0003c2e0:\n    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) goto LAB_0003c2f4;\nLAB_0003c152:\n    if (DAT_00077d90 == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003c430:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c236;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 != puVar3) goto LAB_0003c248;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c468;\nLAB_0003c572:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c242;\n    }\n  }\n  else {\n    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_0006ef70)) {\n      fwrite(" frag ",1,6,param_1);\n      fprintf(param_1,"%016llx",*(undefined4 *)(param_2 + 0xc),0);\n      bVar1 = *param_2;\n    }\n    if ((bVar1 & 4) != 0) {\n      fwrite(" resolved",1,9,param_1);\n    }\n    fwrite(" local",1,6,param_1);\n    pbVar6 = param_2;\nLAB_0003c13e:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003c152;\n    }\nLAB_0003c22c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003c430;\nLAB_0003c236:\n    pbVar5 = pbVar6;\n    if ((pbVar6[1] & 4) != 0) {\nLAB_0003c468:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 == puVar3) goto LAB_0003c572;\n        goto LAB_0003c248;\n      }\n    }\nLAB_0003c242:\n    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\n  }" if (parenthesized_expression "(((bVar1 & 1) == 0) ||\n     (pbVar6 = *(byte **)(param_2 + 0xc), *(undefined4 **)(param_2 + 4) == DAT_00077d90))" ( (binary_expression "((bVar1 & 1) == 0) ||\n     (pbVar6 = *(byte **)(param_2 + 0xc), *(undefined4 **)(param_2 + 4) == DAT_00077d90)" (parenthesized_expression "((bVar1 & 1) == 0)" ( (binary_expression "(bVar1 & 1) == 0" (parenthesized_expression "(bVar1 & 1)" ( (binary_expression "bVar1 & 1" identifier & number_literal) )) == number_literal) )) || (parenthesized_expression "(pbVar6 = *(byte **)(param_2 + 0xc), *(undefined4 **)(param_2 + 4) == DAT_00077d90)" ( (comma_expression "pbVar6 = *(byte **)(param_2 + 0xc), *(undefined4 **)(param_2 + 4) == DAT_00077d90" (assignment_expression "pbVar6 = *(byte **)(param_2 + 0xc)" identifier = (pointer_expression "*(byte **)(param_2 + 0xc)" * (cast_expression "(byte **)(param_2 + 0xc)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0xc)" ( (binary_expression "param_2 + 0xc" identifier + number_literal) ))))) , (binary_expression "*(undefined4 **)(param_2 + 4) == DAT_00077d90" (pointer_expression "*(undefined4 **)(param_2 + 4)" * (cast_expression "(undefined4 **)(param_2 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 4)" ( (binary_expression "param_2 + 4" identifier + number_literal) )))) == identifier)) ))) )) (compound_statement "{\n    if (*(undefined **)(pbVar6 + 0x24) != &DAT_00077d20) {\n      fwrite(" frag ",1,6,param_1);\n      fprintf(param_1,"%016llx",*(undefined4 *)(pbVar6 + 0x24),0);\n    }\n    bVar1 = *pbVar6;\n    if ((bVar1 & 2) != 0) {\n      fwrite(" written",1,8,param_1);\n      bVar1 = *pbVar6;\n    }\n    if ((bVar1 & 4) == 0) {\n      if ((bVar1 & 8) != 0) {\n        fwrite(" resolving",1,10,param_1);\n        bVar1 = *pbVar6;\n      }\n    }\n    else {\n      fwrite(" resolved",1,9,param_1);\n      bVar1 = *pbVar6;\n    }\n    if ((bVar1 & 0x10) == 0) {\n      if ((bVar1 & 0x20) == 0) goto LAB_0003c1c5;\nLAB_0003c35f:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_00038380(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c387;\nLAB_0003c1d9:\n      iVar2 = FUN_000380a0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c1ed;\nLAB_0003c3af:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00038110(pbVar6);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003c35f;\nLAB_0003c1c5:\n      iVar2 = FUN_00038380(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c1d9;\nLAB_0003c387:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_000380a0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c3af;\nLAB_0003c1ed:\n      iVar2 = FUN_00038110(pbVar6);\n    }\n    if (iVar2 != 0) {\n      fwrite(" weak",1,5,param_1);\n    }\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if ((*pbVar6 & 1) == 0) {\n      if ((*(byte *)(puVar3 + 4) & 4) != 0) {\nLAB_0003c5a0:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00077d90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003c60c;\n          }\n          goto LAB_0003c2e0;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_0006efb4 + 0xc0) goto LAB_0003c2f4;\n      goto LAB_0003c22c;\n    }\n    if (DAT_00077d90 == puVar3) {\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003c5a0;\nLAB_0003c60c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0006efb4 + 0xc0)\n      goto LAB_0003c13e;\nLAB_0003c2f4:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003c13e;\n    }\nLAB_0003c2e0:\n    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) goto LAB_0003c2f4;\nLAB_0003c152:\n    if (DAT_00077d90 == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003c430:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c236;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 != puVar3) goto LAB_0003c248;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c468;\nLAB_0003c572:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c242;\n    }\n  }" { (if_statement "if (*(undefined **)(pbVar6 + 0x24) != &DAT_00077d20) {\n      fwrite(" frag ",1,6,param_1);\n      fprintf(param_1,"%016llx",*(undefined4 *)(pbVar6 + 0x24),0);\n    }" if (parenthesized_expression "(*(undefined **)(pbVar6 + 0x24) != &DAT_00077d20)" ( (binary_expression "*(undefined **)(pbVar6 + 0x24) != &DAT_00077d20" (pointer_expression "*(undefined **)(pbVar6 + 0x24)" * (cast_expression "(undefined **)(pbVar6 + 0x24)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pbVar6 + 0x24)" ( (binary_expression "pbVar6 + 0x24" identifier + number_literal) )))) != (pointer_expression "&DAT_00077d20" & identifier)) )) (compound_statement "{\n      fwrite(" frag ",1,6,param_1);\n      fprintf(param_1,"%016llx",*(undefined4 *)(pbVar6 + 0x24),0);\n    }" { (expression_statement "fwrite(" frag ",1,6,param_1);" (call_expression "fwrite(" frag ",1,6,param_1)" identifier (argument_list "(" frag ",1,6,param_1)" ( (string_literal "" frag "" " string_content ") , number_literal , number_literal , identifier ))) ;) (expression_statement "fprintf(param_1,"%016llx",*(undefined4 *)(pbVar6 + 0x24),0);" (call_expression "fprintf(param_1,"%016llx",*(undefined4 *)(pbVar6 + 0x24),0)" identifier (argument_list "(param_1,"%016llx",*(undefined4 *)(pbVar6 + 0x24),0)" ( identifier , (string_literal ""%016llx"" " string_content ") , (pointer_expression "*(undefined4 *)(pbVar6 + 0x24)" * (cast_expression "(undefined4 *)(pbVar6 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar6 + 0x24)" ( (binary_expression "pbVar6 + 0x24" identifier + number_literal) )))) , number_literal ))) ;) })) (expression_statement "bVar1 = *pbVar6;" (assignment_expression "bVar1 = *pbVar6" identifier = (pointer_expression "*pbVar6" * identifier)) ;) (if_statement "if ((bVar1 & 2) != 0) {\n      fwrite(" written",1,8,param_1);\n      bVar1 = *pbVar6;\n    }" if (parenthesized_expression "((bVar1 & 2) != 0)" ( (binary_expression "(bVar1 & 2) != 0" (parenthesized_expression "(bVar1 & 2)" ( (binary_expression "bVar1 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      fwrite(" written",1,8,param_1);\n      bVar1 = *pbVar6;\n    }" { (expression_statement "fwrite(" written",1,8,param_1);" (call_expression "fwrite(" written",1,8,param_1)" identifier (argument_list "(" written",1,8,param_1)" ( (string_literal "" written"" " string_content ") , number_literal , number_literal , identifier ))) ;) (expression_statement "bVar1 = *pbVar6;" (assignment_expression "bVar1 = *pbVar6" identifier = (pointer_expression "*pbVar6" * identifier)) ;) })) (if_statement "if ((bVar1 & 4) == 0) {\n      if ((bVar1 & 8) != 0) {\n        fwrite(" resolving",1,10,param_1);\n        bVar1 = *pbVar6;\n      }\n    }\n    else {\n      fwrite(" resolved",1,9,param_1);\n      bVar1 = *pbVar6;\n    }" if (parenthesized_expression "((bVar1 & 4) == 0)" ( (binary_expression "(bVar1 & 4) == 0" (parenthesized_expression "(bVar1 & 4)" ( (binary_expression "bVar1 & 4" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      if ((bVar1 & 8) != 0) {\n        fwrite(" resolving",1,10,param_1);\n        bVar1 = *pbVar6;\n      }\n    }" { (if_statement "if ((bVar1 & 8) != 0) {\n        fwrite(" resolving",1,10,param_1);\n        bVar1 = *pbVar6;\n      }" if (parenthesized_expression "((bVar1 & 8) != 0)" ( (binary_expression "(bVar1 & 8) != 0" (parenthesized_expression "(bVar1 & 8)" ( (binary_expression "bVar1 & 8" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        fwrite(" resolving",1,10,param_1);\n        bVar1 = *pbVar6;\n      }" { (expression_statement "fwrite(" resolving",1,10,param_1);" (call_expression "fwrite(" resolving",1,10,param_1)" identifier (argument_list "(" resolving",1,10,param_1)" ( (string_literal "" resolving"" " string_content ") , number_literal , number_literal , identifier ))) ;) (expression_statement "bVar1 = *pbVar6;" (assignment_expression "bVar1 = *pbVar6" identifier = (pointer_expression "*pbVar6" * identifier)) ;) })) }) (else_clause "else {\n      fwrite(" resolved",1,9,param_1);\n      bVar1 = *pbVar6;\n    }" else (compound_statement "{\n      fwrite(" resolved",1,9,param_1);\n      bVar1 = *pbVar6;\n    }" { (expression_statement "fwrite(" resolved",1,9,param_1);" (call_expression "fwrite(" resolved",1,9,param_1)" identifier (argument_list "(" resolved",1,9,param_1)" ( (string_literal "" resolved"" " string_content ") , number_literal , number_literal , identifier ))) ;) (expression_statement "bVar1 = *pbVar6;" (assignment_expression "bVar1 = *pbVar6" identifier = (pointer_expression "*pbVar6" * identifier)) ;) }))) (if_statement "if ((bVar1 & 0x10) == 0) {\n      if ((bVar1 & 0x20) == 0) goto LAB_0003c1c5;\nLAB_0003c35f:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_00038380(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c387;\nLAB_0003c1d9:\n      iVar2 = FUN_000380a0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c1ed;\nLAB_0003c3af:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00038110(pbVar6);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003c35f;\nLAB_0003c1c5:\n      iVar2 = FUN_00038380(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c1d9;\nLAB_0003c387:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_000380a0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c3af;\nLAB_0003c1ed:\n      iVar2 = FUN_00038110(pbVar6);\n    }" if (parenthesized_expression "((bVar1 & 0x10) == 0)" ( (binary_expression "(bVar1 & 0x10) == 0" (parenthesized_expression "(bVar1 & 0x10)" ( (binary_expression "bVar1 & 0x10" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      if ((bVar1 & 0x20) == 0) goto LAB_0003c1c5;\nLAB_0003c35f:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_00038380(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c387;\nLAB_0003c1d9:\n      iVar2 = FUN_000380a0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c1ed;\nLAB_0003c3af:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00038110(pbVar6);\n    }" { (if_statement "if ((bVar1 & 0x20) == 0) goto LAB_0003c1c5;" if (parenthesized_expression "((bVar1 & 0x20) == 0)" ( (binary_expression "(bVar1 & 0x20) == 0" (parenthesized_expression "(bVar1 & 0x20)" ( (binary_expression "bVar1 & 0x20" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0003c1c5;" goto statement_identifier ;)) (labeled_statement "LAB_0003c35f:\n      fwrite(" used",1,5,param_1);" statement_identifier : (expression_statement "fwrite(" used",1,5,param_1);" (call_expression "fwrite(" used",1,5,param_1)" identifier (argument_list "(" used",1,5,param_1)" ( (string_literal "" used"" " string_content ") , number_literal , number_literal , identifier ))) ;)) (expression_statement "iVar2 = FUN_00038380(pbVar6);" (assignment_expression "iVar2 = FUN_00038380(pbVar6)" identifier = (call_expression "FUN_00038380(pbVar6)" identifier (argument_list "(pbVar6)" ( identifier )))) ;) (if_statement "if (iVar2 != 0) goto LAB_0003c387;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0003c387;" goto statement_identifier ;)) (labeled_statement "LAB_0003c1d9:\n      iVar2 = FUN_000380a0(pbVar6);" statement_identifier : (expression_statement "iVar2 = FUN_000380a0(pbVar6);" (assignment_expression "iVar2 = FUN_000380a0(pbVar6)" identifier = (call_expression "FUN_000380a0(pbVar6)" identifier (argument_list "(pbVar6)" ( identifier )))) ;)) (if_statement "if (iVar2 == 0) goto LAB_0003c1ed;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0003c1ed;" goto statement_identifier ;)) (labeled_statement "LAB_0003c3af:\n      fwrite(" extern",1,7,param_1);" statement_identifier : (expression_statement "fwrite(" extern",1,7,param_1);" (call_expression "fwrite(" extern",1,7,param_1)" identifier (argument_list "(" extern",1,7,param_1)" ( (string_literal "" extern"" " string_content ") , number_literal , number_literal , identifier ))) ;)) (expression_statement "iVar2 = FUN_00038110(pbVar6);" (assignment_expression "iVar2 = FUN_00038110(pbVar6)" identifier = (call_expression "FUN_00038110(pbVar6)" identifier (argument_list "(pbVar6)" ( identifier )))) ;) }) (else_clause "else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003c35f;\nLAB_0003c1c5:\n      iVar2 = FUN_00038380(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c1d9;\nLAB_0003c387:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_000380a0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c3af;\nLAB_0003c1ed:\n      iVar2 = FUN_00038110(pbVar6);\n    }" else (compound_statement "{\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003c35f;\nLAB_0003c1c5:\n      iVar2 = FUN_00038380(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c1d9;\nLAB_0003c387:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_000380a0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c3af;\nLAB_0003c1ed:\n      iVar2 = FUN_00038110(pbVar6);\n    }" { (expression_statement "fwrite(" used-in-reloc",1,0xe,param_1);" (call_expression "fwrite(" used-in-reloc",1,0xe,param_1)" identifier (argument_list "(" used-in-reloc",1,0xe,param_1)" ( (string_literal "" used-in-reloc"" " string_content ") , number_literal , number_literal , identifier ))) ;) (if_statement "if ((*pbVar6 & 0x20) != 0) goto LAB_0003c35f;" if (parenthesized_expression "((*pbVar6 & 0x20) != 0)" ( (binary_expression "(*pbVar6 & 0x20) != 0" (parenthesized_expression "(*pbVar6 & 0x20)" ( (binary_expression "*pbVar6 & 0x20" (pointer_expression "*pbVar6" * identifier) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0003c35f;" goto statement_identifier ;)) (labeled_statement "LAB_0003c1c5:\n      iVar2 = FUN_00038380(pbVar6);" statement_identifier : (expression_statement "iVar2 = FUN_00038380(pbVar6);" (assignment_expression "iVar2 = FUN_00038380(pbVar6)" identifier = (call_expression "FUN_00038380(pbVar6)" identifier (argument_list "(pbVar6)" ( identifier )))) ;)) (if_statement "if (iVar2 == 0) goto LAB_0003c1d9;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0003c1d9;" goto statement_identifier ;)) (labeled_statement "LAB_0003c387:\n      fwrite(" local",1,6,param_1);" statement_identifier : (expression_statement "fwrite(" local",1,6,param_1);" (call_expression "fwrite(" local",1,6,param_1)" identifier (argument_list "(" local",1,6,param_1)" ( (string_literal "" local"" " string_content ") , number_literal , number_literal , identifier ))) ;)) (expression_statement "iVar2 = FUN_000380a0(pbVar6);" (assignment_expression "iVar2 = FUN_000380a0(pbVar6)" identifier = (call_expression "FUN_000380a0(pbVar6)" identifier (argument_list "(pbVar6)" ( identifier )))) ;) (if_statement "if (iVar2 != 0) goto LAB_0003c3af;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0003c3af;" goto statement_identifier ;)) (labeled_statement "LAB_0003c1ed:\n      iVar2 = FUN_00038110(pbVar6);" statement_identifier : (expression_statement "iVar2 = FUN_00038110(pbVar6);" (assignment_expression "iVar2 = FUN_00038110(pbVar6)" identifier = (call_expression "FUN_00038110(pbVar6)" identifier (argument_list "(pbVar6)" ( identifier )))) ;)) }))) (if_statement "if (iVar2 != 0) {\n      fwrite(" weak",1,5,param_1);\n    }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n      fwrite(" weak",1,5,param_1);\n    }" { (expression_statement "fwrite(" weak",1,5,param_1);" (call_expression "fwrite(" weak",1,5,param_1)" identifier (argument_list "(" weak",1,5,param_1)" ( (string_literal "" weak"" " string_content ") , number_literal , number_literal , identifier ))) ;) })) (expression_statement "puVar3 = *(undefined4 **)(pbVar6 + 4);" (assignment_expression "puVar3 = *(undefined4 **)(pbVar6 + 4)" identifier = (pointer_expression "*(undefined4 **)(pbVar6 + 4)" * (cast_expression "(undefined4 **)(pbVar6 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pbVar6 + 4)" ( (binary_expression "pbVar6 + 4" identifier + number_literal) ))))) ;) (if_statement "if ((*pbVar6 & 1) == 0) {\n      if ((*(byte *)(puVar3 + 4) & 4) != 0) {\nLAB_0003c5a0:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00077d90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003c60c;\n          }\n          goto LAB_0003c2e0;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_0006efb4 + 0xc0) goto LAB_0003c2f4;\n      goto LAB_0003c22c;\n    }" if (parenthesized_expression "((*pbVar6 & 1) == 0)" ( (binary_expression "(*pbVar6 & 1) == 0" (parenthesized_expression "(*pbVar6 & 1)" ( (binary_expression "*pbVar6 & 1" (pointer_expression "*pbVar6" * identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      if ((*(byte *)(puVar3 + 4) & 4) != 0) {\nLAB_0003c5a0:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00077d90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003c60c;\n          }\n          goto LAB_0003c2e0;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_0006efb4 + 0xc0) goto LAB_0003c2f4;\n      goto LAB_0003c22c;\n    }" { (if_statement "if ((*(byte *)(puVar3 + 4) & 4) != 0) {\nLAB_0003c5a0:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00077d90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003c60c;\n          }\n          goto LAB_0003c2e0;\n        }\n      }" if (parenthesized_expression "((*(byte *)(puVar3 + 4) & 4) != 0)" ( (binary_expression "(*(byte *)(puVar3 + 4) & 4) != 0" (parenthesized_expression "(*(byte *)(puVar3 + 4) & 4)" ( (binary_expression "*(byte *)(puVar3 + 4) & 4" (pointer_expression "*(byte *)(puVar3 + 4)" * (cast_expression "(byte *)(puVar3 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 4)" ( (binary_expression "puVar3 + 4" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_0003c5a0:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00077d90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003c60c;\n          }\n          goto LAB_0003c2e0;\n        }\n      }" { (labeled_statement "LAB_0003c5a0:\n        fwrite(" debug",1,6,param_1);" statement_identifier : (expression_statement "fwrite(" debug",1,6,param_1);" (call_expression "fwrite(" debug",1,6,param_1)" identifier (argument_list "(" debug",1,6,param_1)" ( (string_literal "" debug"" " string_content ") , number_literal , number_literal , identifier ))) ;)) (expression_statement "puVar3 = *(undefined4 **)(pbVar6 + 4);" (assignment_expression "puVar3 = *(undefined4 **)(pbVar6 + 4)" identifier = (pointer_expression "*(undefined4 **)(pbVar6 + 4)" * (cast_expression "(undefined4 **)(pbVar6 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pbVar6 + 4)" ( (binary_expression "pbVar6 + 4" identifier + number_literal) ))))) ;) (if_statement "if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00077d90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003c60c;\n          }\n          goto LAB_0003c2e0;\n        }" if (parenthesized_expression "((*pbVar6 & 1) != 0)" ( (binary_expression "(*pbVar6 & 1) != 0" (parenthesized_expression "(*pbVar6 & 1)" ( (binary_expression "*pbVar6 & 1" (pointer_expression "*pbVar6" * identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n          if (puVar3 == DAT_00077d90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003c60c;\n          }\n          goto LAB_0003c2e0;\n        }" { (if_statement "if (puVar3 == DAT_00077d90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003c60c;\n          }" if (parenthesized_expression "(puVar3 == DAT_00077d90)" ( (binary_expression "puVar3 == DAT_00077d90" identifier == identifier) )) (compound_statement "{\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003c60c;\n          }" { (expression_statement "iVar2 = *(int *)(pbVar6 + 0xc);" (assignment_expression "iVar2 = *(int *)(pbVar6 + 0xc)" identifier = (pointer_expression "*(int *)(pbVar6 + 0xc)" * (cast_expression "(int *)(pbVar6 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar6 + 0xc)" ( (binary_expression "pbVar6 + 0xc" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0003c60c;" goto statement_identifier ;) })) (goto_statement "goto LAB_0003c2e0;" goto statement_identifier ;) })) })) (if_statement "if ((undefined *)puVar3[5] != PTR__bfd_std_section_0006efb4 + 0xc0) goto LAB_0003c2f4;" if (parenthesized_expression "((undefined *)puVar3[5] != PTR__bfd_std_section_0006efb4 + 0xc0)" ( (binary_expression "(undefined *)puVar3[5] != PTR__bfd_std_section_0006efb4 + 0xc0" (cast_expression "(undefined *)puVar3[5]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar3[5]" identifier [ number_literal ])) != (binary_expression "PTR__bfd_std_section_0006efb4 + 0xc0" identifier + number_literal)) )) (goto_statement "goto LAB_0003c2f4;" goto statement_identifier ;)) (goto_statement "goto LAB_0003c22c;" goto statement_identifier ;) })) (if_statement "if (DAT_00077d90 == puVar3) {\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003c5a0;\nLAB_0003c60c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0006efb4 + 0xc0)\n      goto LAB_0003c13e;\nLAB_0003c2f4:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003c13e;\n    }" if (parenthesized_expression "(DAT_00077d90 == puVar3)" ( (binary_expression "DAT_00077d90 == puVar3" identifier == identifier) )) (compound_statement "{\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003c5a0;\nLAB_0003c60c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0006efb4 + 0xc0)\n      goto LAB_0003c13e;\nLAB_0003c2f4:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003c13e;\n    }" { (expression_statement "iVar2 = *(int *)(pbVar6 + 0xc);" (assignment_expression "iVar2 = *(int *)(pbVar6 + 0xc)" identifier = (pointer_expression "*(int *)(pbVar6 + 0xc)" * (cast_expression "(int *)(pbVar6 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar6 + 0xc)" ( (binary_expression "pbVar6 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003c5a0;" if (parenthesized_expression "((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0)" ( (binary_expression "(*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0" (parenthesized_expression "(*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4)" ( (binary_expression "*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4" (pointer_expression "*(byte *)(*(int *)(iVar2 + 4) + 0x10)" * (cast_expression "(byte *)(*(int *)(iVar2 + 4) + 0x10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar2 + 4) + 0x10)" ( (binary_expression "*(int *)(iVar2 + 4) + 0x10" (pointer_expression "*(int *)(iVar2 + 4)" * (cast_expression "(int *)(iVar2 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 4)" ( (binary_expression "iVar2 + 4" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0003c5a0;" goto statement_identifier ;)) (labeled_statement "LAB_0003c60c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0006efb4 + 0xc0)\n      goto LAB_0003c13e;" statement_identifier : (if_statement "if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0006efb4 + 0xc0)\n      goto LAB_0003c13e;" if (parenthesized_expression "(*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0006efb4 + 0xc0)" ( (binary_expression "*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0006efb4 + 0xc0" (pointer_expression "*(undefined **)(*(int *)(iVar2 + 4) + 0x14)" * (cast_expression "(undefined **)(*(int *)(iVar2 + 4) + 0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(iVar2 + 4) + 0x14)" ( (binary_expression "*(int *)(iVar2 + 4) + 0x14" (pointer_expression "*(int *)(iVar2 + 4)" * (cast_expression "(int *)(iVar2 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 4)" ( (binary_expression "iVar2 + 4" identifier + number_literal) )))) + number_literal) )))) == (binary_expression "PTR__bfd_std_section_0006efb4 + 0xc0" identifier + number_literal)) )) (goto_statement "goto LAB_0003c13e;" goto statement_identifier ;))) (labeled_statement "LAB_0003c2f4:\n      fwrite(" defined",1,8,param_1);" statement_identifier : (expression_statement "fwrite(" defined",1,8,param_1);" (call_expression "fwrite(" defined",1,8,param_1)" identifier (argument_list "(" defined",1,8,param_1)" ( (string_literal "" defined"" " string_content ") , number_literal , number_literal , identifier ))) ;)) (goto_statement "goto LAB_0003c13e;" goto statement_identifier ;) })) (labeled_statement "LAB_0003c2e0:\n    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) goto LAB_0003c2f4;" statement_identifier : (if_statement "if (puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) goto LAB_0003c2f4;" if (parenthesized_expression "(puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0))" ( (binary_expression "puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)" identifier != (cast_expression "(undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__bfd_std_section_0006efb4 + 0xc0)" ( (binary_expression "PTR__bfd_std_section_0006efb4 + 0xc0" identifier + number_literal) )))) )) (goto_statement "goto LAB_0003c2f4;" goto statement_identifier ;))) (labeled_statement "LAB_0003c152:\n    if (DAT_00077d90 == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003c430:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c236;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 != puVar3) goto LAB_0003c248;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c468;\nLAB_0003c572:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c242;\n    }" statement_identifier : (if_statement "if (DAT_00077d90 == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003c430:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c236;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 != puVar3) goto LAB_0003c248;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c468;\nLAB_0003c572:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c242;\n    }" if (parenthesized_expression "(DAT_00077d90 == puVar3)" ( (binary_expression "DAT_00077d90 == puVar3" identifier == identifier) )) (compound_statement "{\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003c430:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c236;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 != puVar3) goto LAB_0003c248;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c468;\nLAB_0003c572:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c242;\n    }" { (if_statement "if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003c430:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c236;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 != puVar3) goto LAB_0003c248;\n      }" if (parenthesized_expression "((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0)" ( (binary_expression "(*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0" (parenthesized_expression "(*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2)" ( (binary_expression "*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2" (pointer_expression "*(byte *)(*(int *)(pbVar6 + 0xc) + 1)" * (cast_expression "(byte *)(*(int *)(pbVar6 + 0xc) + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pbVar6 + 0xc) + 1)" ( (binary_expression "*(int *)(pbVar6 + 0xc) + 1" (pointer_expression "*(int *)(pbVar6 + 0xc)" * (cast_expression "(int *)(pbVar6 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar6 + 0xc)" ( (binary_expression "pbVar6 + 0xc" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_0003c430:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c236;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 != puVar3) goto LAB_0003c248;\n      }" { (labeled_statement "LAB_0003c430:\n        fwrite(" weakrefr",1,9,param_1);" statement_identifier : (expression_statement "fwrite(" weakrefr",1,9,param_1);" (call_expression "fwrite(" weakrefr",1,9,param_1)" identifier (argument_list "(" weakrefr",1,9,param_1)" ( (string_literal "" weakrefr"" " string_content ") , number_literal , number_literal , identifier ))) ;)) (if_statement "if ((*pbVar6 & 1) == 0) goto LAB_0003c236;" if (parenthesized_expression "((*pbVar6 & 1) == 0)" ( (binary_expression "(*pbVar6 & 1) == 0" (parenthesized_expression "(*pbVar6 & 1)" ( (binary_expression "*pbVar6 & 1" (pointer_expression "*pbVar6" * identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0003c236;" goto statement_identifier ;)) (expression_statement "puVar3 = *(undefined4 **)(pbVar6 + 4);" (assignment_expression "puVar3 = *(undefined4 **)(pbVar6 + 4)" identifier = (pointer_expression "*(undefined4 **)(pbVar6 + 4)" * (cast_expression "(undefined4 **)(pbVar6 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pbVar6 + 4)" ( (binary_expression "pbVar6 + 4" identifier + number_literal) ))))) ;) (if_statement "if (DAT_00077d90 != puVar3) goto LAB_0003c248;" if (parenthesized_expression "(DAT_00077d90 != puVar3)" ( (binary_expression "DAT_00077d90 != puVar3" identifier != identifier) )) (goto_statement "goto LAB_0003c248;" goto statement_identifier ;)) })) (if_statement "if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c468;" if (parenthesized_expression "((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0)" ( (binary_expression "(*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0" (parenthesized_expression "(*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4)" ( (binary_expression "*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4" (pointer_expression "*(byte *)(*(int *)(pbVar6 + 0xc) + 1)" * (cast_expression "(byte *)(*(int *)(pbVar6 + 0xc) + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pbVar6 + 0xc) + 1)" ( (binary_expression "*(int *)(pbVar6 + 0xc) + 1" (pointer_expression "*(int *)(pbVar6 + 0xc)" * (cast_expression "(int *)(pbVar6 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar6 + 0xc)" ( (binary_expression "pbVar6 + 0xc" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0003c468;" goto statement_identifier ;)) (labeled_statement "LAB_0003c572:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);" statement_identifier : (expression_statement "pbVar5 = *(byte **)(pbVar6 + 0xc);" (assignment_expression "pbVar5 = *(byte **)(pbVar6 + 0xc)" identifier = (pointer_expression "*(byte **)(pbVar6 + 0xc)" * (cast_expression "(byte **)(pbVar6 + 0xc)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pbVar6 + 0xc)" ( (binary_expression "pbVar6 + 0xc" identifier + number_literal) ))))) ;)) (goto_statement "goto LAB_0003c242;" goto statement_identifier ;) }))) }) (else_clause "else {\n    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_0006ef70)) {\n      fwrite(" frag ",1,6,param_1);\n      fprintf(param_1,"%016llx",*(undefined4 *)(param_2 + 0xc),0);\n      bVar1 = *param_2;\n    }\n    if ((bVar1 & 4) != 0) {\n      fwrite(" resolved",1,9,param_1);\n    }\n    fwrite(" local",1,6,param_1);\n    pbVar6 = param_2;\nLAB_0003c13e:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003c152;\n    }\nLAB_0003c22c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003c430;\nLAB_0003c236:\n    pbVar5 = pbVar6;\n    if ((pbVar6[1] & 4) != 0) {\nLAB_0003c468:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 == puVar3) goto LAB_0003c572;\n        goto LAB_0003c248;\n      }\n    }\nLAB_0003c242:\n    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\n  }" else (compound_statement "{\n    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_0006ef70)) {\n      fwrite(" frag ",1,6,param_1);\n      fprintf(param_1,"%016llx",*(undefined4 *)(param_2 + 0xc),0);\n      bVar1 = *param_2;\n    }\n    if ((bVar1 & 4) != 0) {\n      fwrite(" resolved",1,9,param_1);\n    }\n    fwrite(" local",1,6,param_1);\n    pbVar6 = param_2;\nLAB_0003c13e:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003c152;\n    }\nLAB_0003c22c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003c430;\nLAB_0003c236:\n    pbVar5 = pbVar6;\n    if ((pbVar6[1] & 4) != 0) {\nLAB_0003c468:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 == puVar3) goto LAB_0003c572;\n        goto LAB_0003c248;\n      }\n    }\nLAB_0003c242:\n    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\n  }" { (if_statement "if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_0006ef70)) {\n      fwrite(" frag ",1,6,param_1);\n      fprintf(param_1,"%016llx",*(undefined4 *)(param_2 + 0xc),0);\n      bVar1 = *param_2;\n    }" if (parenthesized_expression "((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_0006ef70))" ( (binary_expression "(pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_0006ef70)" (parenthesized_expression "(pbVar6 != (byte *)0x0)" ( (binary_expression "pbVar6 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(pbVar6 != PTR_DAT_0006ef70)" ( (binary_expression "pbVar6 != PTR_DAT_0006ef70" identifier != identifier) ))) )) (compound_statement "{\n      fwrite(" frag ",1,6,param_1);\n      fprintf(param_1,"%016llx",*(undefined4 *)(param_2 + 0xc),0);\n      bVar1 = *param_2;\n    }" { (expression_statement "fwrite(" frag ",1,6,param_1);" (call_expression "fwrite(" frag ",1,6,param_1)" identifier (argument_list "(" frag ",1,6,param_1)" ( (string_literal "" frag "" " string_content ") , number_literal , number_literal , identifier ))) ;) (expression_statement "fprintf(param_1,"%016llx",*(undefined4 *)(param_2 + 0xc),0);" (call_expression "fprintf(param_1,"%016llx",*(undefined4 *)(param_2 + 0xc),0)" identifier (argument_list "(param_1,"%016llx",*(undefined4 *)(param_2 + 0xc),0)" ( identifier , (string_literal ""%016llx"" " string_content ") , (pointer_expression "*(undefined4 *)(param_2 + 0xc)" * (cast_expression "(undefined4 *)(param_2 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc)" ( (binary_expression "param_2 + 0xc" identifier + number_literal) )))) , number_literal ))) ;) (expression_statement "bVar1 = *param_2;" (assignment_expression "bVar1 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) })) (if_statement "if ((bVar1 & 4) != 0) {\n      fwrite(" resolved",1,9,param_1);\n    }" if (parenthesized_expression "((bVar1 & 4) != 0)" ( (binary_expression "(bVar1 & 4) != 0" (parenthesized_expression "(bVar1 & 4)" ( (binary_expression "bVar1 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      fwrite(" resolved",1,9,param_1);\n    }" { (expression_statement "fwrite(" resolved",1,9,param_1);" (call_expression "fwrite(" resolved",1,9,param_1)" identifier (argument_list "(" resolved",1,9,param_1)" ( (string_literal "" resolved"" " string_content ") , number_literal , number_literal , identifier ))) ;) })) (expression_statement "fwrite(" local",1,6,param_1);" (call_expression "fwrite(" local",1,6,param_1)" identifier (argument_list "(" local",1,6,param_1)" ( (string_literal "" local"" " string_content ") , number_literal , number_literal , identifier ))) ;) (expression_statement "pbVar6 = param_2;" (assignment_expression "pbVar6 = param_2" identifier = identifier) ;) (labeled_statement "LAB_0003c13e:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003c152;\n    }" statement_identifier : (if_statement "if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003c152;\n    }" if (parenthesized_expression "((*pbVar6 & 1) != 0)" ( (binary_expression "(*pbVar6 & 1) != 0" (parenthesized_expression "(*pbVar6 & 1)" ( (binary_expression "*pbVar6 & 1" (pointer_expression "*pbVar6" * identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003c152;\n    }" { (expression_statement "puVar3 = *(undefined4 **)(pbVar6 + 4);" (assignment_expression "puVar3 = *(undefined4 **)(pbVar6 + 4)" identifier = (pointer_expression "*(undefined4 **)(pbVar6 + 4)" * (cast_expression "(undefined4 **)(pbVar6 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pbVar6 + 4)" ( (binary_expression "pbVar6 + 4" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0003c152;" goto statement_identifier ;) }))) (labeled_statement "LAB_0003c22c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003c430;" statement_identifier : (if_statement "if ((pbVar6[1] & 2) != 0) goto LAB_0003c430;" if (parenthesized_expression "((pbVar6[1] & 2) != 0)" ( (binary_expression "(pbVar6[1] & 2) != 0" (parenthesized_expression "(pbVar6[1] & 2)" ( (binary_expression "pbVar6[1] & 2" (subscript_expression "pbVar6[1]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0003c430;" goto statement_identifier ;))) (labeled_statement "LAB_0003c236:\n    pbVar5 = pbVar6;" statement_identifier : (expression_statement "pbVar5 = pbVar6;" (assignment_expression "pbVar5 = pbVar6" identifier = identifier) ;)) (if_statement "if ((pbVar6[1] & 4) != 0) {\nLAB_0003c468:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 == puVar3) goto LAB_0003c572;\n        goto LAB_0003c248;\n      }\n    }" if (parenthesized_expression "((pbVar6[1] & 4) != 0)" ( (binary_expression "(pbVar6[1] & 4) != 0" (parenthesized_expression "(pbVar6[1] & 4)" ( (binary_expression "pbVar6[1] & 4" (subscript_expression "pbVar6[1]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_0003c468:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 == puVar3) goto LAB_0003c572;\n        goto LAB_0003c248;\n      }\n    }" { (labeled_statement "LAB_0003c468:\n      fwrite(" weakrefd",1,9,param_1);" statement_identifier : (expression_statement "fwrite(" weakrefd",1,9,param_1);" (call_expression "fwrite(" weakrefd",1,9,param_1)" identifier (argument_list "(" weakrefd",1,9,param_1)" ( (string_literal "" weakrefd"" " string_content ") , number_literal , number_literal , identifier ))) ;)) (expression_statement "pbVar5 = pbVar6;" (assignment_expression "pbVar5 = pbVar6" identifier = identifier) ;) (if_statement "if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 == puVar3) goto LAB_0003c572;\n        goto LAB_0003c248;\n      }" if (parenthesized_expression "((*pbVar6 & 1) != 0)" ( (binary_expression "(*pbVar6 & 1) != 0" (parenthesized_expression "(*pbVar6 & 1)" ( (binary_expression "*pbVar6 & 1" (pointer_expression "*pbVar6" * identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 == puVar3) goto LAB_0003c572;\n        goto LAB_0003c248;\n      }" { (expression_statement "puVar3 = *(undefined4 **)(pbVar6 + 4);" (assignment_expression "puVar3 = *(undefined4 **)(pbVar6 + 4)" identifier = (pointer_expression "*(undefined4 **)(pbVar6 + 4)" * (cast_expression "(undefined4 **)(pbVar6 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pbVar6 + 4)" ( (binary_expression "pbVar6 + 4" identifier + number_literal) ))))) ;) (if_statement "if (DAT_00077d90 == puVar3) goto LAB_0003c572;" if (parenthesized_expression "(DAT_00077d90 == puVar3)" ( (binary_expression "DAT_00077d90 == puVar3" identifier == identifier) )) (goto_statement "goto LAB_0003c572;" goto statement_identifier ;)) (goto_statement "goto LAB_0003c248;" goto statement_identifier ;) })) })) (labeled_statement "LAB_0003c242:\n    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);" statement_identifier : (expression_statement "puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);" (assignment_expression "puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14)" identifier = (pointer_expression "*(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14)" * (cast_expression "(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pbVar5 + 4) + 0x14)" ( (binary_expression "*(int *)(pbVar5 + 4) + 0x14" (pointer_expression "*(int *)(pbVar5 + 4)" * (cast_expression "(int *)(pbVar5 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar5 + 4)" ( (binary_expression "pbVar5 + 4" identifier + number_literal) )))) + number_literal) ))))) ;)) }))) (labeled_statement "LAB_0003c248:\n  fprintf(param_1," %s",*puVar3);" statement_identifier : (expression_statement "fprintf(param_1," %s",*puVar3);" (call_expression "fprintf(param_1," %s",*puVar3)" identifier (argument_list "(param_1," %s",*puVar3)" ( identifier , (string_literal "" %s"" " string_content ") , (pointer_expression "*puVar3" * identifier) ))) ;)) (expression_statement "bVar1 = *pbVar6;" (assignment_expression "bVar1 = *pbVar6" identifier = (pointer_expression "*pbVar6" * identifier)) ;) (if_statement "if ((bVar1 & 1) == 0) {\n    pbVar5 = pbVar6;\n    if ((bVar1 & 4) != 0) {\nLAB_0003c316:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003c283:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) &&\n         (DAT_00077ce0 != puVar3)) {\n        uVar4 = FUN_00039db0();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003c2b7;\n    }\n    if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n    iVar2 = *(int *)(pbVar6 + 4);\nLAB_0003c338:\n    puVar3 = *(undefined4 **)(iVar2 + 0x14);\n  }\n  else {\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if (puVar3 == DAT_00077d90) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003c316;\n      if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003c338;\n    }\n    if ((bVar1 & 4) != 0) goto LAB_0003c283;\n    if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n  }" if (parenthesized_expression "((bVar1 & 1) == 0)" ( (binary_expression "(bVar1 & 1) == 0" (parenthesized_expression "(bVar1 & 1)" ( (binary_expression "bVar1 & 1" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    pbVar5 = pbVar6;\n    if ((bVar1 & 4) != 0) {\nLAB_0003c316:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003c283:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) &&\n         (DAT_00077ce0 != puVar3)) {\n        uVar4 = FUN_00039db0();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003c2b7;\n    }\n    if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n    iVar2 = *(int *)(pbVar6 + 4);\nLAB_0003c338:\n    puVar3 = *(undefined4 **)(iVar2 + 0x14);\n  }" { (expression_statement "pbVar5 = pbVar6;" (assignment_expression "pbVar5 = pbVar6" identifier = identifier) ;) (if_statement "if ((bVar1 & 4) != 0) {\nLAB_0003c316:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003c283:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) &&\n         (DAT_00077ce0 != puVar3)) {\n        uVar4 = FUN_00039db0();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003c2b7;\n    }" if (parenthesized_expression "((bVar1 & 4) != 0)" ( (binary_expression "(bVar1 & 4) != 0" (parenthesized_expression "(bVar1 & 4)" ( (binary_expression "bVar1 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_0003c316:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003c283:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) &&\n         (DAT_00077ce0 != puVar3)) {\n        uVar4 = FUN_00039db0();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003c2b7;\n    }" { (labeled_statement "LAB_0003c316:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);" statement_identifier : (expression_statement "puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);" (assignment_expression "puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14)" identifier = (pointer_expression "*(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14)" * (cast_expression "(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pbVar5 + 4) + 0x14)" ( (binary_expression "*(int *)(pbVar5 + 4) + 0x14" (pointer_expression "*(int *)(pbVar5 + 4)" * (cast_expression "(int *)(pbVar5 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar5 + 4)" ( (binary_expression "pbVar5 + 4" identifier + number_literal) )))) + number_literal) ))))) ;)) (labeled_statement "LAB_0003c283:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) &&\n         (DAT_00077ce0 != puVar3)) {\n        uVar4 = FUN_00039db0();\n        fprintf(param_1," %lx",uVar4);\n      }" statement_identifier : (if_statement "if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) &&\n         (DAT_00077ce0 != puVar3)) {\n        uVar4 = FUN_00039db0();\n        fprintf(param_1," %lx",uVar4);\n      }" if (parenthesized_expression "((puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) &&\n         (DAT_00077ce0 != puVar3))" ( (binary_expression "(puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) &&\n         (DAT_00077ce0 != puVar3)" (parenthesized_expression "(puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0))" ( (binary_expression "puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)" identifier != (cast_expression "(undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__bfd_std_section_0006efb4 + 0xc0)" ( (binary_expression "PTR__bfd_std_section_0006efb4 + 0xc0" identifier + number_literal) )))) )) && (parenthesized_expression "(DAT_00077ce0 != puVar3)" ( (binary_expression "DAT_00077ce0 != puVar3" identifier != identifier) ))) )) (compound_statement "{\n        uVar4 = FUN_00039db0();\n        fprintf(param_1," %lx",uVar4);\n      }" { (expression_statement "uVar4 = FUN_00039db0();" (assignment_expression "uVar4 = FUN_00039db0()" identifier = (call_expression "FUN_00039db0()" identifier (argument_list "()" ( )))) ;) (expression_statement "fprintf(param_1," %lx",uVar4);" (call_expression "fprintf(param_1," %lx",uVar4)" identifier (argument_list "(param_1," %lx",uVar4)" ( identifier , (string_literal "" %lx"" " string_content ") , identifier ))) ;) }))) (goto_statement "goto LAB_0003c2b7;" goto statement_identifier ;) })) (if_statement "if (7 < DAT_00077fcc) goto LAB_0003c2b7;" if (parenthesized_expression "(7 < DAT_00077fcc)" ( (binary_expression "7 < DAT_00077fcc" number_literal < identifier) )) (goto_statement "goto LAB_0003c2b7;" goto statement_identifier ;)) (expression_statement "iVar2 = *(int *)(pbVar6 + 4);" (assignment_expression "iVar2 = *(int *)(pbVar6 + 4)" identifier = (pointer_expression "*(int *)(pbVar6 + 4)" * (cast_expression "(int *)(pbVar6 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar6 + 4)" ( (binary_expression "pbVar6 + 4" identifier + number_literal) ))))) ;) (labeled_statement "LAB_0003c338:\n    puVar3 = *(undefined4 **)(iVar2 + 0x14);" statement_identifier : (expression_statement "puVar3 = *(undefined4 **)(iVar2 + 0x14);" (assignment_expression "puVar3 = *(undefined4 **)(iVar2 + 0x14)" identifier = (pointer_expression "*(undefined4 **)(iVar2 + 0x14)" * (cast_expression "(undefined4 **)(iVar2 + 0x14)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 0x14)" ( (binary_expression "iVar2 + 0x14" identifier + number_literal) ))))) ;)) }) (else_clause "else {\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if (puVar3 == DAT_00077d90) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003c316;\n      if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003c338;\n    }\n    if ((bVar1 & 4) != 0) goto LAB_0003c283;\n    if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n  }" else (compound_statement "{\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if (puVar3 == DAT_00077d90) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003c316;\n      if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003c338;\n    }\n    if ((bVar1 & 4) != 0) goto LAB_0003c283;\n    if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n  }" { (expression_statement "puVar3 = *(undefined4 **)(pbVar6 + 4);" (assignment_expression "puVar3 = *(undefined4 **)(pbVar6 + 4)" identifier = (pointer_expression "*(undefined4 **)(pbVar6 + 4)" * (cast_expression "(undefined4 **)(pbVar6 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pbVar6 + 4)" ( (binary_expression "pbVar6 + 4" identifier + number_literal) ))))) ;) (if_statement "if (puVar3 == DAT_00077d90) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003c316;\n      if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003c338;\n    }" if (parenthesized_expression "(puVar3 == DAT_00077d90)" ( (binary_expression "puVar3 == DAT_00077d90" identifier == identifier) )) (compound_statement "{\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003c316;\n      if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003c338;\n    }" { (expression_statement "pbVar5 = *(byte **)(pbVar6 + 0xc);" (assignment_expression "pbVar5 = *(byte **)(pbVar6 + 0xc)" identifier = (pointer_expression "*(byte **)(pbVar6 + 0xc)" * (cast_expression "(byte **)(pbVar6 + 0xc)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pbVar6 + 0xc)" ( (binary_expression "pbVar6 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if ((*pbVar5 & 4) != 0) goto LAB_0003c316;" if (parenthesized_expression "((*pbVar5 & 4) != 0)" ( (binary_expression "(*pbVar5 & 4) != 0" (parenthesized_expression "(*pbVar5 & 4)" ( (binary_expression "*pbVar5 & 4" (pointer_expression "*pbVar5" * identifier) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0003c316;" goto statement_identifier ;)) (if_statement "if (7 < DAT_00077fcc) goto LAB_0003c2b7;" if (parenthesized_expression "(7 < DAT_00077fcc)" ( (binary_expression "7 < DAT_00077fcc" number_literal < identifier) )) (goto_statement "goto LAB_0003c2b7;" goto statement_identifier ;)) (expression_statement "iVar2 = *(int *)(pbVar5 + 4);" (assignment_expression "iVar2 = *(int *)(pbVar5 + 4)" identifier = (pointer_expression "*(int *)(pbVar5 + 4)" * (cast_expression "(int *)(pbVar5 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar5 + 4)" ( (binary_expression "pbVar5 + 4" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0003c338;" goto statement_identifier ;) })) (if_statement "if ((bVar1 & 4) != 0) goto LAB_0003c283;" if (parenthesized_expression "((bVar1 & 4) != 0)" ( (binary_expression "(bVar1 & 4) != 0" (parenthesized_expression "(bVar1 & 4)" ( (binary_expression "bVar1 & 4" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0003c283;" goto statement_identifier ;)) (if_statement "if (7 < DAT_00077fcc) goto LAB_0003c2b7;" if (parenthesized_expression "(7 < DAT_00077fcc)" ( (binary_expression "7 < DAT_00077fcc" number_literal < identifier) )) (goto_statement "goto LAB_0003c2b7;" goto statement_identifier ;)) }))) (if_statement "if (puVar3 == (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) goto LAB_0003c2b7;" if (parenthesized_expression "(puVar3 == (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0))" ( (binary_expression "puVar3 == (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)" identifier == (cast_expression "(undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__bfd_std_section_0006efb4 + 0xc0)" ( (binary_expression "PTR__bfd_std_section_0006efb4 + 0xc0" identifier + number_literal) )))) )) (goto_statement "goto LAB_0003c2b7;" goto statement_identifier ;)) (expression_statement "DAT_00077fcc = DAT_00077fcc + 1;" (assignment_expression "DAT_00077fcc = DAT_00077fcc + 1" identifier = (binary_expression "DAT_00077fcc + 1" identifier + number_literal)) ;) (expression_statement "puVar8 = &DAT_00050b45;" (assignment_expression "puVar8 = &DAT_00050b45" identifier = (pointer_expression "&DAT_00050b45" & identifier)) ;) (expression_statement "fprintf(param_1,"\n%*s<",DAT_00077fcc * 4,&DAT_00050b45);" (call_expression "fprintf(param_1,"\n%*s<",DAT_00077fcc * 4,&DAT_00050b45)" identifier (argument_list "(param_1,"\n%*s<",DAT_00077fcc * 4,&DAT_00050b45)" ( identifier , (string_literal ""\n%*s<"" " escape_sequence string_content ") , (binary_expression "DAT_00077fcc * 4" identifier * number_literal) , (pointer_expression "&DAT_00050b45" & identifier) ))) ;) (if_statement "if ((*pbVar6 & 1) == 0) {\nLAB_0003c633:\n    FUN_0003bba0(param_1,pbVar6 + 8);\n  }\n  else {\n    if (*(undefined4 **)(pbVar6 + 4) == DAT_00077d90) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c633;\n    }\n    fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);\n  }" if (parenthesized_expression "((*pbVar6 & 1) == 0)" ( (binary_expression "(*pbVar6 & 1) == 0" (parenthesized_expression "(*pbVar6 & 1)" ( (binary_expression "*pbVar6 & 1" (pointer_expression "*pbVar6" * identifier) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_0003c633:\n    FUN_0003bba0(param_1,pbVar6 + 8);\n  }" { (labeled_statement "LAB_0003c633:\n    FUN_0003bba0(param_1,pbVar6 + 8);" statement_identifier : (expression_statement "FUN_0003bba0(param_1,pbVar6 + 8);" (call_expression "FUN_0003bba0(param_1,pbVar6 + 8)" identifier (argument_list "(param_1,pbVar6 + 8)" ( identifier , (binary_expression "pbVar6 + 8" identifier + number_literal) ))) ;)) }) (else_clause "else {\n    if (*(undefined4 **)(pbVar6 + 4) == DAT_00077d90) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c633;\n    }\n    fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);\n  }" else (compound_statement "{\n    if (*(undefined4 **)(pbVar6 + 4) == DAT_00077d90) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c633;\n    }\n    fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);\n  }" { (if_statement "if (*(undefined4 **)(pbVar6 + 4) == DAT_00077d90) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c633;\n    }" if (parenthesized_expression "(*(undefined4 **)(pbVar6 + 4) == DAT_00077d90)" ( (binary_expression "*(undefined4 **)(pbVar6 + 4) == DAT_00077d90" (pointer_expression "*(undefined4 **)(pbVar6 + 4)" * (cast_expression "(undefined4 **)(pbVar6 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pbVar6 + 4)" ( (binary_expression "pbVar6 + 4" identifier + number_literal) )))) == identifier) )) (compound_statement "{\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c633;\n    }" { (expression_statement "pbVar6 = *(byte **)(pbVar6 + 0xc);" (assignment_expression "pbVar6 = *(byte **)(pbVar6 + 0xc)" identifier = (pointer_expression "*(byte **)(pbVar6 + 0xc)" * (cast_expression "(byte **)(pbVar6 + 0xc)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pbVar6 + 0xc)" ( (binary_expression "pbVar6 + 0xc" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0003c633;" goto statement_identifier ;) })) (expression_statement "fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);" (call_expression "fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8)" identifier (argument_list "(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8)" ( identifier , (string_literal ""constant %lx"" " string_content ") , (pointer_expression "*(undefined4 *)(pbVar6 + 0x10)" * (cast_expression "(undefined4 *)(pbVar6 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar6 + 0x10)" ( (binary_expression "pbVar6 + 0x10" identifier + number_literal) )))) , identifier ))) ;) }))) (expression_statement "fputc(0x3e,param_1);" (call_expression "fputc(0x3e,param_1)" identifier (argument_list "(0x3e,param_1)" ( number_literal , identifier ))) ;) (expression_statement "DAT_00077fcc = DAT_00077fcc + -1;" (assignment_expression "DAT_00077fcc = DAT_00077fcc + -1" identifier = (binary_expression "DAT_00077fcc + -1" identifier + number_literal)) ;) (labeled_statement "LAB_0003c2b7:\n  fflush(param_1);" statement_identifier : (expression_statement "fflush(param_1);" (call_expression "fflush(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;)) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) & LIT) )) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) }))) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (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 IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;)) }))) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , LIT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == IDENT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (pointer_expression & IDENT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , LIT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) })) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , LIT , IDENT ))) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , LIT , IDENT ))) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , LIT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , LIT , IDENT ))) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;)) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , LIT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) & LIT) )) == LIT) )) (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 { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , LIT , IDENT ))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) & LIT) )) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) != (binary_expression IDENT + LIT)) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (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 (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) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) == (binary_expression IDENT + LIT)) )) (goto_statement goto statement_identifier ;))) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , LIT , IDENT ))) ;)) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (goto_statement goto statement_identifier ;))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , LIT , IDENT ))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (goto_statement goto statement_identifier ;) }))) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression IDENT != IDENT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , LIT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , LIT , IDENT ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (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 (subscript_expression IDENT [ LIT ]) & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , LIT , IDENT ))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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 : (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (pointer_expression * IDENT) ))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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 != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) && (parenthesized_expression ( (binary_expression IDENT != IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT ))) ;) }))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (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) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (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) ))))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " escape_sequence string_content ") , (binary_expression IDENT * LIT) , (pointer_expression & IDENT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) & LIT) )) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) ))) ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT ))) ;) }))) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (return_statement return ;) })))
(function_definition "void FUN_0003c040(FILE *param_1,byte *param_2)\n\n{\n  byte bVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  undefined4 uVar4;\n  byte *pbVar5;\n  byte *pbVar6;\n  char *pcVar7;\n  undefined *puVar8;\n  \n  puVar3 = *(undefined4 **)(param_2 + 4);\n  if ((*param_2 & 1) == 0) {\nLAB_0003c086:\n    pcVar7 = (char *)puVar3[1];\n    if (pcVar7 == (char *)0x0) goto LAB_0003c073;\nLAB_0003c08d:\n    if (*pcVar7 == '\0') {\n      pcVar7 = "(unnamed)";\n    }\n  }\n  else {\n    if (DAT_00077d90 == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003c086;\n    }\n    pcVar7 = *(char **)(param_2 + 8);\n    if (pcVar7 != (char *)0x0) goto LAB_0003c08d;\nLAB_0003c073:\n    pcVar7 = "(unnamed)";\n  }\n  fwrite(&DAT_00053e44,1,4,param_1);\n  fprintf(param_1,"%016llx",param_2,0);\n  fprintf(param_1," %s",pcVar7);\n  bVar1 = *param_2;\n  pbVar6 = param_2;\n  if (((bVar1 & 1) == 0) ||\n     (pbVar6 = *(byte **)(param_2 + 0xc), *(undefined4 **)(param_2 + 4) == DAT_00077d90)) {\n    if (*(undefined **)(pbVar6 + 0x24) != &DAT_00077d20) {\n      fwrite(" frag ",1,6,param_1);\n      fprintf(param_1,"%016llx",*(undefined4 *)(pbVar6 + 0x24),0);\n    }\n    bVar1 = *pbVar6;\n    if ((bVar1 & 2) != 0) {\n      fwrite(" written",1,8,param_1);\n      bVar1 = *pbVar6;\n    }\n    if ((bVar1 & 4) == 0) {\n      if ((bVar1 & 8) != 0) {\n        fwrite(" resolving",1,10,param_1);\n        bVar1 = *pbVar6;\n      }\n    }\n    else {\n      fwrite(" resolved",1,9,param_1);\n      bVar1 = *pbVar6;\n    }\n    if ((bVar1 & 0x10) == 0) {\n      if ((bVar1 & 0x20) == 0) goto LAB_0003c1c5;\nLAB_0003c35f:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_00038380(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c387;\nLAB_0003c1d9:\n      iVar2 = FUN_000380a0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c1ed;\nLAB_0003c3af:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00038110(pbVar6);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003c35f;\nLAB_0003c1c5:\n      iVar2 = FUN_00038380(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c1d9;\nLAB_0003c387:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_000380a0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c3af;\nLAB_0003c1ed:\n      iVar2 = FUN_00038110(pbVar6);\n    }\n    if (iVar2 != 0) {\n      fwrite(" weak",1,5,param_1);\n    }\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if ((*pbVar6 & 1) == 0) {\n      if ((*(byte *)(puVar3 + 4) & 4) != 0) {\nLAB_0003c5a0:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00077d90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003c60c;\n          }\n          goto LAB_0003c2e0;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_0006efb4 + 0xc0) goto LAB_0003c2f4;\n      goto LAB_0003c22c;\n    }\n    if (DAT_00077d90 == puVar3) {\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003c5a0;\nLAB_0003c60c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0006efb4 + 0xc0)\n      goto LAB_0003c13e;\nLAB_0003c2f4:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003c13e;\n    }\nLAB_0003c2e0:\n    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) goto LAB_0003c2f4;\nLAB_0003c152:\n    if (DAT_00077d90 == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003c430:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c236;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 != puVar3) goto LAB_0003c248;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c468;\nLAB_0003c572:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c242;\n    }\n  }\n  else {\n    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_0006ef70)) {\n      fwrite(" frag ",1,6,param_1);\n      fprintf(param_1,"%016llx",*(undefined4 *)(param_2 + 0xc),0);\n      bVar1 = *param_2;\n    }\n    if ((bVar1 & 4) != 0) {\n      fwrite(" resolved",1,9,param_1);\n    }\n    fwrite(" local",1,6,param_1);\n    pbVar6 = param_2;\nLAB_0003c13e:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003c152;\n    }\nLAB_0003c22c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003c430;\nLAB_0003c236:\n    pbVar5 = pbVar6;\n    if ((pbVar6[1] & 4) != 0) {\nLAB_0003c468:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 == puVar3) goto LAB_0003c572;\n        goto LAB_0003c248;\n      }\n    }\nLAB_0003c242:\n    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\n  }\nLAB_0003c248:\n  fprintf(param_1," %s",*puVar3);\n  bVar1 = *pbVar6;\n  if ((bVar1 & 1) == 0) {\n    pbVar5 = pbVar6;\n    if ((bVar1 & 4) != 0) {\nLAB_0003c316:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003c283:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) &&\n         (DAT_00077ce0 != puVar3)) {\n        uVar4 = FUN_00039db0();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003c2b7;\n    }\n    if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n    iVar2 = *(int *)(pbVar6 + 4);\nLAB_0003c338:\n    puVar3 = *(undefined4 **)(iVar2 + 0x14);\n  }\n  else {\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if (puVar3 == DAT_00077d90) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003c316;\n      if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003c338;\n    }\n    if ((bVar1 & 4) != 0) goto LAB_0003c283;\n    if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n  }\n  if (puVar3 == (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) goto LAB_0003c2b7;\n  DAT_00077fcc = DAT_00077fcc + 1;\n  puVar8 = &DAT_00050b45;\n  fprintf(param_1,"\n%*s<",DAT_00077fcc * 4,&DAT_00050b45);\n  if ((*pbVar6 & 1) == 0) {\nLAB_0003c633:\n    FUN_0003bba0(param_1,pbVar6 + 8);\n  }\n  else {\n    if (*(undefined4 **)(pbVar6 + 4) == DAT_00077d90) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c633;\n    }\n    fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);\n  }\n  fputc(0x3e,param_1);\n  DAT_00077fcc = DAT_00077fcc + -1;\nLAB_0003c2b7:\n  fflush(param_1);\n  return;\n}" (primitive_type "void") (function_declarator "FUN_0003c040(FILE *param_1,byte *param_2)" (identifier "FUN_0003c040") (parameter_list "(FILE *param_1,byte *param_2)" (( "(") (parameter_declaration "FILE *param_1" (type_identifier "FILE") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "byte *param_2" (type_identifier "byte") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) () ")"))) (compound_statement "{\n  byte bVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  undefined4 uVar4;\n  byte *pbVar5;\n  byte *pbVar6;\n  char *pcVar7;\n  undefined *puVar8;\n  \n  puVar3 = *(undefined4 **)(param_2 + 4);\n  if ((*param_2 & 1) == 0) {\nLAB_0003c086:\n    pcVar7 = (char *)puVar3[1];\n    if (pcVar7 == (char *)0x0) goto LAB_0003c073;\nLAB_0003c08d:\n    if (*pcVar7 == '\0') {\n      pcVar7 = "(unnamed)";\n    }\n  }\n  else {\n    if (DAT_00077d90 == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003c086;\n    }\n    pcVar7 = *(char **)(param_2 + 8);\n    if (pcVar7 != (char *)0x0) goto LAB_0003c08d;\nLAB_0003c073:\n    pcVar7 = "(unnamed)";\n  }\n  fwrite(&DAT_00053e44,1,4,param_1);\n  fprintf(param_1,"%016llx",param_2,0);\n  fprintf(param_1," %s",pcVar7);\n  bVar1 = *param_2;\n  pbVar6 = param_2;\n  if (((bVar1 & 1) == 0) ||\n     (pbVar6 = *(byte **)(param_2 + 0xc), *(undefined4 **)(param_2 + 4) == DAT_00077d90)) {\n    if (*(undefined **)(pbVar6 + 0x24) != &DAT_00077d20) {\n      fwrite(" frag ",1,6,param_1);\n      fprintf(param_1,"%016llx",*(undefined4 *)(pbVar6 + 0x24),0);\n    }\n    bVar1 = *pbVar6;\n    if ((bVar1 & 2) != 0) {\n      fwrite(" written",1,8,param_1);\n      bVar1 = *pbVar6;\n    }\n    if ((bVar1 & 4) == 0) {\n      if ((bVar1 & 8) != 0) {\n        fwrite(" resolving",1,10,param_1);\n        bVar1 = *pbVar6;\n      }\n    }\n    else {\n      fwrite(" resolved",1,9,param_1);\n      bVar1 = *pbVar6;\n    }\n    if ((bVar1 & 0x10) == 0) {\n      if ((bVar1 & 0x20) == 0) goto LAB_0003c1c5;\nLAB_0003c35f:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_00038380(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c387;\nLAB_0003c1d9:\n      iVar2 = FUN_000380a0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c1ed;\nLAB_0003c3af:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00038110(pbVar6);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003c35f;\nLAB_0003c1c5:\n      iVar2 = FUN_00038380(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c1d9;\nLAB_0003c387:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_000380a0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c3af;\nLAB_0003c1ed:\n      iVar2 = FUN_00038110(pbVar6);\n    }\n    if (iVar2 != 0) {\n      fwrite(" weak",1,5,param_1);\n    }\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if ((*pbVar6 & 1) == 0) {\n      if ((*(byte *)(puVar3 + 4) & 4) != 0) {\nLAB_0003c5a0:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00077d90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003c60c;\n          }\n          goto LAB_0003c2e0;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_0006efb4 + 0xc0) goto LAB_0003c2f4;\n      goto LAB_0003c22c;\n    }\n    if (DAT_00077d90 == puVar3) {\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003c5a0;\nLAB_0003c60c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0006efb4 + 0xc0)\n      goto LAB_0003c13e;\nLAB_0003c2f4:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003c13e;\n    }\nLAB_0003c2e0:\n    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) goto LAB_0003c2f4;\nLAB_0003c152:\n    if (DAT_00077d90 == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003c430:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c236;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 != puVar3) goto LAB_0003c248;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c468;\nLAB_0003c572:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c242;\n    }\n  }\n  else {\n    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_0006ef70)) {\n      fwrite(" frag ",1,6,param_1);\n      fprintf(param_1,"%016llx",*(undefined4 *)(param_2 + 0xc),0);\n      bVar1 = *param_2;\n    }\n    if ((bVar1 & 4) != 0) {\n      fwrite(" resolved",1,9,param_1);\n    }\n    fwrite(" local",1,6,param_1);\n    pbVar6 = param_2;\nLAB_0003c13e:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003c152;\n    }\nLAB_0003c22c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003c430;\nLAB_0003c236:\n    pbVar5 = pbVar6;\n    if ((pbVar6[1] & 4) != 0) {\nLAB_0003c468:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 == puVar3) goto LAB_0003c572;\n        goto LAB_0003c248;\n      }\n    }\nLAB_0003c242:\n    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\n  }\nLAB_0003c248:\n  fprintf(param_1," %s",*puVar3);\n  bVar1 = *pbVar6;\n  if ((bVar1 & 1) == 0) {\n    pbVar5 = pbVar6;\n    if ((bVar1 & 4) != 0) {\nLAB_0003c316:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003c283:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) &&\n         (DAT_00077ce0 != puVar3)) {\n        uVar4 = FUN_00039db0();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003c2b7;\n    }\n    if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n    iVar2 = *(int *)(pbVar6 + 4);\nLAB_0003c338:\n    puVar3 = *(undefined4 **)(iVar2 + 0x14);\n  }\n  else {\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if (puVar3 == DAT_00077d90) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003c316;\n      if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003c338;\n    }\n    if ((bVar1 & 4) != 0) goto LAB_0003c283;\n    if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n  }\n  if (puVar3 == (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) goto LAB_0003c2b7;\n  DAT_00077fcc = DAT_00077fcc + 1;\n  puVar8 = &DAT_00050b45;\n  fprintf(param_1,"\n%*s<",DAT_00077fcc * 4,&DAT_00050b45);\n  if ((*pbVar6 & 1) == 0) {\nLAB_0003c633:\n    FUN_0003bba0(param_1,pbVar6 + 8);\n  }\n  else {\n    if (*(undefined4 **)(pbVar6 + 4) == DAT_00077d90) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c633;\n    }\n    fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);\n  }\n  fputc(0x3e,param_1);\n  DAT_00077fcc = DAT_00077fcc + -1;\nLAB_0003c2b7:\n  fflush(param_1);\n  return;\n}" ({ "{") (declaration "byte bVar1;" (type_identifier "byte") (identifier "bVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "undefined4 *puVar3;" (type_identifier "undefined4") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "undefined4 uVar4;" (type_identifier "undefined4") (identifier "uVar4") (; ";")) (declaration "byte *pbVar5;" (type_identifier "byte") (pointer_declarator "*pbVar5" (* "*") (identifier "pbVar5")) (; ";")) (declaration "byte *pbVar6;" (type_identifier "byte") (pointer_declarator "*pbVar6" (* "*") (identifier "pbVar6")) (; ";")) (declaration "char *pcVar7;" (primitive_type "char") (pointer_declarator "*pcVar7" (* "*") (identifier "pcVar7")) (; ";")) (declaration "undefined *puVar8;" (type_identifier "undefined") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (expression_statement "puVar3 = *(undefined4 **)(param_2 + 4);" (assignment_expression "puVar3 = *(undefined4 **)(param_2 + 4)" (identifier "puVar3") (= "=") (pointer_expression "*(undefined4 **)(param_2 + 4)" (* "*") (cast_expression "(undefined4 **)(param_2 + 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2 + 4)" (( "(") (binary_expression "param_2 + 4" (identifier "param_2") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (if_statement "if ((*param_2 & 1) == 0) {\nLAB_0003c086:\n    pcVar7 = (char *)puVar3[1];\n    if (pcVar7 == (char *)0x0) goto LAB_0003c073;\nLAB_0003c08d:\n    if (*pcVar7 == '\0') {\n      pcVar7 = "(unnamed)";\n    }\n  }\n  else {\n    if (DAT_00077d90 == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003c086;\n    }\n    pcVar7 = *(char **)(param_2 + 8);\n    if (pcVar7 != (char *)0x0) goto LAB_0003c08d;\nLAB_0003c073:\n    pcVar7 = "(unnamed)";\n  }" (if "if") (parenthesized_expression "((*param_2 & 1) == 0)" (( "(") (binary_expression "(*param_2 & 1) == 0" (parenthesized_expression "(*param_2 & 1)" (( "(") (binary_expression "*param_2 & 1" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0003c086:\n    pcVar7 = (char *)puVar3[1];\n    if (pcVar7 == (char *)0x0) goto LAB_0003c073;\nLAB_0003c08d:\n    if (*pcVar7 == '\0') {\n      pcVar7 = "(unnamed)";\n    }\n  }" ({ "{") (labeled_statement "LAB_0003c086:\n    pcVar7 = (char *)puVar3[1];" (statement_identifier "LAB_0003c086") (: ":") (expression_statement "pcVar7 = (char *)puVar3[1];" (assignment_expression "pcVar7 = (char *)puVar3[1]" (identifier "pcVar7") (= "=") (cast_expression "(char *)puVar3[1]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")))) (; ";"))) (if_statement "if (pcVar7 == (char *)0x0) goto LAB_0003c073;" (if "if") (parenthesized_expression "(pcVar7 == (char *)0x0)" (( "(") (binary_expression "pcVar7 == (char *)0x0" (identifier "pcVar7") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0003c073;" (goto "goto") (statement_identifier "LAB_0003c073") (; ";"))) (labeled_statement "LAB_0003c08d:\n    if (*pcVar7 == '\0') {\n      pcVar7 = "(unnamed)";\n    }" (statement_identifier "LAB_0003c08d") (: ":") (if_statement "if (*pcVar7 == '\0') {\n      pcVar7 = "(unnamed)";\n    }" (if "if") (parenthesized_expression "(*pcVar7 == '\0')" (( "(") (binary_expression "*pcVar7 == '\0'" (pointer_expression "*pcVar7" (* "*") (identifier "pcVar7")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      pcVar7 = "(unnamed)";\n    }" ({ "{") (expression_statement "pcVar7 = "(unnamed)";" (assignment_expression "pcVar7 = "(unnamed)"" (identifier "pcVar7") (= "=") (string_literal ""(unnamed)"" (" """) (string_content "(unnamed)") (" """))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n    if (DAT_00077d90 == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003c086;\n    }\n    pcVar7 = *(char **)(param_2 + 8);\n    if (pcVar7 != (char *)0x0) goto LAB_0003c08d;\nLAB_0003c073:\n    pcVar7 = "(unnamed)";\n  }" (else "else") (compound_statement "{\n    if (DAT_00077d90 == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003c086;\n    }\n    pcVar7 = *(char **)(param_2 + 8);\n    if (pcVar7 != (char *)0x0) goto LAB_0003c08d;\nLAB_0003c073:\n    pcVar7 = "(unnamed)";\n  }" ({ "{") (if_statement "if (DAT_00077d90 == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003c086;\n    }" (if "if") (parenthesized_expression "(DAT_00077d90 == puVar3)" (( "(") (binary_expression "DAT_00077d90 == puVar3" (identifier "DAT_00077d90") (== "==") (identifier "puVar3")) () ")")) (compound_statement "{\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003c086;\n    }" ({ "{") (expression_statement "puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);" (assignment_expression "puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4)" (identifier "puVar3") (= "=") (pointer_expression "*(undefined4 **)(*(int *)(param_2 + 0xc) + 4)" (* "*") (cast_expression "(undefined4 **)(*(int *)(param_2 + 0xc) + 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(param_2 + 0xc) + 4)" (( "(") (binary_expression "*(int *)(param_2 + 0xc) + 4" (pointer_expression "*(int *)(param_2 + 0xc)" (* "*") (cast_expression "(int *)(param_2 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0xc)" (( "(") (binary_expression "param_2 + 0xc" (identifier "param_2") (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (goto_statement "goto LAB_0003c086;" (goto "goto") (statement_identifier "LAB_0003c086") (; ";")) (} "}"))) (expression_statement "pcVar7 = *(char **)(param_2 + 8);" (assignment_expression "pcVar7 = *(char **)(param_2 + 8)" (identifier "pcVar7") (= "=") (pointer_expression "*(char **)(param_2 + 8)" (* "*") (cast_expression "(char **)(param_2 + 8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2 + 8)" (( "(") (binary_expression "param_2 + 8" (identifier "param_2") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (pcVar7 != (char *)0x0) goto LAB_0003c08d;" (if "if") (parenthesized_expression "(pcVar7 != (char *)0x0)" (( "(") (binary_expression "pcVar7 != (char *)0x0" (identifier "pcVar7") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0003c08d;" (goto "goto") (statement_identifier "LAB_0003c08d") (; ";"))) (labeled_statement "LAB_0003c073:\n    pcVar7 = "(unnamed)";" (statement_identifier "LAB_0003c073") (: ":") (expression_statement "pcVar7 = "(unnamed)";" (assignment_expression "pcVar7 = "(unnamed)"" (identifier "pcVar7") (= "=") (string_literal ""(unnamed)"" (" """) (string_content "(unnamed)") (" """))) (; ";"))) (} "}")))) (expression_statement "fwrite(&DAT_00053e44,1,4,param_1);" (call_expression "fwrite(&DAT_00053e44,1,4,param_1)" (identifier "fwrite") (argument_list "(&DAT_00053e44,1,4,param_1)" (( "(") (pointer_expression "&DAT_00053e44" (& "&") (identifier "DAT_00053e44")) (, ",") (number_literal "1") (, ",") (number_literal "4") (, ",") (identifier "param_1") () ")"))) (; ";")) (expression_statement "fprintf(param_1,"%016llx",param_2,0);" (call_expression "fprintf(param_1,"%016llx",param_2,0)" (identifier "fprintf") (argument_list "(param_1,"%016llx",param_2,0)" (( "(") (identifier "param_1") (, ",") (string_literal ""%016llx"" (" """) (string_content "%016llx") (" """)) (, ",") (identifier "param_2") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "fprintf(param_1," %s",pcVar7);" (call_expression "fprintf(param_1," %s",pcVar7)" (identifier "fprintf") (argument_list "(param_1," %s",pcVar7)" (( "(") (identifier "param_1") (, ",") (string_literal "" %s"" (" """) (string_content " %s") (" """)) (, ",") (identifier "pcVar7") () ")"))) (; ";")) (expression_statement "bVar1 = *param_2;" (assignment_expression "bVar1 = *param_2" (identifier "bVar1") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (expression_statement "pbVar6 = param_2;" (assignment_expression "pbVar6 = param_2" (identifier "pbVar6") (= "=") (identifier "param_2")) (; ";")) (if_statement "if (((bVar1 & 1) == 0) ||\n     (pbVar6 = *(byte **)(param_2 + 0xc), *(undefined4 **)(param_2 + 4) == DAT_00077d90)) {\n    if (*(undefined **)(pbVar6 + 0x24) != &DAT_00077d20) {\n      fwrite(" frag ",1,6,param_1);\n      fprintf(param_1,"%016llx",*(undefined4 *)(pbVar6 + 0x24),0);\n    }\n    bVar1 = *pbVar6;\n    if ((bVar1 & 2) != 0) {\n      fwrite(" written",1,8,param_1);\n      bVar1 = *pbVar6;\n    }\n    if ((bVar1 & 4) == 0) {\n      if ((bVar1 & 8) != 0) {\n        fwrite(" resolving",1,10,param_1);\n        bVar1 = *pbVar6;\n      }\n    }\n    else {\n      fwrite(" resolved",1,9,param_1);\n      bVar1 = *pbVar6;\n    }\n    if ((bVar1 & 0x10) == 0) {\n      if ((bVar1 & 0x20) == 0) goto LAB_0003c1c5;\nLAB_0003c35f:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_00038380(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c387;\nLAB_0003c1d9:\n      iVar2 = FUN_000380a0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c1ed;\nLAB_0003c3af:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00038110(pbVar6);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003c35f;\nLAB_0003c1c5:\n      iVar2 = FUN_00038380(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c1d9;\nLAB_0003c387:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_000380a0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c3af;\nLAB_0003c1ed:\n      iVar2 = FUN_00038110(pbVar6);\n    }\n    if (iVar2 != 0) {\n      fwrite(" weak",1,5,param_1);\n    }\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if ((*pbVar6 & 1) == 0) {\n      if ((*(byte *)(puVar3 + 4) & 4) != 0) {\nLAB_0003c5a0:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00077d90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003c60c;\n          }\n          goto LAB_0003c2e0;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_0006efb4 + 0xc0) goto LAB_0003c2f4;\n      goto LAB_0003c22c;\n    }\n    if (DAT_00077d90 == puVar3) {\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003c5a0;\nLAB_0003c60c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0006efb4 + 0xc0)\n      goto LAB_0003c13e;\nLAB_0003c2f4:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003c13e;\n    }\nLAB_0003c2e0:\n    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) goto LAB_0003c2f4;\nLAB_0003c152:\n    if (DAT_00077d90 == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003c430:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c236;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 != puVar3) goto LAB_0003c248;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c468;\nLAB_0003c572:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c242;\n    }\n  }\n  else {\n    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_0006ef70)) {\n      fwrite(" frag ",1,6,param_1);\n      fprintf(param_1,"%016llx",*(undefined4 *)(param_2 + 0xc),0);\n      bVar1 = *param_2;\n    }\n    if ((bVar1 & 4) != 0) {\n      fwrite(" resolved",1,9,param_1);\n    }\n    fwrite(" local",1,6,param_1);\n    pbVar6 = param_2;\nLAB_0003c13e:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003c152;\n    }\nLAB_0003c22c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003c430;\nLAB_0003c236:\n    pbVar5 = pbVar6;\n    if ((pbVar6[1] & 4) != 0) {\nLAB_0003c468:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 == puVar3) goto LAB_0003c572;\n        goto LAB_0003c248;\n      }\n    }\nLAB_0003c242:\n    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\n  }" (if "if") (parenthesized_expression "(((bVar1 & 1) == 0) ||\n     (pbVar6 = *(byte **)(param_2 + 0xc), *(undefined4 **)(param_2 + 4) == DAT_00077d90))" (( "(") (binary_expression "((bVar1 & 1) == 0) ||\n     (pbVar6 = *(byte **)(param_2 + 0xc), *(undefined4 **)(param_2 + 4) == DAT_00077d90)" (parenthesized_expression "((bVar1 & 1) == 0)" (( "(") (binary_expression "(bVar1 & 1) == 0" (parenthesized_expression "(bVar1 & 1)" (( "(") (binary_expression "bVar1 & 1" (identifier "bVar1") (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(pbVar6 = *(byte **)(param_2 + 0xc), *(undefined4 **)(param_2 + 4) == DAT_00077d90)" (( "(") (comma_expression "pbVar6 = *(byte **)(param_2 + 0xc), *(undefined4 **)(param_2 + 4) == DAT_00077d90" (assignment_expression "pbVar6 = *(byte **)(param_2 + 0xc)" (identifier "pbVar6") (= "=") (pointer_expression "*(byte **)(param_2 + 0xc)" (* "*") (cast_expression "(byte **)(param_2 + 0xc)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2 + 0xc)" (( "(") (binary_expression "param_2 + 0xc" (identifier "param_2") (+ "+") (number_literal "0xc")) () ")"))))) (, ",") (binary_expression "*(undefined4 **)(param_2 + 4) == DAT_00077d90" (pointer_expression "*(undefined4 **)(param_2 + 4)" (* "*") (cast_expression "(undefined4 **)(param_2 + 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2 + 4)" (( "(") (binary_expression "param_2 + 4" (identifier "param_2") (+ "+") (number_literal "4")) () ")")))) (== "==") (identifier "DAT_00077d90"))) () ")"))) () ")")) (compound_statement "{\n    if (*(undefined **)(pbVar6 + 0x24) != &DAT_00077d20) {\n      fwrite(" frag ",1,6,param_1);\n      fprintf(param_1,"%016llx",*(undefined4 *)(pbVar6 + 0x24),0);\n    }\n    bVar1 = *pbVar6;\n    if ((bVar1 & 2) != 0) {\n      fwrite(" written",1,8,param_1);\n      bVar1 = *pbVar6;\n    }\n    if ((bVar1 & 4) == 0) {\n      if ((bVar1 & 8) != 0) {\n        fwrite(" resolving",1,10,param_1);\n        bVar1 = *pbVar6;\n      }\n    }\n    else {\n      fwrite(" resolved",1,9,param_1);\n      bVar1 = *pbVar6;\n    }\n    if ((bVar1 & 0x10) == 0) {\n      if ((bVar1 & 0x20) == 0) goto LAB_0003c1c5;\nLAB_0003c35f:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_00038380(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c387;\nLAB_0003c1d9:\n      iVar2 = FUN_000380a0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c1ed;\nLAB_0003c3af:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00038110(pbVar6);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003c35f;\nLAB_0003c1c5:\n      iVar2 = FUN_00038380(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c1d9;\nLAB_0003c387:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_000380a0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c3af;\nLAB_0003c1ed:\n      iVar2 = FUN_00038110(pbVar6);\n    }\n    if (iVar2 != 0) {\n      fwrite(" weak",1,5,param_1);\n    }\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if ((*pbVar6 & 1) == 0) {\n      if ((*(byte *)(puVar3 + 4) & 4) != 0) {\nLAB_0003c5a0:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00077d90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003c60c;\n          }\n          goto LAB_0003c2e0;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_0006efb4 + 0xc0) goto LAB_0003c2f4;\n      goto LAB_0003c22c;\n    }\n    if (DAT_00077d90 == puVar3) {\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003c5a0;\nLAB_0003c60c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0006efb4 + 0xc0)\n      goto LAB_0003c13e;\nLAB_0003c2f4:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003c13e;\n    }\nLAB_0003c2e0:\n    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) goto LAB_0003c2f4;\nLAB_0003c152:\n    if (DAT_00077d90 == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003c430:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c236;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 != puVar3) goto LAB_0003c248;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c468;\nLAB_0003c572:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c242;\n    }\n  }" ({ "{") (if_statement "if (*(undefined **)(pbVar6 + 0x24) != &DAT_00077d20) {\n      fwrite(" frag ",1,6,param_1);\n      fprintf(param_1,"%016llx",*(undefined4 *)(pbVar6 + 0x24),0);\n    }" (if "if") (parenthesized_expression "(*(undefined **)(pbVar6 + 0x24) != &DAT_00077d20)" (( "(") (binary_expression "*(undefined **)(pbVar6 + 0x24) != &DAT_00077d20" (pointer_expression "*(undefined **)(pbVar6 + 0x24)" (* "*") (cast_expression "(undefined **)(pbVar6 + 0x24)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pbVar6 + 0x24)" (( "(") (binary_expression "pbVar6 + 0x24" (identifier "pbVar6") (+ "+") (number_literal "0x24")) () ")")))) (!= "!=") (pointer_expression "&DAT_00077d20" (& "&") (identifier "DAT_00077d20"))) () ")")) (compound_statement "{\n      fwrite(" frag ",1,6,param_1);\n      fprintf(param_1,"%016llx",*(undefined4 *)(pbVar6 + 0x24),0);\n    }" ({ "{") (expression_statement "fwrite(" frag ",1,6,param_1);" (call_expression "fwrite(" frag ",1,6,param_1)" (identifier "fwrite") (argument_list "(" frag ",1,6,param_1)" (( "(") (string_literal "" frag "" (" """) (string_content " frag ") (" """)) (, ",") (number_literal "1") (, ",") (number_literal "6") (, ",") (identifier "param_1") () ")"))) (; ";")) (expression_statement "fprintf(param_1,"%016llx",*(undefined4 *)(pbVar6 + 0x24),0);" (call_expression "fprintf(param_1,"%016llx",*(undefined4 *)(pbVar6 + 0x24),0)" (identifier "fprintf") (argument_list "(param_1,"%016llx",*(undefined4 *)(pbVar6 + 0x24),0)" (( "(") (identifier "param_1") (, ",") (string_literal ""%016llx"" (" """) (string_content "%016llx") (" """)) (, ",") (pointer_expression "*(undefined4 *)(pbVar6 + 0x24)" (* "*") (cast_expression "(undefined4 *)(pbVar6 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pbVar6 + 0x24)" (( "(") (binary_expression "pbVar6 + 0x24" (identifier "pbVar6") (+ "+") (number_literal "0x24")) () ")")))) (, ",") (number_literal "0") () ")"))) (; ";")) (} "}"))) (expression_statement "bVar1 = *pbVar6;" (assignment_expression "bVar1 = *pbVar6" (identifier "bVar1") (= "=") (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6"))) (; ";")) (if_statement "if ((bVar1 & 2) != 0) {\n      fwrite(" written",1,8,param_1);\n      bVar1 = *pbVar6;\n    }" (if "if") (parenthesized_expression "((bVar1 & 2) != 0)" (( "(") (binary_expression "(bVar1 & 2) != 0" (parenthesized_expression "(bVar1 & 2)" (( "(") (binary_expression "bVar1 & 2" (identifier "bVar1") (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      fwrite(" written",1,8,param_1);\n      bVar1 = *pbVar6;\n    }" ({ "{") (expression_statement "fwrite(" written",1,8,param_1);" (call_expression "fwrite(" written",1,8,param_1)" (identifier "fwrite") (argument_list "(" written",1,8,param_1)" (( "(") (string_literal "" written"" (" """) (string_content " written") (" """)) (, ",") (number_literal "1") (, ",") (number_literal "8") (, ",") (identifier "param_1") () ")"))) (; ";")) (expression_statement "bVar1 = *pbVar6;" (assignment_expression "bVar1 = *pbVar6" (identifier "bVar1") (= "=") (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6"))) (; ";")) (} "}"))) (if_statement "if ((bVar1 & 4) == 0) {\n      if ((bVar1 & 8) != 0) {\n        fwrite(" resolving",1,10,param_1);\n        bVar1 = *pbVar6;\n      }\n    }\n    else {\n      fwrite(" resolved",1,9,param_1);\n      bVar1 = *pbVar6;\n    }" (if "if") (parenthesized_expression "((bVar1 & 4) == 0)" (( "(") (binary_expression "(bVar1 & 4) == 0" (parenthesized_expression "(bVar1 & 4)" (( "(") (binary_expression "bVar1 & 4" (identifier "bVar1") (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if ((bVar1 & 8) != 0) {\n        fwrite(" resolving",1,10,param_1);\n        bVar1 = *pbVar6;\n      }\n    }" ({ "{") (if_statement "if ((bVar1 & 8) != 0) {\n        fwrite(" resolving",1,10,param_1);\n        bVar1 = *pbVar6;\n      }" (if "if") (parenthesized_expression "((bVar1 & 8) != 0)" (( "(") (binary_expression "(bVar1 & 8) != 0" (parenthesized_expression "(bVar1 & 8)" (( "(") (binary_expression "bVar1 & 8" (identifier "bVar1") (& "&") (number_literal "8")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        fwrite(" resolving",1,10,param_1);\n        bVar1 = *pbVar6;\n      }" ({ "{") (expression_statement "fwrite(" resolving",1,10,param_1);" (call_expression "fwrite(" resolving",1,10,param_1)" (identifier "fwrite") (argument_list "(" resolving",1,10,param_1)" (( "(") (string_literal "" resolving"" (" """) (string_content " resolving") (" """)) (, ",") (number_literal "1") (, ",") (number_literal "10") (, ",") (identifier "param_1") () ")"))) (; ";")) (expression_statement "bVar1 = *pbVar6;" (assignment_expression "bVar1 = *pbVar6" (identifier "bVar1") (= "=") (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      fwrite(" resolved",1,9,param_1);\n      bVar1 = *pbVar6;\n    }" (else "else") (compound_statement "{\n      fwrite(" resolved",1,9,param_1);\n      bVar1 = *pbVar6;\n    }" ({ "{") (expression_statement "fwrite(" resolved",1,9,param_1);" (call_expression "fwrite(" resolved",1,9,param_1)" (identifier "fwrite") (argument_list "(" resolved",1,9,param_1)" (( "(") (string_literal "" resolved"" (" """) (string_content " resolved") (" """)) (, ",") (number_literal "1") (, ",") (number_literal "9") (, ",") (identifier "param_1") () ")"))) (; ";")) (expression_statement "bVar1 = *pbVar6;" (assignment_expression "bVar1 = *pbVar6" (identifier "bVar1") (= "=") (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6"))) (; ";")) (} "}")))) (if_statement "if ((bVar1 & 0x10) == 0) {\n      if ((bVar1 & 0x20) == 0) goto LAB_0003c1c5;\nLAB_0003c35f:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_00038380(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c387;\nLAB_0003c1d9:\n      iVar2 = FUN_000380a0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c1ed;\nLAB_0003c3af:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00038110(pbVar6);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003c35f;\nLAB_0003c1c5:\n      iVar2 = FUN_00038380(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c1d9;\nLAB_0003c387:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_000380a0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c3af;\nLAB_0003c1ed:\n      iVar2 = FUN_00038110(pbVar6);\n    }" (if "if") (parenthesized_expression "((bVar1 & 0x10) == 0)" (( "(") (binary_expression "(bVar1 & 0x10) == 0" (parenthesized_expression "(bVar1 & 0x10)" (( "(") (binary_expression "bVar1 & 0x10" (identifier "bVar1") (& "&") (number_literal "0x10")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if ((bVar1 & 0x20) == 0) goto LAB_0003c1c5;\nLAB_0003c35f:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_00038380(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c387;\nLAB_0003c1d9:\n      iVar2 = FUN_000380a0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c1ed;\nLAB_0003c3af:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00038110(pbVar6);\n    }" ({ "{") (if_statement "if ((bVar1 & 0x20) == 0) goto LAB_0003c1c5;" (if "if") (parenthesized_expression "((bVar1 & 0x20) == 0)" (( "(") (binary_expression "(bVar1 & 0x20) == 0" (parenthesized_expression "(bVar1 & 0x20)" (( "(") (binary_expression "bVar1 & 0x20" (identifier "bVar1") (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0003c1c5;" (goto "goto") (statement_identifier "LAB_0003c1c5") (; ";"))) (labeled_statement "LAB_0003c35f:\n      fwrite(" used",1,5,param_1);" (statement_identifier "LAB_0003c35f") (: ":") (expression_statement "fwrite(" used",1,5,param_1);" (call_expression "fwrite(" used",1,5,param_1)" (identifier "fwrite") (argument_list "(" used",1,5,param_1)" (( "(") (string_literal "" used"" (" """) (string_content " used") (" """)) (, ",") (number_literal "1") (, ",") (number_literal "5") (, ",") (identifier "param_1") () ")"))) (; ";"))) (expression_statement "iVar2 = FUN_00038380(pbVar6);" (assignment_expression "iVar2 = FUN_00038380(pbVar6)" (identifier "iVar2") (= "=") (call_expression "FUN_00038380(pbVar6)" (identifier "FUN_00038380") (argument_list "(pbVar6)" (( "(") (identifier "pbVar6") () ")")))) (; ";")) (if_statement "if (iVar2 != 0) goto LAB_0003c387;" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0003c387;" (goto "goto") (statement_identifier "LAB_0003c387") (; ";"))) (labeled_statement "LAB_0003c1d9:\n      iVar2 = FUN_000380a0(pbVar6);" (statement_identifier "LAB_0003c1d9") (: ":") (expression_statement "iVar2 = FUN_000380a0(pbVar6);" (assignment_expression "iVar2 = FUN_000380a0(pbVar6)" (identifier "iVar2") (= "=") (call_expression "FUN_000380a0(pbVar6)" (identifier "FUN_000380a0") (argument_list "(pbVar6)" (( "(") (identifier "pbVar6") () ")")))) (; ";"))) (if_statement "if (iVar2 == 0) goto LAB_0003c1ed;" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0003c1ed;" (goto "goto") (statement_identifier "LAB_0003c1ed") (; ";"))) (labeled_statement "LAB_0003c3af:\n      fwrite(" extern",1,7,param_1);" (statement_identifier "LAB_0003c3af") (: ":") (expression_statement "fwrite(" extern",1,7,param_1);" (call_expression "fwrite(" extern",1,7,param_1)" (identifier "fwrite") (argument_list "(" extern",1,7,param_1)" (( "(") (string_literal "" extern"" (" """) (string_content " extern") (" """)) (, ",") (number_literal "1") (, ",") (number_literal "7") (, ",") (identifier "param_1") () ")"))) (; ";"))) (expression_statement "iVar2 = FUN_00038110(pbVar6);" (assignment_expression "iVar2 = FUN_00038110(pbVar6)" (identifier "iVar2") (= "=") (call_expression "FUN_00038110(pbVar6)" (identifier "FUN_00038110") (argument_list "(pbVar6)" (( "(") (identifier "pbVar6") () ")")))) (; ";")) (} "}")) (else_clause "else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003c35f;\nLAB_0003c1c5:\n      iVar2 = FUN_00038380(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c1d9;\nLAB_0003c387:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_000380a0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c3af;\nLAB_0003c1ed:\n      iVar2 = FUN_00038110(pbVar6);\n    }" (else "else") (compound_statement "{\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003c35f;\nLAB_0003c1c5:\n      iVar2 = FUN_00038380(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c1d9;\nLAB_0003c387:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_000380a0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c3af;\nLAB_0003c1ed:\n      iVar2 = FUN_00038110(pbVar6);\n    }" ({ "{") (expression_statement "fwrite(" used-in-reloc",1,0xe,param_1);" (call_expression "fwrite(" used-in-reloc",1,0xe,param_1)" (identifier "fwrite") (argument_list "(" used-in-reloc",1,0xe,param_1)" (( "(") (string_literal "" used-in-reloc"" (" """) (string_content " used-in-reloc") (" """)) (, ",") (number_literal "1") (, ",") (number_literal "0xe") (, ",") (identifier "param_1") () ")"))) (; ";")) (if_statement "if ((*pbVar6 & 0x20) != 0) goto LAB_0003c35f;" (if "if") (parenthesized_expression "((*pbVar6 & 0x20) != 0)" (( "(") (binary_expression "(*pbVar6 & 0x20) != 0" (parenthesized_expression "(*pbVar6 & 0x20)" (( "(") (binary_expression "*pbVar6 & 0x20" (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6")) (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0003c35f;" (goto "goto") (statement_identifier "LAB_0003c35f") (; ";"))) (labeled_statement "LAB_0003c1c5:\n      iVar2 = FUN_00038380(pbVar6);" (statement_identifier "LAB_0003c1c5") (: ":") (expression_statement "iVar2 = FUN_00038380(pbVar6);" (assignment_expression "iVar2 = FUN_00038380(pbVar6)" (identifier "iVar2") (= "=") (call_expression "FUN_00038380(pbVar6)" (identifier "FUN_00038380") (argument_list "(pbVar6)" (( "(") (identifier "pbVar6") () ")")))) (; ";"))) (if_statement "if (iVar2 == 0) goto LAB_0003c1d9;" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0003c1d9;" (goto "goto") (statement_identifier "LAB_0003c1d9") (; ";"))) (labeled_statement "LAB_0003c387:\n      fwrite(" local",1,6,param_1);" (statement_identifier "LAB_0003c387") (: ":") (expression_statement "fwrite(" local",1,6,param_1);" (call_expression "fwrite(" local",1,6,param_1)" (identifier "fwrite") (argument_list "(" local",1,6,param_1)" (( "(") (string_literal "" local"" (" """) (string_content " local") (" """)) (, ",") (number_literal "1") (, ",") (number_literal "6") (, ",") (identifier "param_1") () ")"))) (; ";"))) (expression_statement "iVar2 = FUN_000380a0(pbVar6);" (assignment_expression "iVar2 = FUN_000380a0(pbVar6)" (identifier "iVar2") (= "=") (call_expression "FUN_000380a0(pbVar6)" (identifier "FUN_000380a0") (argument_list "(pbVar6)" (( "(") (identifier "pbVar6") () ")")))) (; ";")) (if_statement "if (iVar2 != 0) goto LAB_0003c3af;" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0003c3af;" (goto "goto") (statement_identifier "LAB_0003c3af") (; ";"))) (labeled_statement "LAB_0003c1ed:\n      iVar2 = FUN_00038110(pbVar6);" (statement_identifier "LAB_0003c1ed") (: ":") (expression_statement "iVar2 = FUN_00038110(pbVar6);" (assignment_expression "iVar2 = FUN_00038110(pbVar6)" (identifier "iVar2") (= "=") (call_expression "FUN_00038110(pbVar6)" (identifier "FUN_00038110") (argument_list "(pbVar6)" (( "(") (identifier "pbVar6") () ")")))) (; ";"))) (} "}")))) (if_statement "if (iVar2 != 0) {\n      fwrite(" weak",1,5,param_1);\n    }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      fwrite(" weak",1,5,param_1);\n    }" ({ "{") (expression_statement "fwrite(" weak",1,5,param_1);" (call_expression "fwrite(" weak",1,5,param_1)" (identifier "fwrite") (argument_list "(" weak",1,5,param_1)" (( "(") (string_literal "" weak"" (" """) (string_content " weak") (" """)) (, ",") (number_literal "1") (, ",") (number_literal "5") (, ",") (identifier "param_1") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar3 = *(undefined4 **)(pbVar6 + 4);" (assignment_expression "puVar3 = *(undefined4 **)(pbVar6 + 4)" (identifier "puVar3") (= "=") (pointer_expression "*(undefined4 **)(pbVar6 + 4)" (* "*") (cast_expression "(undefined4 **)(pbVar6 + 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pbVar6 + 4)" (( "(") (binary_expression "pbVar6 + 4" (identifier "pbVar6") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (if_statement "if ((*pbVar6 & 1) == 0) {\n      if ((*(byte *)(puVar3 + 4) & 4) != 0) {\nLAB_0003c5a0:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00077d90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003c60c;\n          }\n          goto LAB_0003c2e0;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_0006efb4 + 0xc0) goto LAB_0003c2f4;\n      goto LAB_0003c22c;\n    }" (if "if") (parenthesized_expression "((*pbVar6 & 1) == 0)" (( "(") (binary_expression "(*pbVar6 & 1) == 0" (parenthesized_expression "(*pbVar6 & 1)" (( "(") (binary_expression "*pbVar6 & 1" (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6")) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if ((*(byte *)(puVar3 + 4) & 4) != 0) {\nLAB_0003c5a0:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00077d90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003c60c;\n          }\n          goto LAB_0003c2e0;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_0006efb4 + 0xc0) goto LAB_0003c2f4;\n      goto LAB_0003c22c;\n    }" ({ "{") (if_statement "if ((*(byte *)(puVar3 + 4) & 4) != 0) {\nLAB_0003c5a0:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00077d90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003c60c;\n          }\n          goto LAB_0003c2e0;\n        }\n      }" (if "if") (parenthesized_expression "((*(byte *)(puVar3 + 4) & 4) != 0)" (( "(") (binary_expression "(*(byte *)(puVar3 + 4) & 4) != 0" (parenthesized_expression "(*(byte *)(puVar3 + 4) & 4)" (( "(") (binary_expression "*(byte *)(puVar3 + 4) & 4" (pointer_expression "*(byte *)(puVar3 + 4)" (* "*") (cast_expression "(byte *)(puVar3 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 4)" (( "(") (binary_expression "puVar3 + 4" (identifier "puVar3") (+ "+") (number_literal "4")) () ")")))) (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0003c5a0:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00077d90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003c60c;\n          }\n          goto LAB_0003c2e0;\n        }\n      }" ({ "{") (labeled_statement "LAB_0003c5a0:\n        fwrite(" debug",1,6,param_1);" (statement_identifier "LAB_0003c5a0") (: ":") (expression_statement "fwrite(" debug",1,6,param_1);" (call_expression "fwrite(" debug",1,6,param_1)" (identifier "fwrite") (argument_list "(" debug",1,6,param_1)" (( "(") (string_literal "" debug"" (" """) (string_content " debug") (" """)) (, ",") (number_literal "1") (, ",") (number_literal "6") (, ",") (identifier "param_1") () ")"))) (; ";"))) (expression_statement "puVar3 = *(undefined4 **)(pbVar6 + 4);" (assignment_expression "puVar3 = *(undefined4 **)(pbVar6 + 4)" (identifier "puVar3") (= "=") (pointer_expression "*(undefined4 **)(pbVar6 + 4)" (* "*") (cast_expression "(undefined4 **)(pbVar6 + 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pbVar6 + 4)" (( "(") (binary_expression "pbVar6 + 4" (identifier "pbVar6") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (if_statement "if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00077d90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003c60c;\n          }\n          goto LAB_0003c2e0;\n        }" (if "if") (parenthesized_expression "((*pbVar6 & 1) != 0)" (( "(") (binary_expression "(*pbVar6 & 1) != 0" (parenthesized_expression "(*pbVar6 & 1)" (( "(") (binary_expression "*pbVar6 & 1" (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6")) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          if (puVar3 == DAT_00077d90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003c60c;\n          }\n          goto LAB_0003c2e0;\n        }" ({ "{") (if_statement "if (puVar3 == DAT_00077d90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003c60c;\n          }" (if "if") (parenthesized_expression "(puVar3 == DAT_00077d90)" (( "(") (binary_expression "puVar3 == DAT_00077d90" (identifier "puVar3") (== "==") (identifier "DAT_00077d90")) () ")")) (compound_statement "{\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003c60c;\n          }" ({ "{") (expression_statement "iVar2 = *(int *)(pbVar6 + 0xc);" (assignment_expression "iVar2 = *(int *)(pbVar6 + 0xc)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(pbVar6 + 0xc)" (* "*") (cast_expression "(int *)(pbVar6 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pbVar6 + 0xc)" (( "(") (binary_expression "pbVar6 + 0xc" (identifier "pbVar6") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (goto_statement "goto LAB_0003c60c;" (goto "goto") (statement_identifier "LAB_0003c60c") (; ";")) (} "}"))) (goto_statement "goto LAB_0003c2e0;" (goto "goto") (statement_identifier "LAB_0003c2e0") (; ";")) (} "}"))) (} "}"))) (if_statement "if ((undefined *)puVar3[5] != PTR__bfd_std_section_0006efb4 + 0xc0) goto LAB_0003c2f4;" (if "if") (parenthesized_expression "((undefined *)puVar3[5] != PTR__bfd_std_section_0006efb4 + 0xc0)" (( "(") (binary_expression "(undefined *)puVar3[5] != PTR__bfd_std_section_0006efb4 + 0xc0" (cast_expression "(undefined *)puVar3[5]" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar3[5]" (identifier "puVar3") ([ "[") (number_literal "5") (] "]"))) (!= "!=") (binary_expression "PTR__bfd_std_section_0006efb4 + 0xc0" (identifier "PTR__bfd_std_section_0006efb4") (+ "+") (number_literal "0xc0"))) () ")")) (goto_statement "goto LAB_0003c2f4;" (goto "goto") (statement_identifier "LAB_0003c2f4") (; ";"))) (goto_statement "goto LAB_0003c22c;" (goto "goto") (statement_identifier "LAB_0003c22c") (; ";")) (} "}"))) (if_statement "if (DAT_00077d90 == puVar3) {\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003c5a0;\nLAB_0003c60c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0006efb4 + 0xc0)\n      goto LAB_0003c13e;\nLAB_0003c2f4:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003c13e;\n    }" (if "if") (parenthesized_expression "(DAT_00077d90 == puVar3)" (( "(") (binary_expression "DAT_00077d90 == puVar3" (identifier "DAT_00077d90") (== "==") (identifier "puVar3")) () ")")) (compound_statement "{\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003c5a0;\nLAB_0003c60c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0006efb4 + 0xc0)\n      goto LAB_0003c13e;\nLAB_0003c2f4:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003c13e;\n    }" ({ "{") (expression_statement "iVar2 = *(int *)(pbVar6 + 0xc);" (assignment_expression "iVar2 = *(int *)(pbVar6 + 0xc)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(pbVar6 + 0xc)" (* "*") (cast_expression "(int *)(pbVar6 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pbVar6 + 0xc)" (( "(") (binary_expression "pbVar6 + 0xc" (identifier "pbVar6") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003c5a0;" (if "if") (parenthesized_expression "((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0)" (( "(") (binary_expression "(*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0" (parenthesized_expression "(*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4)" (( "(") (binary_expression "*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4" (pointer_expression "*(byte *)(*(int *)(iVar2 + 4) + 0x10)" (* "*") (cast_expression "(byte *)(*(int *)(iVar2 + 4) + 0x10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar2 + 4) + 0x10)" (( "(") (binary_expression "*(int *)(iVar2 + 4) + 0x10" (pointer_expression "*(int *)(iVar2 + 4)" (* "*") (cast_expression "(int *)(iVar2 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 4)" (( "(") (binary_expression "iVar2 + 4" (identifier "iVar2") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "0x10")) () ")")))) (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0003c5a0;" (goto "goto") (statement_identifier "LAB_0003c5a0") (; ";"))) (labeled_statement "LAB_0003c60c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0006efb4 + 0xc0)\n      goto LAB_0003c13e;" (statement_identifier "LAB_0003c60c") (: ":") (if_statement "if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0006efb4 + 0xc0)\n      goto LAB_0003c13e;" (if "if") (parenthesized_expression "(*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0006efb4 + 0xc0)" (( "(") (binary_expression "*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0006efb4 + 0xc0" (pointer_expression "*(undefined **)(*(int *)(iVar2 + 4) + 0x14)" (* "*") (cast_expression "(undefined **)(*(int *)(iVar2 + 4) + 0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(iVar2 + 4) + 0x14)" (( "(") (binary_expression "*(int *)(iVar2 + 4) + 0x14" (pointer_expression "*(int *)(iVar2 + 4)" (* "*") (cast_expression "(int *)(iVar2 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 4)" (( "(") (binary_expression "iVar2 + 4" (identifier "iVar2") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "0x14")) () ")")))) (== "==") (binary_expression "PTR__bfd_std_section_0006efb4 + 0xc0" (identifier "PTR__bfd_std_section_0006efb4") (+ "+") (number_literal "0xc0"))) () ")")) (goto_statement "goto LAB_0003c13e;" (goto "goto") (statement_identifier "LAB_0003c13e") (; ";")))) (labeled_statement "LAB_0003c2f4:\n      fwrite(" defined",1,8,param_1);" (statement_identifier "LAB_0003c2f4") (: ":") (expression_statement "fwrite(" defined",1,8,param_1);" (call_expression "fwrite(" defined",1,8,param_1)" (identifier "fwrite") (argument_list "(" defined",1,8,param_1)" (( "(") (string_literal "" defined"" (" """) (string_content " defined") (" """)) (, ",") (number_literal "1") (, ",") (number_literal "8") (, ",") (identifier "param_1") () ")"))) (; ";"))) (goto_statement "goto LAB_0003c13e;" (goto "goto") (statement_identifier "LAB_0003c13e") (; ";")) (} "}"))) (labeled_statement "LAB_0003c2e0:\n    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) goto LAB_0003c2f4;" (statement_identifier "LAB_0003c2e0") (: ":") (if_statement "if (puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) goto LAB_0003c2f4;" (if "if") (parenthesized_expression "(puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0))" (( "(") (binary_expression "puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)" (identifier "puVar3") (!= "!=") (cast_expression "(undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR__bfd_std_section_0006efb4 + 0xc0)" (( "(") (binary_expression "PTR__bfd_std_section_0006efb4 + 0xc0" (identifier "PTR__bfd_std_section_0006efb4") (+ "+") (number_literal "0xc0")) () ")")))) () ")")) (goto_statement "goto LAB_0003c2f4;" (goto "goto") (statement_identifier "LAB_0003c2f4") (; ";")))) (labeled_statement "LAB_0003c152:\n    if (DAT_00077d90 == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003c430:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c236;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 != puVar3) goto LAB_0003c248;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c468;\nLAB_0003c572:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c242;\n    }" (statement_identifier "LAB_0003c152") (: ":") (if_statement "if (DAT_00077d90 == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003c430:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c236;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 != puVar3) goto LAB_0003c248;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c468;\nLAB_0003c572:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c242;\n    }" (if "if") (parenthesized_expression "(DAT_00077d90 == puVar3)" (( "(") (binary_expression "DAT_00077d90 == puVar3" (identifier "DAT_00077d90") (== "==") (identifier "puVar3")) () ")")) (compound_statement "{\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003c430:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c236;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 != puVar3) goto LAB_0003c248;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c468;\nLAB_0003c572:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c242;\n    }" ({ "{") (if_statement "if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003c430:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c236;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 != puVar3) goto LAB_0003c248;\n      }" (if "if") (parenthesized_expression "((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0)" (( "(") (binary_expression "(*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0" (parenthesized_expression "(*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2)" (( "(") (binary_expression "*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2" (pointer_expression "*(byte *)(*(int *)(pbVar6 + 0xc) + 1)" (* "*") (cast_expression "(byte *)(*(int *)(pbVar6 + 0xc) + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pbVar6 + 0xc) + 1)" (( "(") (binary_expression "*(int *)(pbVar6 + 0xc) + 1" (pointer_expression "*(int *)(pbVar6 + 0xc)" (* "*") (cast_expression "(int *)(pbVar6 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pbVar6 + 0xc)" (( "(") (binary_expression "pbVar6 + 0xc" (identifier "pbVar6") (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (number_literal "1")) () ")")))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0003c430:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c236;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 != puVar3) goto LAB_0003c248;\n      }" ({ "{") (labeled_statement "LAB_0003c430:\n        fwrite(" weakrefr",1,9,param_1);" (statement_identifier "LAB_0003c430") (: ":") (expression_statement "fwrite(" weakrefr",1,9,param_1);" (call_expression "fwrite(" weakrefr",1,9,param_1)" (identifier "fwrite") (argument_list "(" weakrefr",1,9,param_1)" (( "(") (string_literal "" weakrefr"" (" """) (string_content " weakrefr") (" """)) (, ",") (number_literal "1") (, ",") (number_literal "9") (, ",") (identifier "param_1") () ")"))) (; ";"))) (if_statement "if ((*pbVar6 & 1) == 0) goto LAB_0003c236;" (if "if") (parenthesized_expression "((*pbVar6 & 1) == 0)" (( "(") (binary_expression "(*pbVar6 & 1) == 0" (parenthesized_expression "(*pbVar6 & 1)" (( "(") (binary_expression "*pbVar6 & 1" (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6")) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0003c236;" (goto "goto") (statement_identifier "LAB_0003c236") (; ";"))) (expression_statement "puVar3 = *(undefined4 **)(pbVar6 + 4);" (assignment_expression "puVar3 = *(undefined4 **)(pbVar6 + 4)" (identifier "puVar3") (= "=") (pointer_expression "*(undefined4 **)(pbVar6 + 4)" (* "*") (cast_expression "(undefined4 **)(pbVar6 + 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pbVar6 + 4)" (( "(") (binary_expression "pbVar6 + 4" (identifier "pbVar6") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (if_statement "if (DAT_00077d90 != puVar3) goto LAB_0003c248;" (if "if") (parenthesized_expression "(DAT_00077d90 != puVar3)" (( "(") (binary_expression "DAT_00077d90 != puVar3" (identifier "DAT_00077d90") (!= "!=") (identifier "puVar3")) () ")")) (goto_statement "goto LAB_0003c248;" (goto "goto") (statement_identifier "LAB_0003c248") (; ";"))) (} "}"))) (if_statement "if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c468;" (if "if") (parenthesized_expression "((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0)" (( "(") (binary_expression "(*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0" (parenthesized_expression "(*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4)" (( "(") (binary_expression "*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4" (pointer_expression "*(byte *)(*(int *)(pbVar6 + 0xc) + 1)" (* "*") (cast_expression "(byte *)(*(int *)(pbVar6 + 0xc) + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pbVar6 + 0xc) + 1)" (( "(") (binary_expression "*(int *)(pbVar6 + 0xc) + 1" (pointer_expression "*(int *)(pbVar6 + 0xc)" (* "*") (cast_expression "(int *)(pbVar6 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pbVar6 + 0xc)" (( "(") (binary_expression "pbVar6 + 0xc" (identifier "pbVar6") (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (number_literal "1")) () ")")))) (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0003c468;" (goto "goto") (statement_identifier "LAB_0003c468") (; ";"))) (labeled_statement "LAB_0003c572:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);" (statement_identifier "LAB_0003c572") (: ":") (expression_statement "pbVar5 = *(byte **)(pbVar6 + 0xc);" (assignment_expression "pbVar5 = *(byte **)(pbVar6 + 0xc)" (identifier "pbVar5") (= "=") (pointer_expression "*(byte **)(pbVar6 + 0xc)" (* "*") (cast_expression "(byte **)(pbVar6 + 0xc)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pbVar6 + 0xc)" (( "(") (binary_expression "pbVar6 + 0xc" (identifier "pbVar6") (+ "+") (number_literal "0xc")) () ")"))))) (; ";"))) (goto_statement "goto LAB_0003c242;" (goto "goto") (statement_identifier "LAB_0003c242") (; ";")) (} "}")))) (} "}")) (else_clause "else {\n    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_0006ef70)) {\n      fwrite(" frag ",1,6,param_1);\n      fprintf(param_1,"%016llx",*(undefined4 *)(param_2 + 0xc),0);\n      bVar1 = *param_2;\n    }\n    if ((bVar1 & 4) != 0) {\n      fwrite(" resolved",1,9,param_1);\n    }\n    fwrite(" local",1,6,param_1);\n    pbVar6 = param_2;\nLAB_0003c13e:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003c152;\n    }\nLAB_0003c22c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003c430;\nLAB_0003c236:\n    pbVar5 = pbVar6;\n    if ((pbVar6[1] & 4) != 0) {\nLAB_0003c468:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 == puVar3) goto LAB_0003c572;\n        goto LAB_0003c248;\n      }\n    }\nLAB_0003c242:\n    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\n  }" (else "else") (compound_statement "{\n    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_0006ef70)) {\n      fwrite(" frag ",1,6,param_1);\n      fprintf(param_1,"%016llx",*(undefined4 *)(param_2 + 0xc),0);\n      bVar1 = *param_2;\n    }\n    if ((bVar1 & 4) != 0) {\n      fwrite(" resolved",1,9,param_1);\n    }\n    fwrite(" local",1,6,param_1);\n    pbVar6 = param_2;\nLAB_0003c13e:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003c152;\n    }\nLAB_0003c22c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003c430;\nLAB_0003c236:\n    pbVar5 = pbVar6;\n    if ((pbVar6[1] & 4) != 0) {\nLAB_0003c468:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 == puVar3) goto LAB_0003c572;\n        goto LAB_0003c248;\n      }\n    }\nLAB_0003c242:\n    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\n  }" ({ "{") (if_statement "if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_0006ef70)) {\n      fwrite(" frag ",1,6,param_1);\n      fprintf(param_1,"%016llx",*(undefined4 *)(param_2 + 0xc),0);\n      bVar1 = *param_2;\n    }" (if "if") (parenthesized_expression "((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_0006ef70))" (( "(") (binary_expression "(pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_0006ef70)" (parenthesized_expression "(pbVar6 != (byte *)0x0)" (( "(") (binary_expression "pbVar6 != (byte *)0x0" (identifier "pbVar6") (!= "!=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(pbVar6 != PTR_DAT_0006ef70)" (( "(") (binary_expression "pbVar6 != PTR_DAT_0006ef70" (identifier "pbVar6") (!= "!=") (identifier "PTR_DAT_0006ef70")) () ")"))) () ")")) (compound_statement "{\n      fwrite(" frag ",1,6,param_1);\n      fprintf(param_1,"%016llx",*(undefined4 *)(param_2 + 0xc),0);\n      bVar1 = *param_2;\n    }" ({ "{") (expression_statement "fwrite(" frag ",1,6,param_1);" (call_expression "fwrite(" frag ",1,6,param_1)" (identifier "fwrite") (argument_list "(" frag ",1,6,param_1)" (( "(") (string_literal "" frag "" (" """) (string_content " frag ") (" """)) (, ",") (number_literal "1") (, ",") (number_literal "6") (, ",") (identifier "param_1") () ")"))) (; ";")) (expression_statement "fprintf(param_1,"%016llx",*(undefined4 *)(param_2 + 0xc),0);" (call_expression "fprintf(param_1,"%016llx",*(undefined4 *)(param_2 + 0xc),0)" (identifier "fprintf") (argument_list "(param_1,"%016llx",*(undefined4 *)(param_2 + 0xc),0)" (( "(") (identifier "param_1") (, ",") (string_literal ""%016llx"" (" """) (string_content "%016llx") (" """)) (, ",") (pointer_expression "*(undefined4 *)(param_2 + 0xc)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0xc)" (( "(") (binary_expression "param_2 + 0xc" (identifier "param_2") (+ "+") (number_literal "0xc")) () ")")))) (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "bVar1 = *param_2;" (assignment_expression "bVar1 = *param_2" (identifier "bVar1") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (} "}"))) (if_statement "if ((bVar1 & 4) != 0) {\n      fwrite(" resolved",1,9,param_1);\n    }" (if "if") (parenthesized_expression "((bVar1 & 4) != 0)" (( "(") (binary_expression "(bVar1 & 4) != 0" (parenthesized_expression "(bVar1 & 4)" (( "(") (binary_expression "bVar1 & 4" (identifier "bVar1") (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      fwrite(" resolved",1,9,param_1);\n    }" ({ "{") (expression_statement "fwrite(" resolved",1,9,param_1);" (call_expression "fwrite(" resolved",1,9,param_1)" (identifier "fwrite") (argument_list "(" resolved",1,9,param_1)" (( "(") (string_literal "" resolved"" (" """) (string_content " resolved") (" """)) (, ",") (number_literal "1") (, ",") (number_literal "9") (, ",") (identifier "param_1") () ")"))) (; ";")) (} "}"))) (expression_statement "fwrite(" local",1,6,param_1);" (call_expression "fwrite(" local",1,6,param_1)" (identifier "fwrite") (argument_list "(" local",1,6,param_1)" (( "(") (string_literal "" local"" (" """) (string_content " local") (" """)) (, ",") (number_literal "1") (, ",") (number_literal "6") (, ",") (identifier "param_1") () ")"))) (; ";")) (expression_statement "pbVar6 = param_2;" (assignment_expression "pbVar6 = param_2" (identifier "pbVar6") (= "=") (identifier "param_2")) (; ";")) (labeled_statement "LAB_0003c13e:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003c152;\n    }" (statement_identifier "LAB_0003c13e") (: ":") (if_statement "if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003c152;\n    }" (if "if") (parenthesized_expression "((*pbVar6 & 1) != 0)" (( "(") (binary_expression "(*pbVar6 & 1) != 0" (parenthesized_expression "(*pbVar6 & 1)" (( "(") (binary_expression "*pbVar6 & 1" (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6")) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003c152;\n    }" ({ "{") (expression_statement "puVar3 = *(undefined4 **)(pbVar6 + 4);" (assignment_expression "puVar3 = *(undefined4 **)(pbVar6 + 4)" (identifier "puVar3") (= "=") (pointer_expression "*(undefined4 **)(pbVar6 + 4)" (* "*") (cast_expression "(undefined4 **)(pbVar6 + 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pbVar6 + 4)" (( "(") (binary_expression "pbVar6 + 4" (identifier "pbVar6") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (goto_statement "goto LAB_0003c152;" (goto "goto") (statement_identifier "LAB_0003c152") (; ";")) (} "}")))) (labeled_statement "LAB_0003c22c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003c430;" (statement_identifier "LAB_0003c22c") (: ":") (if_statement "if ((pbVar6[1] & 2) != 0) goto LAB_0003c430;" (if "if") (parenthesized_expression "((pbVar6[1] & 2) != 0)" (( "(") (binary_expression "(pbVar6[1] & 2) != 0" (parenthesized_expression "(pbVar6[1] & 2)" (( "(") (binary_expression "pbVar6[1] & 2" (subscript_expression "pbVar6[1]" (identifier "pbVar6") ([ "[") (number_literal "1") (] "]")) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0003c430;" (goto "goto") (statement_identifier "LAB_0003c430") (; ";")))) (labeled_statement "LAB_0003c236:\n    pbVar5 = pbVar6;" (statement_identifier "LAB_0003c236") (: ":") (expression_statement "pbVar5 = pbVar6;" (assignment_expression "pbVar5 = pbVar6" (identifier "pbVar5") (= "=") (identifier "pbVar6")) (; ";"))) (if_statement "if ((pbVar6[1] & 4) != 0) {\nLAB_0003c468:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 == puVar3) goto LAB_0003c572;\n        goto LAB_0003c248;\n      }\n    }" (if "if") (parenthesized_expression "((pbVar6[1] & 4) != 0)" (( "(") (binary_expression "(pbVar6[1] & 4) != 0" (parenthesized_expression "(pbVar6[1] & 4)" (( "(") (binary_expression "pbVar6[1] & 4" (subscript_expression "pbVar6[1]" (identifier "pbVar6") ([ "[") (number_literal "1") (] "]")) (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0003c468:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 == puVar3) goto LAB_0003c572;\n        goto LAB_0003c248;\n      }\n    }" ({ "{") (labeled_statement "LAB_0003c468:\n      fwrite(" weakrefd",1,9,param_1);" (statement_identifier "LAB_0003c468") (: ":") (expression_statement "fwrite(" weakrefd",1,9,param_1);" (call_expression "fwrite(" weakrefd",1,9,param_1)" (identifier "fwrite") (argument_list "(" weakrefd",1,9,param_1)" (( "(") (string_literal "" weakrefd"" (" """) (string_content " weakrefd") (" """)) (, ",") (number_literal "1") (, ",") (number_literal "9") (, ",") (identifier "param_1") () ")"))) (; ";"))) (expression_statement "pbVar5 = pbVar6;" (assignment_expression "pbVar5 = pbVar6" (identifier "pbVar5") (= "=") (identifier "pbVar6")) (; ";")) (if_statement "if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 == puVar3) goto LAB_0003c572;\n        goto LAB_0003c248;\n      }" (if "if") (parenthesized_expression "((*pbVar6 & 1) != 0)" (( "(") (binary_expression "(*pbVar6 & 1) != 0" (parenthesized_expression "(*pbVar6 & 1)" (( "(") (binary_expression "*pbVar6 & 1" (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6")) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00077d90 == puVar3) goto LAB_0003c572;\n        goto LAB_0003c248;\n      }" ({ "{") (expression_statement "puVar3 = *(undefined4 **)(pbVar6 + 4);" (assignment_expression "puVar3 = *(undefined4 **)(pbVar6 + 4)" (identifier "puVar3") (= "=") (pointer_expression "*(undefined4 **)(pbVar6 + 4)" (* "*") (cast_expression "(undefined4 **)(pbVar6 + 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pbVar6 + 4)" (( "(") (binary_expression "pbVar6 + 4" (identifier "pbVar6") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (if_statement "if (DAT_00077d90 == puVar3) goto LAB_0003c572;" (if "if") (parenthesized_expression "(DAT_00077d90 == puVar3)" (( "(") (binary_expression "DAT_00077d90 == puVar3" (identifier "DAT_00077d90") (== "==") (identifier "puVar3")) () ")")) (goto_statement "goto LAB_0003c572;" (goto "goto") (statement_identifier "LAB_0003c572") (; ";"))) (goto_statement "goto LAB_0003c248;" (goto "goto") (statement_identifier "LAB_0003c248") (; ";")) (} "}"))) (} "}"))) (labeled_statement "LAB_0003c242:\n    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);" (statement_identifier "LAB_0003c242") (: ":") (expression_statement "puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);" (assignment_expression "puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14)" (identifier "puVar3") (= "=") (pointer_expression "*(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14)" (* "*") (cast_expression "(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(pbVar5 + 4) + 0x14)" (( "(") (binary_expression "*(int *)(pbVar5 + 4) + 0x14" (pointer_expression "*(int *)(pbVar5 + 4)" (* "*") (cast_expression "(int *)(pbVar5 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pbVar5 + 4)" (( "(") (binary_expression "pbVar5 + 4" (identifier "pbVar5") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "0x14")) () ")"))))) (; ";"))) (} "}")))) (labeled_statement "LAB_0003c248:\n  fprintf(param_1," %s",*puVar3);" (statement_identifier "LAB_0003c248") (: ":") (expression_statement "fprintf(param_1," %s",*puVar3);" (call_expression "fprintf(param_1," %s",*puVar3)" (identifier "fprintf") (argument_list "(param_1," %s",*puVar3)" (( "(") (identifier "param_1") (, ",") (string_literal "" %s"" (" """) (string_content " %s") (" """)) (, ",") (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) () ")"))) (; ";"))) (expression_statement "bVar1 = *pbVar6;" (assignment_expression "bVar1 = *pbVar6" (identifier "bVar1") (= "=") (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6"))) (; ";")) (if_statement "if ((bVar1 & 1) == 0) {\n    pbVar5 = pbVar6;\n    if ((bVar1 & 4) != 0) {\nLAB_0003c316:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003c283:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) &&\n         (DAT_00077ce0 != puVar3)) {\n        uVar4 = FUN_00039db0();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003c2b7;\n    }\n    if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n    iVar2 = *(int *)(pbVar6 + 4);\nLAB_0003c338:\n    puVar3 = *(undefined4 **)(iVar2 + 0x14);\n  }\n  else {\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if (puVar3 == DAT_00077d90) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003c316;\n      if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003c338;\n    }\n    if ((bVar1 & 4) != 0) goto LAB_0003c283;\n    if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n  }" (if "if") (parenthesized_expression "((bVar1 & 1) == 0)" (( "(") (binary_expression "(bVar1 & 1) == 0" (parenthesized_expression "(bVar1 & 1)" (( "(") (binary_expression "bVar1 & 1" (identifier "bVar1") (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    pbVar5 = pbVar6;\n    if ((bVar1 & 4) != 0) {\nLAB_0003c316:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003c283:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) &&\n         (DAT_00077ce0 != puVar3)) {\n        uVar4 = FUN_00039db0();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003c2b7;\n    }\n    if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n    iVar2 = *(int *)(pbVar6 + 4);\nLAB_0003c338:\n    puVar3 = *(undefined4 **)(iVar2 + 0x14);\n  }" ({ "{") (expression_statement "pbVar5 = pbVar6;" (assignment_expression "pbVar5 = pbVar6" (identifier "pbVar5") (= "=") (identifier "pbVar6")) (; ";")) (if_statement "if ((bVar1 & 4) != 0) {\nLAB_0003c316:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003c283:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) &&\n         (DAT_00077ce0 != puVar3)) {\n        uVar4 = FUN_00039db0();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003c2b7;\n    }" (if "if") (parenthesized_expression "((bVar1 & 4) != 0)" (( "(") (binary_expression "(bVar1 & 4) != 0" (parenthesized_expression "(bVar1 & 4)" (( "(") (binary_expression "bVar1 & 4" (identifier "bVar1") (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0003c316:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003c283:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) &&\n         (DAT_00077ce0 != puVar3)) {\n        uVar4 = FUN_00039db0();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003c2b7;\n    }" ({ "{") (labeled_statement "LAB_0003c316:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);" (statement_identifier "LAB_0003c316") (: ":") (expression_statement "puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);" (assignment_expression "puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14)" (identifier "puVar3") (= "=") (pointer_expression "*(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14)" (* "*") (cast_expression "(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(pbVar5 + 4) + 0x14)" (( "(") (binary_expression "*(int *)(pbVar5 + 4) + 0x14" (pointer_expression "*(int *)(pbVar5 + 4)" (* "*") (cast_expression "(int *)(pbVar5 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pbVar5 + 4)" (( "(") (binary_expression "pbVar5 + 4" (identifier "pbVar5") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "0x14")) () ")"))))) (; ";"))) (labeled_statement "LAB_0003c283:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) &&\n         (DAT_00077ce0 != puVar3)) {\n        uVar4 = FUN_00039db0();\n        fprintf(param_1," %lx",uVar4);\n      }" (statement_identifier "LAB_0003c283") (: ":") (if_statement "if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) &&\n         (DAT_00077ce0 != puVar3)) {\n        uVar4 = FUN_00039db0();\n        fprintf(param_1," %lx",uVar4);\n      }" (if "if") (parenthesized_expression "((puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) &&\n         (DAT_00077ce0 != puVar3))" (( "(") (binary_expression "(puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) &&\n         (DAT_00077ce0 != puVar3)" (parenthesized_expression "(puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0))" (( "(") (binary_expression "puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)" (identifier "puVar3") (!= "!=") (cast_expression "(undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR__bfd_std_section_0006efb4 + 0xc0)" (( "(") (binary_expression "PTR__bfd_std_section_0006efb4 + 0xc0" (identifier "PTR__bfd_std_section_0006efb4") (+ "+") (number_literal "0xc0")) () ")")))) () ")")) (&& "&&") (parenthesized_expression "(DAT_00077ce0 != puVar3)" (( "(") (binary_expression "DAT_00077ce0 != puVar3" (identifier "DAT_00077ce0") (!= "!=") (identifier "puVar3")) () ")"))) () ")")) (compound_statement "{\n        uVar4 = FUN_00039db0();\n        fprintf(param_1," %lx",uVar4);\n      }" ({ "{") (expression_statement "uVar4 = FUN_00039db0();" (assignment_expression "uVar4 = FUN_00039db0()" (identifier "uVar4") (= "=") (call_expression "FUN_00039db0()" (identifier "FUN_00039db0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "fprintf(param_1," %lx",uVar4);" (call_expression "fprintf(param_1," %lx",uVar4)" (identifier "fprintf") (argument_list "(param_1," %lx",uVar4)" (( "(") (identifier "param_1") (, ",") (string_literal "" %lx"" (" """) (string_content " %lx") (" """)) (, ",") (identifier "uVar4") () ")"))) (; ";")) (} "}")))) (goto_statement "goto LAB_0003c2b7;" (goto "goto") (statement_identifier "LAB_0003c2b7") (; ";")) (} "}"))) (if_statement "if (7 < DAT_00077fcc) goto LAB_0003c2b7;" (if "if") (parenthesized_expression "(7 < DAT_00077fcc)" (( "(") (binary_expression "7 < DAT_00077fcc" (number_literal "7") (< "<") (identifier "DAT_00077fcc")) () ")")) (goto_statement "goto LAB_0003c2b7;" (goto "goto") (statement_identifier "LAB_0003c2b7") (; ";"))) (expression_statement "iVar2 = *(int *)(pbVar6 + 4);" (assignment_expression "iVar2 = *(int *)(pbVar6 + 4)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(pbVar6 + 4)" (* "*") (cast_expression "(int *)(pbVar6 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pbVar6 + 4)" (( "(") (binary_expression "pbVar6 + 4" (identifier "pbVar6") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (labeled_statement "LAB_0003c338:\n    puVar3 = *(undefined4 **)(iVar2 + 0x14);" (statement_identifier "LAB_0003c338") (: ":") (expression_statement "puVar3 = *(undefined4 **)(iVar2 + 0x14);" (assignment_expression "puVar3 = *(undefined4 **)(iVar2 + 0x14)" (identifier "puVar3") (= "=") (pointer_expression "*(undefined4 **)(iVar2 + 0x14)" (* "*") (cast_expression "(undefined4 **)(iVar2 + 0x14)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar2 + 0x14)" (( "(") (binary_expression "iVar2 + 0x14" (identifier "iVar2") (+ "+") (number_literal "0x14")) () ")"))))) (; ";"))) (} "}")) (else_clause "else {\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if (puVar3 == DAT_00077d90) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003c316;\n      if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003c338;\n    }\n    if ((bVar1 & 4) != 0) goto LAB_0003c283;\n    if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n  }" (else "else") (compound_statement "{\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if (puVar3 == DAT_00077d90) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003c316;\n      if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003c338;\n    }\n    if ((bVar1 & 4) != 0) goto LAB_0003c283;\n    if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n  }" ({ "{") (expression_statement "puVar3 = *(undefined4 **)(pbVar6 + 4);" (assignment_expression "puVar3 = *(undefined4 **)(pbVar6 + 4)" (identifier "puVar3") (= "=") (pointer_expression "*(undefined4 **)(pbVar6 + 4)" (* "*") (cast_expression "(undefined4 **)(pbVar6 + 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pbVar6 + 4)" (( "(") (binary_expression "pbVar6 + 4" (identifier "pbVar6") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (if_statement "if (puVar3 == DAT_00077d90) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003c316;\n      if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003c338;\n    }" (if "if") (parenthesized_expression "(puVar3 == DAT_00077d90)" (( "(") (binary_expression "puVar3 == DAT_00077d90" (identifier "puVar3") (== "==") (identifier "DAT_00077d90")) () ")")) (compound_statement "{\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003c316;\n      if (7 < DAT_00077fcc) goto LAB_0003c2b7;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003c338;\n    }" ({ "{") (expression_statement "pbVar5 = *(byte **)(pbVar6 + 0xc);" (assignment_expression "pbVar5 = *(byte **)(pbVar6 + 0xc)" (identifier "pbVar5") (= "=") (pointer_expression "*(byte **)(pbVar6 + 0xc)" (* "*") (cast_expression "(byte **)(pbVar6 + 0xc)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pbVar6 + 0xc)" (( "(") (binary_expression "pbVar6 + 0xc" (identifier "pbVar6") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if ((*pbVar5 & 4) != 0) goto LAB_0003c316;" (if "if") (parenthesized_expression "((*pbVar5 & 4) != 0)" (( "(") (binary_expression "(*pbVar5 & 4) != 0" (parenthesized_expression "(*pbVar5 & 4)" (( "(") (binary_expression "*pbVar5 & 4" (pointer_expression "*pbVar5" (* "*") (identifier "pbVar5")) (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0003c316;" (goto "goto") (statement_identifier "LAB_0003c316") (; ";"))) (if_statement "if (7 < DAT_00077fcc) goto LAB_0003c2b7;" (if "if") (parenthesized_expression "(7 < DAT_00077fcc)" (( "(") (binary_expression "7 < DAT_00077fcc" (number_literal "7") (< "<") (identifier "DAT_00077fcc")) () ")")) (goto_statement "goto LAB_0003c2b7;" (goto "goto") (statement_identifier "LAB_0003c2b7") (; ";"))) (expression_statement "iVar2 = *(int *)(pbVar5 + 4);" (assignment_expression "iVar2 = *(int *)(pbVar5 + 4)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(pbVar5 + 4)" (* "*") (cast_expression "(int *)(pbVar5 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pbVar5 + 4)" (( "(") (binary_expression "pbVar5 + 4" (identifier "pbVar5") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (goto_statement "goto LAB_0003c338;" (goto "goto") (statement_identifier "LAB_0003c338") (; ";")) (} "}"))) (if_statement "if ((bVar1 & 4) != 0) goto LAB_0003c283;" (if "if") (parenthesized_expression "((bVar1 & 4) != 0)" (( "(") (binary_expression "(bVar1 & 4) != 0" (parenthesized_expression "(bVar1 & 4)" (( "(") (binary_expression "bVar1 & 4" (identifier "bVar1") (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0003c283;" (goto "goto") (statement_identifier "LAB_0003c283") (; ";"))) (if_statement "if (7 < DAT_00077fcc) goto LAB_0003c2b7;" (if "if") (parenthesized_expression "(7 < DAT_00077fcc)" (( "(") (binary_expression "7 < DAT_00077fcc" (number_literal "7") (< "<") (identifier "DAT_00077fcc")) () ")")) (goto_statement "goto LAB_0003c2b7;" (goto "goto") (statement_identifier "LAB_0003c2b7") (; ";"))) (} "}")))) (if_statement "if (puVar3 == (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) goto LAB_0003c2b7;" (if "if") (parenthesized_expression "(puVar3 == (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0))" (( "(") (binary_expression "puVar3 == (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)" (identifier "puVar3") (== "==") (cast_expression "(undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR__bfd_std_section_0006efb4 + 0xc0)" (( "(") (binary_expression "PTR__bfd_std_section_0006efb4 + 0xc0" (identifier "PTR__bfd_std_section_0006efb4") (+ "+") (number_literal "0xc0")) () ")")))) () ")")) (goto_statement "goto LAB_0003c2b7;" (goto "goto") (statement_identifier "LAB_0003c2b7") (; ";"))) (expression_statement "DAT_00077fcc = DAT_00077fcc + 1;" (assignment_expression "DAT_00077fcc = DAT_00077fcc + 1" (identifier "DAT_00077fcc") (= "=") (binary_expression "DAT_00077fcc + 1" (identifier "DAT_00077fcc") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar8 = &DAT_00050b45;" (assignment_expression "puVar8 = &DAT_00050b45" (identifier "puVar8") (= "=") (pointer_expression "&DAT_00050b45" (& "&") (identifier "DAT_00050b45"))) (; ";")) (expression_statement "fprintf(param_1,"\n%*s<",DAT_00077fcc * 4,&DAT_00050b45);" (call_expression "fprintf(param_1,"\n%*s<",DAT_00077fcc * 4,&DAT_00050b45)" (identifier "fprintf") (argument_list "(param_1,"\n%*s<",DAT_00077fcc * 4,&DAT_00050b45)" (( "(") (identifier "param_1") (, ",") (string_literal ""\n%*s<"" (" """) (escape_sequence "\n") (string_content "%*s<") (" """)) (, ",") (binary_expression "DAT_00077fcc * 4" (identifier "DAT_00077fcc") (* "*") (number_literal "4")) (, ",") (pointer_expression "&DAT_00050b45" (& "&") (identifier "DAT_00050b45")) () ")"))) (; ";")) (if_statement "if ((*pbVar6 & 1) == 0) {\nLAB_0003c633:\n    FUN_0003bba0(param_1,pbVar6 + 8);\n  }\n  else {\n    if (*(undefined4 **)(pbVar6 + 4) == DAT_00077d90) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c633;\n    }\n    fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);\n  }" (if "if") (parenthesized_expression "((*pbVar6 & 1) == 0)" (( "(") (binary_expression "(*pbVar6 & 1) == 0" (parenthesized_expression "(*pbVar6 & 1)" (( "(") (binary_expression "*pbVar6 & 1" (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6")) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0003c633:\n    FUN_0003bba0(param_1,pbVar6 + 8);\n  }" ({ "{") (labeled_statement "LAB_0003c633:\n    FUN_0003bba0(param_1,pbVar6 + 8);" (statement_identifier "LAB_0003c633") (: ":") (expression_statement "FUN_0003bba0(param_1,pbVar6 + 8);" (call_expression "FUN_0003bba0(param_1,pbVar6 + 8)" (identifier "FUN_0003bba0") (argument_list "(param_1,pbVar6 + 8)" (( "(") (identifier "param_1") (, ",") (binary_expression "pbVar6 + 8" (identifier "pbVar6") (+ "+") (number_literal "8")) () ")"))) (; ";"))) (} "}")) (else_clause "else {\n    if (*(undefined4 **)(pbVar6 + 4) == DAT_00077d90) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c633;\n    }\n    fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);\n  }" (else "else") (compound_statement "{\n    if (*(undefined4 **)(pbVar6 + 4) == DAT_00077d90) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c633;\n    }\n    fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);\n  }" ({ "{") (if_statement "if (*(undefined4 **)(pbVar6 + 4) == DAT_00077d90) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c633;\n    }" (if "if") (parenthesized_expression "(*(undefined4 **)(pbVar6 + 4) == DAT_00077d90)" (( "(") (binary_expression "*(undefined4 **)(pbVar6 + 4) == DAT_00077d90" (pointer_expression "*(undefined4 **)(pbVar6 + 4)" (* "*") (cast_expression "(undefined4 **)(pbVar6 + 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pbVar6 + 4)" (( "(") (binary_expression "pbVar6 + 4" (identifier "pbVar6") (+ "+") (number_literal "4")) () ")")))) (== "==") (identifier "DAT_00077d90")) () ")")) (compound_statement "{\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c633;\n    }" ({ "{") (expression_statement "pbVar6 = *(byte **)(pbVar6 + 0xc);" (assignment_expression "pbVar6 = *(byte **)(pbVar6 + 0xc)" (identifier "pbVar6") (= "=") (pointer_expression "*(byte **)(pbVar6 + 0xc)" (* "*") (cast_expression "(byte **)(pbVar6 + 0xc)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pbVar6 + 0xc)" (( "(") (binary_expression "pbVar6 + 0xc" (identifier "pbVar6") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (goto_statement "goto LAB_0003c633;" (goto "goto") (statement_identifier "LAB_0003c633") (; ";")) (} "}"))) (expression_statement "fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);" (call_expression "fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8)" (identifier "fprintf") (argument_list "(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8)" (( "(") (identifier "param_1") (, ",") (string_literal ""constant %lx"" (" """) (string_content "constant %lx") (" """)) (, ",") (pointer_expression "*(undefined4 *)(pbVar6 + 0x10)" (* "*") (cast_expression "(undefined4 *)(pbVar6 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pbVar6 + 0x10)" (( "(") (binary_expression "pbVar6 + 0x10" (identifier "pbVar6") (+ "+") (number_literal "0x10")) () ")")))) (, ",") (identifier "puVar8") () ")"))) (; ";")) (} "}")))) (expression_statement "fputc(0x3e,param_1);" (call_expression "fputc(0x3e,param_1)" (identifier "fputc") (argument_list "(0x3e,param_1)" (( "(") (number_literal "0x3e") (, ",") (identifier "param_1") () ")"))) (; ";")) (expression_statement "DAT_00077fcc = DAT_00077fcc + -1;" (assignment_expression "DAT_00077fcc = DAT_00077fcc + -1" (identifier "DAT_00077fcc") (= "=") (binary_expression "DAT_00077fcc + -1" (identifier "DAT_00077fcc") (+ "+") (number_literal "-1"))) (; ";")) (labeled_statement "LAB_0003c2b7:\n  fflush(param_1);" (statement_identifier "LAB_0003c2b7") (: ":") (expression_statement "fflush(param_1);" (call_expression "fflush(param_1)" (identifier "fflush") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))) (; ";"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

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

void function_1(type_1 *file,type_2 *sym)

{
  type_3 sVar1;
  type_4 var_6;
  int var_8;
  type_5 var_3;
  type_2 *psVar5;
  type_6 *paVar6;
  type_2 *var_1;
  type_7 vVar8;
  type_8 *puVar9;
  
  var_3 = (type_5)sym->bsym;
  if (((type_9)sym->sy_flags & 1) == 0) {
LAB_0003c086:
    var_1 = (type_2 *)var_3->id;
    if (var_1 == (type_2 *)0x0) goto LAB_0003c073;
LAB_0003c08d:
    if (*(char *)&var_1->sy_flags == '\0') {
      var_1 = (type_2 *)"(unnamed)";
    }
  }
  else {
    if (var_2 == var_3) {
      var_3 = (type_5)((sym->sy_value).X_op_symbol)->bsym;
      goto LAB_0003c086;
    }
    var_1 = (sym->sy_value).X_add_symbol;
    if (var_1 != (type_2 *)0x0) goto LAB_0003c08d;
LAB_0003c073:
    var_1 = (type_2 *)"(unnamed)";
  }
  var_4(&DAT_00053e44,1,4,(type_1 *)file);
  var_5((type_1 *)file,"%016llx",sym,0);
  var_5((type_1 *)file," %s",var_1);
  var_6 = *(type_4 *)&sym->sy_flags;
  var_1 = sym;
  if (((var_6 & 1) == 0) || (var_1 = (sym->sy_value).X_op_symbol, (type_5)sym->bsym == var_2))
  {
    if (var_1->sy_frag != &zero_address_frag) {
      var_4(" frag ",1,6,(type_1 *)file);
      var_5((type_1 *)file,"%016llx",var_1->sy_frag,0);
    }
    var_6 = *(type_4 *)&var_1->sy_flags;
    if ((var_6 & 2) != 0) {
      var_4(" written",1,8,(type_1 *)file);
      var_6 = *(type_4 *)&var_1->sy_flags;
    }
    if ((var_6 & 4) == 0) {
      if ((var_6 & 8) != 0) {
        var_4(" resolving",1,10,(type_1 *)file);
        var_6 = *(type_4 *)&var_1->sy_flags;
      }
    }
    else {
      var_4(" resolved",1,9,(type_1 *)file);
      var_6 = *(type_4 *)&var_1->sy_flags;
    }
    if ((var_6 & 0x10) == 0) {
      if ((var_6 & 0x20) == 0) goto LAB_0003c1c5;
LAB_0003c35f:
      var_4(" used",1,5,(type_1 *)file);
      var_8 = var_7(var_1);
      if (var_8 != 0) goto LAB_0003c387;
LAB_0003c1d9:
      var_8 = var_9(var_1);
      if (var_8 == 0) goto LAB_0003c1ed;
LAB_0003c3af:
      var_4(" extern",1,7,(type_1 *)file);
      var_8 = var_10(var_1);
    }
    else {
      var_4(" used-in-reloc",1,0xe,(type_1 *)file);
      if (((type_9)var_1->sy_flags & 0x20) != 0) goto LAB_0003c35f;
LAB_0003c1c5:
      var_8 = var_7(var_1);
      if (var_8 == 0) goto LAB_0003c1d9;
LAB_0003c387:
      var_4(" local",1,6,(type_1 *)file);
      var_8 = var_9(var_1);
      if (var_8 != 0) goto LAB_0003c3af;
LAB_0003c1ed:
      var_8 = var_10(var_1);
    }
    if (var_8 != 0) {
      var_4(&DAT_00053e92,1,5,(type_1 *)file);
    }
    var_3 = (type_5)var_1->bsym;
    if (((type_9)var_1->sy_flags & 1) == 0) {
      if (((type_9)var_3->prev & 4) != 0) {
LAB_0003c5a0:
        var_4(" debug",1,6,(type_1 *)file);
        var_3 = (type_5)var_1->bsym;
        if (((type_9)var_1->sy_flags & 1) != 0) {
          if (var_3 == var_2) {
            psVar5 = (var_1->sy_value).X_op_symbol;
            goto LAB_0003c60c;
          }
          goto LAB_0003c2e0;
        }
      }
      if ((type_8 *)var_3->flags != var_11 + 0xc0) goto LAB_0003c2f4;
      goto LAB_0003c22c;
    }
    if (var_2 == var_3) {
      psVar5 = (var_1->sy_value).X_op_symbol;
      if ((psVar5->bsym->flags & 4) != 0) goto LAB_0003c5a0;
LAB_0003c60c:
      if (psVar5->bsym->section == (type_10 *)(var_11 + 0xc0))
      goto LAB_0003c13e;
LAB_0003c2f4:
      var_4(" defined",1,8,(type_1 *)file);
      goto LAB_0003c13e;
    }
LAB_0003c2e0:
    if (var_3 != (type_5)(var_11 + 0xc0)) goto LAB_0003c2f4;
LAB_0003c152:
    if (var_2 == var_3) {
      if (((((var_1->sy_value).X_op_symbol)->sy_flags).field_0x1 & 2) != 0) {
LAB_0003c430:
        var_4(" weakrefr",1,9,(type_1 *)file);
        if (((type_9)var_1->sy_flags & 1) == 0) goto LAB_0003c236;
        var_3 = (type_5)var_1->bsym;
        if (var_2 != var_3) goto LAB_0003c248;
      }
      if (((((var_1->sy_value).X_op_symbol)->sy_flags).field_0x1 & 4) != 0) goto LAB_0003c468;
LAB_0003c572:
      psVar5 = (var_1->sy_value).X_op_symbol;
      goto LAB_0003c242;
    }
  }
  else {
    if ((var_1 != (type_2 *)0x0) && (var_1 != (type_2 *)PTR_zero_address_frag_0006ef70)) {
      var_4(" frag ",1,6,(type_1 *)file);
      var_5((type_1 *)file,"%016llx",(sym->sy_value).X_op_symbol,0);
      var_6 = *(type_4 *)&sym->sy_flags;
    }
    if ((var_6 & 4) != 0) {
      var_4(" resolved",1,9,(type_1 *)file);
    }
    var_4(" local",1,6,(type_1 *)file);
    var_1 = sym;
LAB_0003c13e:
    if (((type_9)var_1->sy_flags & 1) != 0) {
      var_3 = (type_5)var_1->bsym;
      goto LAB_0003c152;
    }
LAB_0003c22c:
    if (((var_1->sy_flags).field_0x1 & 2) != 0) goto LAB_0003c430;
LAB_0003c236:
    psVar5 = var_1;
    if (((var_1->sy_flags).field_0x1 & 4) != 0) {
LAB_0003c468:
      var_4(" weakrefd",1,9,(type_1 *)file);
      psVar5 = var_1;
      if (((type_9)var_1->sy_flags & 1) != 0) {
        var_3 = (type_5)var_1->bsym;
        if (var_2 == var_3) goto LAB_0003c572;
        goto LAB_0003c248;
      }
    }
LAB_0003c242:
    var_3 = psVar5->bsym->section;
  }
LAB_0003c248:
  var_5((type_1 *)file," %s",var_3->name);
  sVar1 = var_1->sy_flags;
  if (((type_9)sVar1 & 1) == 0) {
    psVar5 = var_1;
    if (((type_9)sVar1 & 4) != 0) {
LAB_0003c316:
      var_3 = psVar5->bsym->section;
LAB_0003c283:
      if ((var_3 != (type_5)(var_11 + 0xc0)) && (var_12 != var_3)) {
        vVar8 = var_13(var_1);
        var_5((type_1 *)file," %lx",(int)vVar8);
      }
      goto LAB_0003c2b7;
    }
    if (7 < var_14) goto LAB_0003c2b7;
    paVar6 = var_1->bsym;
LAB_0003c338:
    var_3 = paVar6->section;
  }
  else {
    var_3 = (type_5)var_1->bsym;
    if (var_3 == var_2) {
      psVar5 = (var_1->sy_value).X_op_symbol;
      if (((type_9)psVar5->sy_flags & 4) != 0) goto LAB_0003c316;
      if (7 < var_14) goto LAB_0003c2b7;
      paVar6 = psVar5->bsym;
      goto LAB_0003c338;
    }
    if (((type_9)sVar1 & 4) != 0) goto LAB_0003c283;
    if (7 < var_14) goto LAB_0003c2b7;
  }
  if (var_3 == (type_5)(var_11 + 0xc0)) goto LAB_0003c2b7;
  var_14 = var_14 + 1;
  puVar9 = &DAT_00050b45;
  var_5((type_1 *)file,"\n%*s<",var_14 * 4,&DAT_00050b45);
  if (((type_9)var_1->sy_flags & 1) == 0) {
LAB_0003c633:
    var_15(file,&var_1->sy_value);
  }
  else {
    if ((type_5)var_1->bsym == var_2) {
      var_1 = (var_1->sy_value).X_op_symbol;
      goto LAB_0003c633;
    }
    var_5((type_1 *)file,"constant %lx",(int)(var_1->sy_value).X_add_number,puVar9);
  }
  var_16(0x3e,(type_1 *)file);
  var_14 = var_14 + -1;
LAB_0003c2b7:
  var_17((type_1 *)file);
  return;
}


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

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

void MASKED(FILE *param_1,byte *param_2)

{
  byte bVar1;
  int iVar2;
  undefined4 *puVar3;
  undefined4 uVar4;
  byte *pbVar5;
  byte *pbVar6;
  char *pcVar7;
  undefined *puVar8;
  
  puVar3 = *(undefined4 **)(param_2 + 4);
  if ((*param_2 & 1) == 0) {
LAB_0003c086:
    pcVar7 = (char *)puVar3[1];
    if (pcVar7 == (char *)0x0) goto LAB_0003c073;
LAB_0003c08d:
    if (*pcVar7 == '\0') {
      pcVar7 = "(unnamed)";
    }
  }
  else {
    if (DAT_00077d90 == puVar3) {
      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);
      goto LAB_0003c086;
    }
    pcVar7 = *(char **)(param_2 + 8);
    if (pcVar7 != (char *)0x0) goto LAB_0003c08d;
LAB_0003c073:
    pcVar7 = "(unnamed)";
  }
  fwrite(&DAT_00053e44,1,4,param_1);
  fprintf(param_1,"%016llx",param_2,0);
  fprintf(param_1," %s",pcVar7);
  bVar1 = *param_2;
  pbVar6 = param_2;
  if (((bVar1 & 1) == 0) ||
     (pbVar6 = *(byte **)(param_2 + 0xc), *(undefined4 **)(param_2 + 4) == DAT_00077d90)) {
    if (*(undefined **)(pbVar6 + 0x24) != &DAT_00077d20) {
      fwrite(" frag ",1,6,param_1);
      fprintf(param_1,"%016llx",*(undefined4 *)(pbVar6 + 0x24),0);
    }
    bVar1 = *pbVar6;
    if ((bVar1 & 2) != 0) {
      fwrite(" written",1,8,param_1);
      bVar1 = *pbVar6;
    }
    if ((bVar1 & 4) == 0) {
      if ((bVar1 & 8) != 0) {
        fwrite(" resolving",1,10,param_1);
        bVar1 = *pbVar6;
      }
    }
    else {
      fwrite(" resolved",1,9,param_1);
      bVar1 = *pbVar6;
    }
    if ((bVar1 & 0x10) == 0) {
      if ((bVar1 & 0x20) == 0) goto LAB_0003c1c5;
LAB_0003c35f:
      fwrite(" used",1,5,param_1);
      iVar2 = FUN_00038380(pbVar6);
      if (iVar2 != 0) goto LAB_0003c387;
LAB_0003c1d9:
      iVar2 = FUN_000380a0(pbVar6);
      if (iVar2 == 0) goto LAB_0003c1ed;
LAB_0003c3af:
      fwrite(" extern",1,7,param_1);
      iVar2 = FUN_00038110(pbVar6);
    }
    else {
      fwrite(" used-in-reloc",1,0xe,param_1);
      if ((*pbVar6 & 0x20) != 0) goto LAB_0003c35f;
LAB_0003c1c5:
      iVar2 = FUN_00038380(pbVar6);
      if (iVar2 == 0) goto LAB_0003c1d9;
LAB_0003c387:
      fwrite(" local",1,6,param_1);
      iVar2 = FUN_000380a0(pbVar6);
      if (iVar2 != 0) goto LAB_0003c3af;
LAB_0003c1ed:
      iVar2 = FUN_00038110(pbVar6);
    }
    if (iVar2 != 0) {
      fwrite(" weak",1,5,param_1);
    }
    puVar3 = *(undefined4 **)(pbVar6 + 4);
    if ((*pbVar6 & 1) == 0) {
      if ((*(byte *)(puVar3 + 4) & 4) != 0) {
LAB_0003c5a0:
        fwrite(" debug",1,6,param_1);
        puVar3 = *(undefined4 **)(pbVar6 + 4);
        if ((*pbVar6 & 1) != 0) {
          if (puVar3 == DAT_00077d90) {
            iVar2 = *(int *)(pbVar6 + 0xc);
            goto LAB_0003c60c;
          }
          goto LAB_0003c2e0;
        }
      }
      if ((undefined *)puVar3[5] != PTR__bfd_std_section_0006efb4 + 0xc0) goto LAB_0003c2f4;
      goto LAB_0003c22c;
    }
    if (DAT_00077d90 == puVar3) {
      iVar2 = *(int *)(pbVar6 + 0xc);
      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003c5a0;
LAB_0003c60c:
      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0006efb4 + 0xc0)
      goto LAB_0003c13e;
LAB_0003c2f4:
      fwrite(" defined",1,8,param_1);
      goto LAB_0003c13e;
    }
LAB_0003c2e0:
    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) goto LAB_0003c2f4;
LAB_0003c152:
    if (DAT_00077d90 == puVar3) {
      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {
LAB_0003c430:
        fwrite(" weakrefr",1,9,param_1);
        if ((*pbVar6 & 1) == 0) goto LAB_0003c236;
        puVar3 = *(undefined4 **)(pbVar6 + 4);
        if (DAT_00077d90 != puVar3) goto LAB_0003c248;
      }
      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c468;
LAB_0003c572:
      pbVar5 = *(byte **)(pbVar6 + 0xc);
      goto LAB_0003c242;
    }
  }
  else {
    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_0006ef70)) {
      fwrite(" frag ",1,6,param_1);
      fprintf(param_1,"%016llx",*(undefined4 *)(param_2 + 0xc),0);
      bVar1 = *param_2;
    }
    if ((bVar1 & 4) != 0) {
      fwrite(" resolved",1,9,param_1);
    }
    fwrite(" local",1,6,param_1);
    pbVar6 = param_2;
LAB_0003c13e:
    if ((*pbVar6 & 1) != 0) {
      puVar3 = *(undefined4 **)(pbVar6 + 4);
      goto LAB_0003c152;
    }
LAB_0003c22c:
    if ((pbVar6[1] & 2) != 0) goto LAB_0003c430;
LAB_0003c236:
    pbVar5 = pbVar6;
    if ((pbVar6[1] & 4) != 0) {
LAB_0003c468:
      fwrite(" weakrefd",1,9,param_1);
      pbVar5 = pbVar6;
      if ((*pbVar6 & 1) != 0) {
        puVar3 = *(undefined4 **)(pbVar6 + 4);
        if (DAT_00077d90 == puVar3) goto LAB_0003c572;
        goto LAB_0003c248;
      }
    }
LAB_0003c242:
    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);
  }
LAB_0003c248:
  fprintf(param_1," %s",*puVar3);
  bVar1 = *pbVar6;
  if ((bVar1 & 1) == 0) {
    pbVar5 = pbVar6;
    if ((bVar1 & 4) != 0) {
LAB_0003c316:
      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);
LAB_0003c283:
      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) &&
         (DAT_00077ce0 != puVar3)) {
        uVar4 = FUN_00039db0();
        fprintf(param_1," %lx",uVar4);
      }
      goto LAB_0003c2b7;
    }
    if (7 < DAT_00077fcc) goto LAB_0003c2b7;
    iVar2 = *(int *)(pbVar6 + 4);
LAB_0003c338:
    puVar3 = *(undefined4 **)(iVar2 + 0x14);
  }
  else {
    puVar3 = *(undefined4 **)(pbVar6 + 4);
    if (puVar3 == DAT_00077d90) {
      pbVar5 = *(byte **)(pbVar6 + 0xc);
      if ((*pbVar5 & 4) != 0) goto LAB_0003c316;
      if (7 < DAT_00077fcc) goto LAB_0003c2b7;
      iVar2 = *(int *)(pbVar5 + 4);
      goto LAB_0003c338;
    }
    if ((bVar1 & 4) != 0) goto LAB_0003c283;
    if (7 < DAT_00077fcc) goto LAB_0003c2b7;
  }
  if (puVar3 == (undefined4 *)(PTR__bfd_std_section_0006efb4 + 0xc0)) goto LAB_0003c2b7;
  DAT_00077fcc = DAT_00077fcc + 1;
  puVar8 = &DAT_00050b45;
  fprintf(param_1,"\n%*s<",DAT_00077fcc * 4,&DAT_00050b45);
  if ((*pbVar6 & 1) == 0) {
LAB_0003c633:
    FUN_0003bba0(param_1,pbVar6 + 8);
  }
  else {
    if (*(undefined4 **)(pbVar6 + 4) == DAT_00077d90) {
      pbVar6 = *(byte **)(pbVar6 + 0xc);
      goto LAB_0003c633;
    }
    fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);
  }
  fputc(0x3e,param_1);
  DAT_00077fcc = DAT_00077fcc + -1;
LAB_0003c2b7:
  fflush(param_1);
  return;
}

