
/* 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_0003c4f6:
    psVar7 = (symbolS *)paVar4->id;
    if (psVar7 == (symbolS *)0x0) goto LAB_0003c4e3;
LAB_0003c4fd:
    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_0003c4f6;
    }
    psVar7 = (sym->sy_value).X_add_symbol;
    if (psVar7 != (symbolS *)0x0) goto LAB_0003c4fd;
LAB_0003c4e3:
    psVar7 = (symbolS *)"(unnamed)";
  }
  fwrite(&DAT_00061014,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_0003c635;
LAB_0003c7cf:
      fwrite(" used",1,5,(FILE *)file);
      iVar3 = S_IS_LOCAL(psVar7);
      if (iVar3 != 0) goto LAB_0003c7f7;
LAB_0003c649:
      iVar3 = S_IS_EXTERNAL(psVar7);
      if (iVar3 == 0) goto LAB_0003c65d;
LAB_0003c81f:
      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_0003c7cf;
LAB_0003c635:
      iVar3 = S_IS_LOCAL(psVar7);
      if (iVar3 == 0) goto LAB_0003c649;
LAB_0003c7f7:
      fwrite(" local",1,6,(FILE *)file);
      iVar3 = S_IS_EXTERNAL(psVar7);
      if (iVar3 != 0) goto LAB_0003c81f;
LAB_0003c65d:
      iVar3 = S_IS_WEAK(psVar7);
    }
    if (iVar3 != 0) {
      fwrite(&DAT_0006105c,1,5,(FILE *)file);
    }
    paVar4 = (segT)psVar7->bsym;
    if (((uint)psVar7->sy_flags & 1) == 0) {
      if (((uint)paVar4->prev & 4) != 0) {
LAB_0003ca10:
        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_0003ca7c;
          }
          goto LAB_0003c750;
        }
      }
      if ((undefined *)paVar4->flags != PTR__bfd_std_section_0007ffb0 + 0xc0) goto LAB_0003c764;
      goto LAB_0003c69c;
    }
    if (reg_section == paVar4) {
      psVar5 = (psVar7->sy_value).X_op_symbol;
      if ((psVar5->bsym->flags & 4) != 0) goto LAB_0003ca10;
LAB_0003ca7c:
      if (psVar5->bsym->section == (bfd_section *)(PTR__bfd_std_section_0007ffb0 + 0xc0))
      goto LAB_0003c5ae;
LAB_0003c764:
      fwrite(" defined",1,8,(FILE *)file);
      goto LAB_0003c5ae;
    }
LAB_0003c750:
    if (paVar4 != (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)) goto LAB_0003c764;
LAB_0003c5c2:
    if (reg_section == paVar4) {
      if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 2) != 0) {
LAB_0003c8a0:
        fwrite(" weakrefr",1,9,(FILE *)file);
        if (((uint)psVar7->sy_flags & 1) == 0) goto LAB_0003c6a6;
        paVar4 = (segT)psVar7->bsym;
        if (reg_section != paVar4) goto LAB_0003c6b8;
      }
      if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 4) != 0) goto LAB_0003c8d8;
LAB_0003c9e2:
      psVar5 = (psVar7->sy_value).X_op_symbol;
      goto LAB_0003c6b2;
    }
  }
  else {
    if ((psVar7 != (symbolS *)0x0) && (psVar7 != (symbolS *)PTR_zero_address_frag_0007ff70)) {
      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_0003c5ae:
    if (((uint)psVar7->sy_flags & 1) != 0) {
      paVar4 = (segT)psVar7->bsym;
      goto LAB_0003c5c2;
    }
LAB_0003c69c:
    if (((psVar7->sy_flags).field_0x1 & 2) != 0) goto LAB_0003c8a0;
LAB_0003c6a6:
    psVar5 = psVar7;
    if (((psVar7->sy_flags).field_0x1 & 4) != 0) {
LAB_0003c8d8:
      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_0003c9e2;
        goto LAB_0003c6b8;
      }
    }
LAB_0003c6b2:
    paVar4 = psVar5->bsym->section;
  }
LAB_0003c6b8:
  fprintf((FILE *)file," %s",paVar4->name);
  sVar1 = psVar7->sy_flags;
  if (((uint)sVar1 & 1) == 0) {
    psVar5 = psVar7;
    if (((uint)sVar1 & 4) != 0) {
LAB_0003c786:
      paVar4 = psVar5->bsym->section;
LAB_0003c6f3:
      if ((paVar4 != (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)) && (expr_section != paVar4)) {
        vVar8 = S_GET_VALUE(psVar7);
        fprintf((FILE *)file," %lx",(int)vVar8);
      }
      goto LAB_0003c727;
    }
    if (7 < indent_level) goto LAB_0003c727;
    paVar6 = psVar7->bsym;
LAB_0003c7a8:
    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_0003c786;
      if (7 < indent_level) goto LAB_0003c727;
      paVar6 = psVar5->bsym;
      goto LAB_0003c7a8;
    }
    if (((uint)sVar1 & 4) != 0) goto LAB_0003c6f3;
    if (7 < indent_level) goto LAB_0003c727;
  }
  if (paVar4 == (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)) goto LAB_0003c727;
  indent_level = indent_level + 1;
  puVar9 = &DAT_0005db05;
  fprintf((FILE *)file,"\n%*s<",indent_level * 4,&DAT_0005db05);
  if (((uint)psVar7->sy_flags & 1) == 0) {
LAB_0003caa3:
    print_expr_1(file,&psVar7->sy_value);
  }
  else {
    if ((segT)psVar7->bsym == reg_section) {
      psVar7 = (psVar7->sy_value).X_op_symbol;
      goto LAB_0003caa3;
    }
    fprintf((FILE *)file,"constant %lx",(int)(psVar7->sy_value).X_add_number,puVar9);
  }
  fputc(0x3e,(FILE *)file);
  indent_level = indent_level + -1;
LAB_0003c727:
  fflush((FILE *)file);
  return;
}



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

void FUN_0003c4b0(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_0003c4f6:
    pcVar7 = (char *)puVar3[1];
    if (pcVar7 == (char *)0x0) goto LAB_0003c4e3;
LAB_0003c4fd:
    if (*pcVar7 == '\0') {
      pcVar7 = "(unnamed)";
    }
  }
  else {
    if (DAT_000897ec == puVar3) {
      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);
      goto LAB_0003c4f6;
    }
    pcVar7 = *(char **)(param_2 + 8);
    if (pcVar7 != (char *)0x0) goto LAB_0003c4fd;
LAB_0003c4e3:
    pcVar7 = "(unnamed)";
  }
  fwrite(&DAT_00061014,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_000897ec)) {
    if (*(undefined **)(pbVar6 + 0x24) != &DAT_00089760) {
      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_0003c635;
LAB_0003c7cf:
      fwrite(" used",1,5,param_1);
      iVar2 = FUN_000387f0(pbVar6);
      if (iVar2 != 0) goto LAB_0003c7f7;
LAB_0003c649:
      iVar2 = FUN_00038510(pbVar6);
      if (iVar2 == 0) goto LAB_0003c65d;
LAB_0003c81f:
      fwrite(" extern",1,7,param_1);
      iVar2 = FUN_00038580(pbVar6);
    }
    else {
      fwrite(" used-in-reloc",1,0xe,param_1);
      if ((*pbVar6 & 0x20) != 0) goto LAB_0003c7cf;
LAB_0003c635:
      iVar2 = FUN_000387f0(pbVar6);
      if (iVar2 == 0) goto LAB_0003c649;
LAB_0003c7f7:
      fwrite(" local",1,6,param_1);
      iVar2 = FUN_00038510(pbVar6);
      if (iVar2 != 0) goto LAB_0003c81f;
LAB_0003c65d:
      iVar2 = FUN_00038580(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_0003ca10:
        fwrite(" debug",1,6,param_1);
        puVar3 = *(undefined4 **)(pbVar6 + 4);
        if ((*pbVar6 & 1) != 0) {
          if (puVar3 == DAT_000897ec) {
            iVar2 = *(int *)(pbVar6 + 0xc);
            goto LAB_0003ca7c;
          }
          goto LAB_0003c750;
        }
      }
      if ((undefined *)puVar3[5] != PTR__bfd_std_section_0007ffb0 + 0xc0) goto LAB_0003c764;
      goto LAB_0003c69c;
    }
    if (DAT_000897ec == puVar3) {
      iVar2 = *(int *)(pbVar6 + 0xc);
      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003ca10;
LAB_0003ca7c:
      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0007ffb0 + 0xc0)
      goto LAB_0003c5ae;
LAB_0003c764:
      fwrite(" defined",1,8,param_1);
      goto LAB_0003c5ae;
    }
LAB_0003c750:
    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) goto LAB_0003c764;
LAB_0003c5c2:
    if (DAT_000897ec == puVar3) {
      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {
LAB_0003c8a0:
        fwrite(" weakrefr",1,9,param_1);
        if ((*pbVar6 & 1) == 0) goto LAB_0003c6a6;
        puVar3 = *(undefined4 **)(pbVar6 + 4);
        if (DAT_000897ec != puVar3) goto LAB_0003c6b8;
      }
      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c8d8;
LAB_0003c9e2:
      pbVar5 = *(byte **)(pbVar6 + 0xc);
      goto LAB_0003c6b2;
    }
  }
  else {
    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_0007ff70)) {
      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_0003c5ae:
    if ((*pbVar6 & 1) != 0) {
      puVar3 = *(undefined4 **)(pbVar6 + 4);
      goto LAB_0003c5c2;
    }
LAB_0003c69c:
    if ((pbVar6[1] & 2) != 0) goto LAB_0003c8a0;
LAB_0003c6a6:
    pbVar5 = pbVar6;
    if ((pbVar6[1] & 4) != 0) {
LAB_0003c8d8:
      fwrite(" weakrefd",1,9,param_1);
      pbVar5 = pbVar6;
      if ((*pbVar6 & 1) != 0) {
        puVar3 = *(undefined4 **)(pbVar6 + 4);
        if (DAT_000897ec == puVar3) goto LAB_0003c9e2;
        goto LAB_0003c6b8;
      }
    }
LAB_0003c6b2:
    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);
  }
LAB_0003c6b8:
  fprintf(param_1," %s",*puVar3);
  bVar1 = *pbVar6;
  if ((bVar1 & 1) == 0) {
    pbVar5 = pbVar6;
    if ((bVar1 & 4) != 0) {
LAB_0003c786:
      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);
LAB_0003c6f3:
      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) &&
         (DAT_00089720 != puVar3)) {
        uVar4 = FUN_0003a220();
        fprintf(param_1," %lx",uVar4);
      }
      goto LAB_0003c727;
    }
    if (7 < DAT_00089a4c) goto LAB_0003c727;
    iVar2 = *(int *)(pbVar6 + 4);
LAB_0003c7a8:
    puVar3 = *(undefined4 **)(iVar2 + 0x14);
  }
  else {
    puVar3 = *(undefined4 **)(pbVar6 + 4);
    if (puVar3 == DAT_000897ec) {
      pbVar5 = *(byte **)(pbVar6 + 0xc);
      if ((*pbVar5 & 4) != 0) goto LAB_0003c786;
      if (7 < DAT_00089a4c) goto LAB_0003c727;
      iVar2 = *(int *)(pbVar5 + 4);
      goto LAB_0003c7a8;
    }
    if ((bVar1 & 4) != 0) goto LAB_0003c6f3;
    if (7 < DAT_00089a4c) goto LAB_0003c727;
  }
  if (puVar3 == (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) goto LAB_0003c727;
  DAT_00089a4c = DAT_00089a4c + 1;
  puVar8 = &DAT_0005db05;
  fprintf(param_1,"\n%*s<",DAT_00089a4c * 4,&DAT_0005db05);
  if ((*pbVar6 & 1) == 0) {
LAB_0003caa3:
    FUN_0003c010(param_1,pbVar6 + 8);
  }
  else {
    if (*(undefined4 **)(pbVar6 + 4) == DAT_000897ec) {
      pbVar6 = *(byte **)(pbVar6 + 0xc);
      goto LAB_0003caa3;
    }
    fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);
  }
  fputc(0x3e,param_1);
  DAT_00089a4c = DAT_00089a4c + -1;
LAB_0003c727:
  fflush(param_1);
  return;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00016000
ADD EBX,0x43b47
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 0x0003c4f6
LEA EDX,[EBX + 0x97ec]
CMP dword ptr [EDX],EAX
JZ 0x0003c4f0
MOV EDI,dword ptr [ESI + 0x8]
TEST EDI,EDI
JNZ 0x0003c4fd
LEA EDI,[EBX + 0xfffe100a]
JMP 0x0003c509
MOV EAX,dword ptr [ESI + 0xc]
MOV EAX,dword ptr [EAX + 0x4]
MOV EDI,dword ptr [EAX + 0x4]
TEST EDI,EDI
JZ 0x0003c4e3
CMP byte ptr [EDI],0x0
LEA EAX,[EBX + 0xfffe100a]
CMOVZ EDI,EAX
LEA EAX,[EBX + 0xfffe1014]
PUSH EBP
PUSH 0x4
PUSH 0x1
PUSH EAX
CALL 0x000142d0
XOR EDX,EDX
LEA EAX,[EBX + 0xfffdedb3]
PUSH EDX
PUSH ESI
MOV dword ptr [ESP + 0x24],EAX
PUSH EAX
PUSH EBP
CALL 0x00014450
ADD ESP,0x1c
PUSH EDI
LEA EDI,[EBX + 0xfffded27]
PUSH EDI
PUSH EBP
CALL 0x00014450
MOVZX EAX,byte ptr [ESI]
ADD ESP,0x10
TEST AL,0x1
JZ 0x0003c5da
LEA EDX,[EBX + 0x97ec]
MOV ECX,dword ptr [ESI + 0xc]
MOV EDX,dword ptr [EDX]
CMP dword ptr [ESI + 0x4],EDX
JZ 0x0003c5d8
TEST ECX,ECX
JZ 0x0003c592
CMP ECX,dword ptr [EBX + 0xffffff70]
JZ 0x0003c592
LEA EAX,[EBX + 0xfffe1019]
PUSH EBP
PUSH 0x6
PUSH 0x1
PUSH EAX
CALL 0x000142d0
MOV EAX,dword ptr [ESI + 0xc]
XOR EDX,EDX
PUSH EDX
PUSH EAX
PUSH dword ptr [ESP + 0x24]
PUSH EBP
CALL 0x00014450
MOVZX EAX,byte ptr [ESI]
ADD ESP,0x20
TEST AL,0x4
JNZ 0x0003c9f0
LEA EAX,[EBX + 0xfffe102a]
PUSH EBP
PUSH 0x6
PUSH 0x1
PUSH EAX
CALL 0x000142d0
ADD ESP,0x10
TEST byte ptr [ESI],0x1
JZ 0x0003c69c
LEA EDX,[EBX + 0x97ec]
MOV EAX,dword ptr [ESI + 0x4]
MOV EDX,dword ptr [EDX]
CMP EDX,EAX
JZ 0x0003c9c8
MOV EDX,ESI
JMP 0x0003c6b8
MOV ESI,ECX
LEA EAX,[EBX + 0x9760]
CMP dword ptr [ESI + 0x24],EAX
JZ 0x0003c60a
LEA EAX,[EBX + 0xfffe1019]
PUSH EBP
PUSH 0x6
PUSH 0x1
PUSH EAX
CALL 0x000142d0
MOV EAX,dword ptr [ESI + 0x24]
XOR EDX,EDX
PUSH EDX
PUSH EAX
PUSH dword ptr [ESP + 0x24]
PUSH EBP
CALL 0x00014450
ADD ESP,0x20
MOVZX EAX,byte ptr [ESI]
TEST AL,0x2
JNZ 0x0003c880
TEST AL,0x4
JNZ 0x0003c860
TEST AL,0x8
JNZ 0x0003c9a8
TEST AL,0x10
JNZ 0x0003c7b0
TEST AL,0x20
JNZ 0x0003c7cf
SUB ESP,0xc
PUSH ESI
CALL 0x000387f0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0003c7f7
SUB ESP,0xc
PUSH ESI
CALL 0x00038510
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0003c81f
SUB ESP,0xc
PUSH ESI
CALL 0x00038580
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0003c847
MOV EAX,dword ptr [ESI + 0x4]
TEST byte ptr [ESI],0x1
JNZ 0x0003c740
TEST byte ptr [EAX + 0x10],0x4
JNZ 0x0003ca10
MOV EDX,dword ptr [EBX + 0xffffffb0]
ADD EDX,0xc0
CMP dword ptr [EAX + 0x14],EDX
JNZ 0x0003c764
TEST byte ptr [ESI + 0x1],0x2
JNZ 0x0003c8a0
MOV EDX,ESI
TEST byte ptr [ESI + 0x1],0x4
JNZ 0x0003c8d8
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 0x00014450
MOV EDX,dword ptr [ESP + 0x1c]
ADD ESP,0x10
MOVZX EAX,byte ptr [EDX]
TEST AL,0x1
JZ 0x0003c780
LEA ESI,[EBX + 0x97ec]
MOV ECX,dword ptr [EDX + 0x4]
CMP ECX,dword ptr [ESI]
JZ 0x0003ca48
TEST AL,0x4
JZ 0x0003c910
MOV EAX,dword ptr [EBX + 0xffffffb0]
ADD EAX,0xc0
CMP ECX,EAX
JZ 0x0003c727
LEA EAX,[EBX + 0x9720]
CMP dword ptr [EAX],ECX
JZ 0x0003c727
MOV EAX,EDX
CALL 0x0003a220
SUB ESP,0x4
PUSH EAX
LEA EAX,[EBX + 0xfffe0f47]
PUSH EAX
PUSH EBP
CALL 0x00014450
ADD ESP,0x10
SUB ESP,0xc
PUSH EBP
CALL 0x000140d0
ADD ESP,0x2c
POP EBX
POP ESI
POP EDI
POP EBP
RET
LEA EDX,[EBX + 0x97ec]
MOV EDX,dword ptr [EDX]
CMP EDX,EAX
JZ 0x0003ca70
MOV ECX,dword ptr [EBX + 0xffffffb0]
ADD ECX,0xc0
CMP EAX,ECX
JZ 0x0003c5c2
LEA EAX,[EBX + 0xfffe1069]
PUSH EBP
PUSH 0x8
PUSH 0x1
PUSH EAX
CALL 0x000142d0
ADD ESP,0x10
JMP 0x0003c5ae
TEST AL,0x4
JZ 0x0003c798
MOV ECX,EDX
MOV EAX,dword ptr [ECX + 0x4]
MOV ECX,dword ptr [EAX + 0x14]
JMP 0x0003c6f3
LEA ESI,[EBX + 0x9a4c]
MOV EAX,dword ptr [ESI]
CMP EAX,0x7
JG 0x0003c727
MOV ECX,dword ptr [EDX + 0x4]
MOV ECX,dword ptr [ECX + 0x14]
JMP 0x0003c921
LEA EAX,[EBX + 0xfffe1045]
PUSH EBP
PUSH 0xe
PUSH 0x1
PUSH EAX
CALL 0x000142d0
MOVZX EAX,byte ptr [ESI]
ADD ESP,0x10
TEST AL,0x20
JZ 0x0003c635
LEA EAX,[EBX + 0xfffe4031]
PUSH EBP
PUSH 0x5
PUSH 0x1
PUSH EAX
CALL 0x000142d0
ADD ESP,0x10
SUB ESP,0xc
PUSH ESI
CALL 0x000387f0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0003c649
LEA EAX,[EBX + 0xfffe102a]
PUSH EBP
PUSH 0x6
PUSH 0x1
PUSH EAX
CALL 0x000142d0
ADD ESP,0x10
SUB ESP,0xc
PUSH ESI
CALL 0x00038510
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0003c65d
LEA EAX,[EBX + 0xfffe1054]
PUSH EBP
PUSH 0x7
PUSH 0x1
PUSH EAX
CALL 0x000142d0
ADD ESP,0x10
SUB ESP,0xc
PUSH ESI
CALL 0x00038580
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0003c671
LEA EAX,[EBX + 0xfffe105c]
PUSH EBP
PUSH 0x5
PUSH 0x1
PUSH EAX
CALL 0x000142d0
ADD ESP,0x10
JMP 0x0003c671
LEA EAX,[EBX + 0xfffe1020]
PUSH EBP
PUSH 0x9
PUSH 0x1
PUSH EAX
CALL 0x000142d0
MOVZX EAX,byte ptr [ESI]
ADD ESP,0x10
JMP 0x0003c625
LEA EAX,[EBX + 0xfffe1031]
PUSH EBP
PUSH 0x8
PUSH 0x1
PUSH EAX
CALL 0x000142d0
MOVZX EAX,byte ptr [ESI]
ADD ESP,0x10
JMP 0x0003c615
LEA EAX,[EBX + 0xfffe1072]
PUSH EBP
PUSH 0x9
PUSH 0x1
PUSH EAX
CALL 0x000142d0
ADD ESP,0x10
TEST byte ptr [ESI],0x1
JZ 0x0003c6a6
LEA EDX,[EBX + 0x97ec]
MOV EAX,dword ptr [ESI + 0x4]
CMP dword ptr [EDX],EAX
JZ 0x0003c9d5
MOV EDX,ESI
JMP 0x0003c6b8
LEA EAX,[EBX + 0xfffe107c]
PUSH EBP
PUSH 0x9
PUSH 0x1
PUSH EAX
CALL 0x000142d0
ADD ESP,0x10
MOV EDX,ESI
TEST byte ptr [ESI],0x1
JZ 0x0003c6b2
LEA ECX,[EBX + 0x97ec]
MOV EAX,dword ptr [ESI + 0x4]
CMP dword ptr [ECX],EAX
JZ 0x0003c9e2
JMP 0x0003c6b8
LEA ESI,[EBX + 0x9a4c]
MOV EAX,dword ptr [ESI]
CMP EAX,0x7
JG 0x0003c727
MOV EDI,dword ptr [EBX + 0xffffffb0]
MOV dword ptr [ESP + 0xc],EDX
ADD EDI,0xc0
CMP ECX,EDI
JZ 0x0003c727
ADD EAX,0x1
LEA ECX,[EBX + 0xfffddb05]
MOV dword ptr [ESI],EAX
SHL EAX,0x2
PUSH ECX
PUSH EAX
LEA EAX,[EBX + 0xfffe0fe2]
PUSH EAX
PUSH EBP
CALL 0x00014450
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0xc]
TEST byte ptr [EDX],0x1
JZ 0x0003caa3
LEA EAX,[EBX + 0x97ec]
MOV EAX,dword ptr [EAX]
CMP dword ptr [EDX + 0x4],EAX
JZ 0x0003caa0
SUB ESP,0x4
LEA EAX,[EBX + 0xfffe0f3f]
PUSH dword ptr [EDX + 0x10]
PUSH EAX
PUSH EBP
CALL 0x00014450
ADD ESP,0x10
SUB ESP,0x8
PUSH EBP
PUSH 0x3e
CALL 0x00014610
SUB dword ptr [ESI],0x1
ADD ESP,0x10
JMP 0x0003c727
LEA EAX,[EBX + 0xfffe103a]
PUSH EBP
PUSH 0xa
PUSH 0x1
PUSH EAX
CALL 0x000142d0
MOVZX EAX,byte ptr [ESI]
ADD ESP,0x10
JMP 0x0003c625
MOV EAX,dword ptr [ESI + 0xc]
TEST byte ptr [EAX + 0x1],0x2
JNZ 0x0003c8a0
MOV EAX,dword ptr [ESI + 0xc]
TEST byte ptr [EAX + 0x1],0x4
JNZ 0x0003c8d8
MOV EDX,ESI
MOV ESI,dword ptr [ESI + 0xc]
JMP 0x0003c6b2
LEA EAX,[EBX + 0xfffe1020]
PUSH EBP
PUSH 0x9
PUSH 0x1
PUSH EAX
CALL 0x000142d0
ADD ESP,0x10
JMP 0x0003c59a
LEA EAX,[EBX + 0xfffe1062]
PUSH EBP
PUSH 0x6
PUSH 0x1
PUSH EAX
CALL 0x000142d0
ADD ESP,0x10
TEST byte ptr [ESI],0x1
MOV EAX,dword ptr [ESI + 0x4]
JZ 0x0003c687
LEA EDX,[EBX + 0x97ec]
MOV EDX,dword ptr [EDX]
CMP EAX,EDX
JNZ 0x0003c750
MOV EAX,dword ptr [ESI + 0xc]
JMP 0x0003ca7c
MOV ECX,dword ptr [EDX + 0xc]
TEST byte ptr [ECX],0x4
JNZ 0x0003c786
LEA ESI,[EBX + 0x9a4c]
MOV EAX,dword ptr [ESI]
CMP EAX,0x7
JG 0x0003c727
MOV ECX,dword ptr [ECX + 0x4]
JMP 0x0003c7a8
MOV EAX,dword ptr [ESI + 0xc]
MOV EDX,dword ptr [EAX + 0x4]
TEST byte ptr [EDX + 0x10],0x4
JNZ 0x0003ca10
MOV EDX,dword ptr [EAX + 0x4]
MOV EAX,dword ptr [EBX + 0xffffffb0]
ADD EAX,0xc0
CMP dword ptr [EDX + 0x14],EAX
JZ 0x0003c5ae
JMP 0x0003c764
MOV EDX,dword ptr [EDX + 0xc]
SUB ESP,0x8
ADD EDX,0x8
PUSH EDX
PUSH EBP
CALL 0x0003c010
ADD ESP,0x10
JMP 0x0003c98d
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid FUN_0003c4b0(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_0003c4f6:\n    pcVar7 = (char *)puVar3[1];\n    if (pcVar7 == (char *)0x0) goto LAB_0003c4e3;\nLAB_0003c4fd:\n    if (*pcVar7 == '\0') {\n      pcVar7 = "(unnamed)";\n    }\n  }\n  else {\n    if (DAT_000897ec == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003c4f6;\n    }\n    pcVar7 = *(char **)(param_2 + 8);\n    if (pcVar7 != (char *)0x0) goto LAB_0003c4fd;\nLAB_0003c4e3:\n    pcVar7 = "(unnamed)";\n  }\n  fwrite(&DAT_00061014,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_000897ec)) {\n    if (*(undefined **)(pbVar6 + 0x24) != &DAT_00089760) {\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_0003c635;\nLAB_0003c7cf:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_000387f0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c7f7;\nLAB_0003c649:\n      iVar2 = FUN_00038510(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c65d;\nLAB_0003c81f:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00038580(pbVar6);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003c7cf;\nLAB_0003c635:\n      iVar2 = FUN_000387f0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c649;\nLAB_0003c7f7:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_00038510(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c81f;\nLAB_0003c65d:\n      iVar2 = FUN_00038580(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_0003ca10:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_000897ec) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003ca7c;\n          }\n          goto LAB_0003c750;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_0007ffb0 + 0xc0) goto LAB_0003c764;\n      goto LAB_0003c69c;\n    }\n    if (DAT_000897ec == puVar3) {\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003ca10;\nLAB_0003ca7c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0007ffb0 + 0xc0)\n      goto LAB_0003c5ae;\nLAB_0003c764:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003c5ae;\n    }\nLAB_0003c750:\n    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) goto LAB_0003c764;\nLAB_0003c5c2:\n    if (DAT_000897ec == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003c8a0:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c6a6;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_000897ec != puVar3) goto LAB_0003c6b8;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c8d8;\nLAB_0003c9e2:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c6b2;\n    }\n  }\n  else {\n    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_0007ff70)) {\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_0003c5ae:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003c5c2;\n    }\nLAB_0003c69c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003c8a0;\nLAB_0003c6a6:\n    pbVar5 = pbVar6;\n    if ((pbVar6[1] & 4) != 0) {\nLAB_0003c8d8:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_000897ec == puVar3) goto LAB_0003c9e2;\n        goto LAB_0003c6b8;\n      }\n    }\nLAB_0003c6b2:\n    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\n  }\nLAB_0003c6b8:\n  fprintf(param_1," %s",*puVar3);\n  bVar1 = *pbVar6;\n  if ((bVar1 & 1) == 0) {\n    pbVar5 = pbVar6;\n    if ((bVar1 & 4) != 0) {\nLAB_0003c786:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003c6f3:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) &&\n         (DAT_00089720 != puVar3)) {\n        uVar4 = FUN_0003a220();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003c727;\n    }\n    if (7 < DAT_00089a4c) goto LAB_0003c727;\n    iVar2 = *(int *)(pbVar6 + 4);\nLAB_0003c7a8:\n    puVar3 = *(undefined4 **)(iVar2 + 0x14);\n  }\n  else {\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if (puVar3 == DAT_000897ec) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003c786;\n      if (7 < DAT_00089a4c) goto LAB_0003c727;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003c7a8;\n    }\n    if ((bVar1 & 4) != 0) goto LAB_0003c6f3;\n    if (7 < DAT_00089a4c) goto LAB_0003c727;\n  }\n  if (puVar3 == (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) goto LAB_0003c727;\n  DAT_00089a4c = DAT_00089a4c + 1;\n  puVar8 = &DAT_0005db05;\n  fprintf(param_1,"\n%*s<",DAT_00089a4c * 4,&DAT_0005db05);\n  if ((*pbVar6 & 1) == 0) {\nLAB_0003caa3:\n    FUN_0003c010(param_1,pbVar6 + 8);\n  }\n  else {\n    if (*(undefined4 **)(pbVar6 + 4) == DAT_000897ec) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003caa3;\n    }\n    fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);\n  }\n  fputc(0x3e,param_1);\n  DAT_00089a4c = DAT_00089a4c + -1;\nLAB_0003c727:\n  fflush(param_1);\n  return;\n}\n\n" comment (function_definition "void FUN_0003c4b0(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_0003c4f6:\n    pcVar7 = (char *)puVar3[1];\n    if (pcVar7 == (char *)0x0) goto LAB_0003c4e3;\nLAB_0003c4fd:\n    if (*pcVar7 == '\0') {\n      pcVar7 = "(unnamed)";\n    }\n  }\n  else {\n    if (DAT_000897ec == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003c4f6;\n    }\n    pcVar7 = *(char **)(param_2 + 8);\n    if (pcVar7 != (char *)0x0) goto LAB_0003c4fd;\nLAB_0003c4e3:\n    pcVar7 = "(unnamed)";\n  }\n  fwrite(&DAT_00061014,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_000897ec)) {\n    if (*(undefined **)(pbVar6 + 0x24) != &DAT_00089760) {\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_0003c635;\nLAB_0003c7cf:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_000387f0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c7f7;\nLAB_0003c649:\n      iVar2 = FUN_00038510(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c65d;\nLAB_0003c81f:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00038580(pbVar6);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003c7cf;\nLAB_0003c635:\n      iVar2 = FUN_000387f0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c649;\nLAB_0003c7f7:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_00038510(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c81f;\nLAB_0003c65d:\n      iVar2 = FUN_00038580(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_0003ca10:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_000897ec) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003ca7c;\n          }\n          goto LAB_0003c750;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_0007ffb0 + 0xc0) goto LAB_0003c764;\n      goto LAB_0003c69c;\n    }\n    if (DAT_000897ec == puVar3) {\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003ca10;\nLAB_0003ca7c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0007ffb0 + 0xc0)\n      goto LAB_0003c5ae;\nLAB_0003c764:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003c5ae;\n    }\nLAB_0003c750:\n    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) goto LAB_0003c764;\nLAB_0003c5c2:\n    if (DAT_000897ec == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003c8a0:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c6a6;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_000897ec != puVar3) goto LAB_0003c6b8;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c8d8;\nLAB_0003c9e2:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c6b2;\n    }\n  }\n  else {\n    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_0007ff70)) {\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_0003c5ae:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003c5c2;\n    }\nLAB_0003c69c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003c8a0;\nLAB_0003c6a6:\n    pbVar5 = pbVar6;\n    if ((pbVar6[1] & 4) != 0) {\nLAB_0003c8d8:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_000897ec == puVar3) goto LAB_0003c9e2;\n        goto LAB_0003c6b8;\n      }\n    }\nLAB_0003c6b2:\n    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\n  }\nLAB_0003c6b8:\n  fprintf(param_1," %s",*puVar3);\n  bVar1 = *pbVar6;\n  if ((bVar1 & 1) == 0) {\n    pbVar5 = pbVar6;\n    if ((bVar1 & 4) != 0) {\nLAB_0003c786:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003c6f3:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) &&\n         (DAT_00089720 != puVar3)) {\n        uVar4 = FUN_0003a220();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003c727;\n    }\n    if (7 < DAT_00089a4c) goto LAB_0003c727;\n    iVar2 = *(int *)(pbVar6 + 4);\nLAB_0003c7a8:\n    puVar3 = *(undefined4 **)(iVar2 + 0x14);\n  }\n  else {\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if (puVar3 == DAT_000897ec) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003c786;\n      if (7 < DAT_00089a4c) goto LAB_0003c727;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003c7a8;\n    }\n    if ((bVar1 & 4) != 0) goto LAB_0003c6f3;\n    if (7 < DAT_00089a4c) goto LAB_0003c727;\n  }\n  if (puVar3 == (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) goto LAB_0003c727;\n  DAT_00089a4c = DAT_00089a4c + 1;\n  puVar8 = &DAT_0005db05;\n  fprintf(param_1,"\n%*s<",DAT_00089a4c * 4,&DAT_0005db05);\n  if ((*pbVar6 & 1) == 0) {\nLAB_0003caa3:\n    FUN_0003c010(param_1,pbVar6 + 8);\n  }\n  else {\n    if (*(undefined4 **)(pbVar6 + 4) == DAT_000897ec) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003caa3;\n    }\n    fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);\n  }\n  fputc(0x3e,param_1);\n  DAT_00089a4c = DAT_00089a4c + -1;\nLAB_0003c727:\n  fflush(param_1);\n  return;\n}" primitive_type (function_declarator "FUN_0003c4b0(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_0003c4f6:\n    pcVar7 = (char *)puVar3[1];\n    if (pcVar7 == (char *)0x0) goto LAB_0003c4e3;\nLAB_0003c4fd:\n    if (*pcVar7 == '\0') {\n      pcVar7 = "(unnamed)";\n    }\n  }\n  else {\n    if (DAT_000897ec == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003c4f6;\n    }\n    pcVar7 = *(char **)(param_2 + 8);\n    if (pcVar7 != (char *)0x0) goto LAB_0003c4fd;\nLAB_0003c4e3:\n    pcVar7 = "(unnamed)";\n  }\n  fwrite(&DAT_00061014,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_000897ec)) {\n    if (*(undefined **)(pbVar6 + 0x24) != &DAT_00089760) {\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_0003c635;\nLAB_0003c7cf:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_000387f0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c7f7;\nLAB_0003c649:\n      iVar2 = FUN_00038510(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c65d;\nLAB_0003c81f:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00038580(pbVar6);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003c7cf;\nLAB_0003c635:\n      iVar2 = FUN_000387f0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c649;\nLAB_0003c7f7:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_00038510(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c81f;\nLAB_0003c65d:\n      iVar2 = FUN_00038580(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_0003ca10:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_000897ec) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003ca7c;\n          }\n          goto LAB_0003c750;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_0007ffb0 + 0xc0) goto LAB_0003c764;\n      goto LAB_0003c69c;\n    }\n    if (DAT_000897ec == puVar3) {\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003ca10;\nLAB_0003ca7c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0007ffb0 + 0xc0)\n      goto LAB_0003c5ae;\nLAB_0003c764:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003c5ae;\n    }\nLAB_0003c750:\n    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) goto LAB_0003c764;\nLAB_0003c5c2:\n    if (DAT_000897ec == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003c8a0:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c6a6;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_000897ec != puVar3) goto LAB_0003c6b8;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c8d8;\nLAB_0003c9e2:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c6b2;\n    }\n  }\n  else {\n    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_0007ff70)) {\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_0003c5ae:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003c5c2;\n    }\nLAB_0003c69c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003c8a0;\nLAB_0003c6a6:\n    pbVar5 = pbVar6;\n    if ((pbVar6[1] & 4) != 0) {\nLAB_0003c8d8:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_000897ec == puVar3) goto LAB_0003c9e2;\n        goto LAB_0003c6b8;\n      }\n    }\nLAB_0003c6b2:\n    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\n  }\nLAB_0003c6b8:\n  fprintf(param_1," %s",*puVar3);\n  bVar1 = *pbVar6;\n  if ((bVar1 & 1) == 0) {\n    pbVar5 = pbVar6;\n    if ((bVar1 & 4) != 0) {\nLAB_0003c786:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003c6f3:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) &&\n         (DAT_00089720 != puVar3)) {\n        uVar4 = FUN_0003a220();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003c727;\n    }\n    if (7 < DAT_00089a4c) goto LAB_0003c727;\n    iVar2 = *(int *)(pbVar6 + 4);\nLAB_0003c7a8:\n    puVar3 = *(undefined4 **)(iVar2 + 0x14);\n  }\n  else {\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if (puVar3 == DAT_000897ec) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003c786;\n      if (7 < DAT_00089a4c) goto LAB_0003c727;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003c7a8;\n    }\n    if ((bVar1 & 4) != 0) goto LAB_0003c6f3;\n    if (7 < DAT_00089a4c) goto LAB_0003c727;\n  }\n  if (puVar3 == (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) goto LAB_0003c727;\n  DAT_00089a4c = DAT_00089a4c + 1;\n  puVar8 = &DAT_0005db05;\n  fprintf(param_1,"\n%*s<",DAT_00089a4c * 4,&DAT_0005db05);\n  if ((*pbVar6 & 1) == 0) {\nLAB_0003caa3:\n    FUN_0003c010(param_1,pbVar6 + 8);\n  }\n  else {\n    if (*(undefined4 **)(pbVar6 + 4) == DAT_000897ec) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003caa3;\n    }\n    fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);\n  }\n  fputc(0x3e,param_1);\n  DAT_00089a4c = DAT_00089a4c + -1;\nLAB_0003c727:\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_0003c4f6:\n    pcVar7 = (char *)puVar3[1];\n    if (pcVar7 == (char *)0x0) goto LAB_0003c4e3;\nLAB_0003c4fd:\n    if (*pcVar7 == '\0') {\n      pcVar7 = "(unnamed)";\n    }\n  }\n  else {\n    if (DAT_000897ec == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003c4f6;\n    }\n    pcVar7 = *(char **)(param_2 + 8);\n    if (pcVar7 != (char *)0x0) goto LAB_0003c4fd;\nLAB_0003c4e3:\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_0003c4f6:\n    pcVar7 = (char *)puVar3[1];\n    if (pcVar7 == (char *)0x0) goto LAB_0003c4e3;\nLAB_0003c4fd:\n    if (*pcVar7 == '\0') {\n      pcVar7 = "(unnamed)";\n    }\n  }" { (labeled_statement "LAB_0003c4f6:\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_0003c4e3;" 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_0003c4e3;" goto statement_identifier ;)) (labeled_statement "LAB_0003c4fd:\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_000897ec == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003c4f6;\n    }\n    pcVar7 = *(char **)(param_2 + 8);\n    if (pcVar7 != (char *)0x0) goto LAB_0003c4fd;\nLAB_0003c4e3:\n    pcVar7 = "(unnamed)";\n  }" else (compound_statement "{\n    if (DAT_000897ec == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003c4f6;\n    }\n    pcVar7 = *(char **)(param_2 + 8);\n    if (pcVar7 != (char *)0x0) goto LAB_0003c4fd;\nLAB_0003c4e3:\n    pcVar7 = "(unnamed)";\n  }" { (if_statement "if (DAT_000897ec == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003c4f6;\n    }" if (parenthesized_expression "(DAT_000897ec == puVar3)" ( (binary_expression "DAT_000897ec == puVar3" identifier == identifier) )) (compound_statement "{\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003c4f6;\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_0003c4f6;" 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_0003c4fd;" 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_0003c4fd;" goto statement_identifier ;)) (labeled_statement "LAB_0003c4e3:\n    pcVar7 = "(unnamed)";" statement_identifier : (expression_statement "pcVar7 = "(unnamed)";" (assignment_expression "pcVar7 = "(unnamed)"" identifier = (string_literal ""(unnamed)"" " string_content ")) ;)) }))) (expression_statement "fwrite(&DAT_00061014,1,4,param_1);" (call_expression "fwrite(&DAT_00061014,1,4,param_1)" identifier (argument_list "(&DAT_00061014,1,4,param_1)" ( (pointer_expression "&DAT_00061014" & 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_000897ec)) {\n    if (*(undefined **)(pbVar6 + 0x24) != &DAT_00089760) {\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_0003c635;\nLAB_0003c7cf:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_000387f0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c7f7;\nLAB_0003c649:\n      iVar2 = FUN_00038510(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c65d;\nLAB_0003c81f:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00038580(pbVar6);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003c7cf;\nLAB_0003c635:\n      iVar2 = FUN_000387f0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c649;\nLAB_0003c7f7:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_00038510(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c81f;\nLAB_0003c65d:\n      iVar2 = FUN_00038580(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_0003ca10:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_000897ec) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003ca7c;\n          }\n          goto LAB_0003c750;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_0007ffb0 + 0xc0) goto LAB_0003c764;\n      goto LAB_0003c69c;\n    }\n    if (DAT_000897ec == puVar3) {\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003ca10;\nLAB_0003ca7c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0007ffb0 + 0xc0)\n      goto LAB_0003c5ae;\nLAB_0003c764:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003c5ae;\n    }\nLAB_0003c750:\n    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) goto LAB_0003c764;\nLAB_0003c5c2:\n    if (DAT_000897ec == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003c8a0:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c6a6;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_000897ec != puVar3) goto LAB_0003c6b8;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c8d8;\nLAB_0003c9e2:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c6b2;\n    }\n  }\n  else {\n    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_0007ff70)) {\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_0003c5ae:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003c5c2;\n    }\nLAB_0003c69c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003c8a0;\nLAB_0003c6a6:\n    pbVar5 = pbVar6;\n    if ((pbVar6[1] & 4) != 0) {\nLAB_0003c8d8:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_000897ec == puVar3) goto LAB_0003c9e2;\n        goto LAB_0003c6b8;\n      }\n    }\nLAB_0003c6b2:\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_000897ec))" ( (binary_expression "((bVar1 & 1) == 0) ||\n     (pbVar6 = *(byte **)(param_2 + 0xc), *(undefined4 **)(param_2 + 4) == DAT_000897ec)" (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_000897ec)" ( (comma_expression "pbVar6 = *(byte **)(param_2 + 0xc), *(undefined4 **)(param_2 + 4) == DAT_000897ec" (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_000897ec" (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_00089760) {\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_0003c635;\nLAB_0003c7cf:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_000387f0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c7f7;\nLAB_0003c649:\n      iVar2 = FUN_00038510(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c65d;\nLAB_0003c81f:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00038580(pbVar6);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003c7cf;\nLAB_0003c635:\n      iVar2 = FUN_000387f0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c649;\nLAB_0003c7f7:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_00038510(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c81f;\nLAB_0003c65d:\n      iVar2 = FUN_00038580(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_0003ca10:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_000897ec) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003ca7c;\n          }\n          goto LAB_0003c750;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_0007ffb0 + 0xc0) goto LAB_0003c764;\n      goto LAB_0003c69c;\n    }\n    if (DAT_000897ec == puVar3) {\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003ca10;\nLAB_0003ca7c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0007ffb0 + 0xc0)\n      goto LAB_0003c5ae;\nLAB_0003c764:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003c5ae;\n    }\nLAB_0003c750:\n    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) goto LAB_0003c764;\nLAB_0003c5c2:\n    if (DAT_000897ec == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003c8a0:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c6a6;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_000897ec != puVar3) goto LAB_0003c6b8;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c8d8;\nLAB_0003c9e2:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c6b2;\n    }\n  }" { (if_statement "if (*(undefined **)(pbVar6 + 0x24) != &DAT_00089760) {\n      fwrite(" frag ",1,6,param_1);\n      fprintf(param_1,"%016llx",*(undefined4 *)(pbVar6 + 0x24),0);\n    }" if (parenthesized_expression "(*(undefined **)(pbVar6 + 0x24) != &DAT_00089760)" ( (binary_expression "*(undefined **)(pbVar6 + 0x24) != &DAT_00089760" (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_00089760" & 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_0003c635;\nLAB_0003c7cf:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_000387f0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c7f7;\nLAB_0003c649:\n      iVar2 = FUN_00038510(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c65d;\nLAB_0003c81f:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00038580(pbVar6);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003c7cf;\nLAB_0003c635:\n      iVar2 = FUN_000387f0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c649;\nLAB_0003c7f7:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_00038510(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c81f;\nLAB_0003c65d:\n      iVar2 = FUN_00038580(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_0003c635;\nLAB_0003c7cf:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_000387f0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c7f7;\nLAB_0003c649:\n      iVar2 = FUN_00038510(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c65d;\nLAB_0003c81f:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00038580(pbVar6);\n    }" { (if_statement "if ((bVar1 & 0x20) == 0) goto LAB_0003c635;" 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_0003c635;" goto statement_identifier ;)) (labeled_statement "LAB_0003c7cf:\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_000387f0(pbVar6);" (assignment_expression "iVar2 = FUN_000387f0(pbVar6)" identifier = (call_expression "FUN_000387f0(pbVar6)" identifier (argument_list "(pbVar6)" ( identifier )))) ;) (if_statement "if (iVar2 != 0) goto LAB_0003c7f7;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0003c7f7;" goto statement_identifier ;)) (labeled_statement "LAB_0003c649:\n      iVar2 = FUN_00038510(pbVar6);" statement_identifier : (expression_statement "iVar2 = FUN_00038510(pbVar6);" (assignment_expression "iVar2 = FUN_00038510(pbVar6)" identifier = (call_expression "FUN_00038510(pbVar6)" identifier (argument_list "(pbVar6)" ( identifier )))) ;)) (if_statement "if (iVar2 == 0) goto LAB_0003c65d;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0003c65d;" goto statement_identifier ;)) (labeled_statement "LAB_0003c81f:\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_00038580(pbVar6);" (assignment_expression "iVar2 = FUN_00038580(pbVar6)" identifier = (call_expression "FUN_00038580(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_0003c7cf;\nLAB_0003c635:\n      iVar2 = FUN_000387f0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c649;\nLAB_0003c7f7:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_00038510(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c81f;\nLAB_0003c65d:\n      iVar2 = FUN_00038580(pbVar6);\n    }" else (compound_statement "{\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003c7cf;\nLAB_0003c635:\n      iVar2 = FUN_000387f0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c649;\nLAB_0003c7f7:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_00038510(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c81f;\nLAB_0003c65d:\n      iVar2 = FUN_00038580(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_0003c7cf;" 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_0003c7cf;" goto statement_identifier ;)) (labeled_statement "LAB_0003c635:\n      iVar2 = FUN_000387f0(pbVar6);" statement_identifier : (expression_statement "iVar2 = FUN_000387f0(pbVar6);" (assignment_expression "iVar2 = FUN_000387f0(pbVar6)" identifier = (call_expression "FUN_000387f0(pbVar6)" identifier (argument_list "(pbVar6)" ( identifier )))) ;)) (if_statement "if (iVar2 == 0) goto LAB_0003c649;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0003c649;" goto statement_identifier ;)) (labeled_statement "LAB_0003c7f7:\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_00038510(pbVar6);" (assignment_expression "iVar2 = FUN_00038510(pbVar6)" identifier = (call_expression "FUN_00038510(pbVar6)" identifier (argument_list "(pbVar6)" ( identifier )))) ;) (if_statement "if (iVar2 != 0) goto LAB_0003c81f;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0003c81f;" goto statement_identifier ;)) (labeled_statement "LAB_0003c65d:\n      iVar2 = FUN_00038580(pbVar6);" statement_identifier : (expression_statement "iVar2 = FUN_00038580(pbVar6);" (assignment_expression "iVar2 = FUN_00038580(pbVar6)" identifier = (call_expression "FUN_00038580(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_0003ca10:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_000897ec) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003ca7c;\n          }\n          goto LAB_0003c750;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_0007ffb0 + 0xc0) goto LAB_0003c764;\n      goto LAB_0003c69c;\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_0003ca10:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_000897ec) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003ca7c;\n          }\n          goto LAB_0003c750;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_0007ffb0 + 0xc0) goto LAB_0003c764;\n      goto LAB_0003c69c;\n    }" { (if_statement "if ((*(byte *)(puVar3 + 4) & 4) != 0) {\nLAB_0003ca10:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_000897ec) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003ca7c;\n          }\n          goto LAB_0003c750;\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_0003ca10:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_000897ec) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003ca7c;\n          }\n          goto LAB_0003c750;\n        }\n      }" { (labeled_statement "LAB_0003ca10:\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_000897ec) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003ca7c;\n          }\n          goto LAB_0003c750;\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_000897ec) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003ca7c;\n          }\n          goto LAB_0003c750;\n        }" { (if_statement "if (puVar3 == DAT_000897ec) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003ca7c;\n          }" if (parenthesized_expression "(puVar3 == DAT_000897ec)" ( (binary_expression "puVar3 == DAT_000897ec" identifier == identifier) )) (compound_statement "{\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003ca7c;\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_0003ca7c;" goto statement_identifier ;) })) (goto_statement "goto LAB_0003c750;" goto statement_identifier ;) })) })) (if_statement "if ((undefined *)puVar3[5] != PTR__bfd_std_section_0007ffb0 + 0xc0) goto LAB_0003c764;" if (parenthesized_expression "((undefined *)puVar3[5] != PTR__bfd_std_section_0007ffb0 + 0xc0)" ( (binary_expression "(undefined *)puVar3[5] != PTR__bfd_std_section_0007ffb0 + 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_0007ffb0 + 0xc0" identifier + number_literal)) )) (goto_statement "goto LAB_0003c764;" goto statement_identifier ;)) (goto_statement "goto LAB_0003c69c;" goto statement_identifier ;) })) (if_statement "if (DAT_000897ec == puVar3) {\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003ca10;\nLAB_0003ca7c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0007ffb0 + 0xc0)\n      goto LAB_0003c5ae;\nLAB_0003c764:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003c5ae;\n    }" if (parenthesized_expression "(DAT_000897ec == puVar3)" ( (binary_expression "DAT_000897ec == puVar3" identifier == identifier) )) (compound_statement "{\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003ca10;\nLAB_0003ca7c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0007ffb0 + 0xc0)\n      goto LAB_0003c5ae;\nLAB_0003c764:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003c5ae;\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_0003ca10;" 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_0003ca10;" goto statement_identifier ;)) (labeled_statement "LAB_0003ca7c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0007ffb0 + 0xc0)\n      goto LAB_0003c5ae;" statement_identifier : (if_statement "if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0007ffb0 + 0xc0)\n      goto LAB_0003c5ae;" if (parenthesized_expression "(*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0007ffb0 + 0xc0)" ( (binary_expression "*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0007ffb0 + 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_0007ffb0 + 0xc0" identifier + number_literal)) )) (goto_statement "goto LAB_0003c5ae;" goto statement_identifier ;))) (labeled_statement "LAB_0003c764:\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_0003c5ae;" goto statement_identifier ;) })) (labeled_statement "LAB_0003c750:\n    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) goto LAB_0003c764;" statement_identifier : (if_statement "if (puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) goto LAB_0003c764;" if (parenthesized_expression "(puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0))" ( (binary_expression "puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)" identifier != (cast_expression "(undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__bfd_std_section_0007ffb0 + 0xc0)" ( (binary_expression "PTR__bfd_std_section_0007ffb0 + 0xc0" identifier + number_literal) )))) )) (goto_statement "goto LAB_0003c764;" goto statement_identifier ;))) (labeled_statement "LAB_0003c5c2:\n    if (DAT_000897ec == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003c8a0:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c6a6;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_000897ec != puVar3) goto LAB_0003c6b8;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c8d8;\nLAB_0003c9e2:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c6b2;\n    }" statement_identifier : (if_statement "if (DAT_000897ec == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003c8a0:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c6a6;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_000897ec != puVar3) goto LAB_0003c6b8;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c8d8;\nLAB_0003c9e2:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c6b2;\n    }" if (parenthesized_expression "(DAT_000897ec == puVar3)" ( (binary_expression "DAT_000897ec == puVar3" identifier == identifier) )) (compound_statement "{\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003c8a0:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c6a6;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_000897ec != puVar3) goto LAB_0003c6b8;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c8d8;\nLAB_0003c9e2:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c6b2;\n    }" { (if_statement "if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003c8a0:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c6a6;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_000897ec != puVar3) goto LAB_0003c6b8;\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_0003c8a0:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c6a6;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_000897ec != puVar3) goto LAB_0003c6b8;\n      }" { (labeled_statement "LAB_0003c8a0:\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_0003c6a6;" 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_0003c6a6;" 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_000897ec != puVar3) goto LAB_0003c6b8;" if (parenthesized_expression "(DAT_000897ec != puVar3)" ( (binary_expression "DAT_000897ec != puVar3" identifier != identifier) )) (goto_statement "goto LAB_0003c6b8;" goto statement_identifier ;)) })) (if_statement "if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c8d8;" 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_0003c8d8;" goto statement_identifier ;)) (labeled_statement "LAB_0003c9e2:\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_0003c6b2;" goto statement_identifier ;) }))) }) (else_clause "else {\n    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_0007ff70)) {\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_0003c5ae:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003c5c2;\n    }\nLAB_0003c69c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003c8a0;\nLAB_0003c6a6:\n    pbVar5 = pbVar6;\n    if ((pbVar6[1] & 4) != 0) {\nLAB_0003c8d8:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_000897ec == puVar3) goto LAB_0003c9e2;\n        goto LAB_0003c6b8;\n      }\n    }\nLAB_0003c6b2:\n    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\n  }" else (compound_statement "{\n    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_0007ff70)) {\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_0003c5ae:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003c5c2;\n    }\nLAB_0003c69c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003c8a0;\nLAB_0003c6a6:\n    pbVar5 = pbVar6;\n    if ((pbVar6[1] & 4) != 0) {\nLAB_0003c8d8:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_000897ec == puVar3) goto LAB_0003c9e2;\n        goto LAB_0003c6b8;\n      }\n    }\nLAB_0003c6b2:\n    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\n  }" { (if_statement "if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_0007ff70)) {\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_0007ff70))" ( (binary_expression "(pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_0007ff70)" (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_0007ff70)" ( (binary_expression "pbVar6 != PTR_DAT_0007ff70" 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_0003c5ae:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003c5c2;\n    }" statement_identifier : (if_statement "if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003c5c2;\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_0003c5c2;\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_0003c5c2;" goto statement_identifier ;) }))) (labeled_statement "LAB_0003c69c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003c8a0;" statement_identifier : (if_statement "if ((pbVar6[1] & 2) != 0) goto LAB_0003c8a0;" 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_0003c8a0;" goto statement_identifier ;))) (labeled_statement "LAB_0003c6a6:\n    pbVar5 = pbVar6;" statement_identifier : (expression_statement "pbVar5 = pbVar6;" (assignment_expression "pbVar5 = pbVar6" identifier = identifier) ;)) (if_statement "if ((pbVar6[1] & 4) != 0) {\nLAB_0003c8d8:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_000897ec == puVar3) goto LAB_0003c9e2;\n        goto LAB_0003c6b8;\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_0003c8d8:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_000897ec == puVar3) goto LAB_0003c9e2;\n        goto LAB_0003c6b8;\n      }\n    }" { (labeled_statement "LAB_0003c8d8:\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_000897ec == puVar3) goto LAB_0003c9e2;\n        goto LAB_0003c6b8;\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_000897ec == puVar3) goto LAB_0003c9e2;\n        goto LAB_0003c6b8;\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_000897ec == puVar3) goto LAB_0003c9e2;" if (parenthesized_expression "(DAT_000897ec == puVar3)" ( (binary_expression "DAT_000897ec == puVar3" identifier == identifier) )) (goto_statement "goto LAB_0003c9e2;" goto statement_identifier ;)) (goto_statement "goto LAB_0003c6b8;" goto statement_identifier ;) })) })) (labeled_statement "LAB_0003c6b2:\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_0003c6b8:\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_0003c786:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003c6f3:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) &&\n         (DAT_00089720 != puVar3)) {\n        uVar4 = FUN_0003a220();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003c727;\n    }\n    if (7 < DAT_00089a4c) goto LAB_0003c727;\n    iVar2 = *(int *)(pbVar6 + 4);\nLAB_0003c7a8:\n    puVar3 = *(undefined4 **)(iVar2 + 0x14);\n  }\n  else {\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if (puVar3 == DAT_000897ec) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003c786;\n      if (7 < DAT_00089a4c) goto LAB_0003c727;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003c7a8;\n    }\n    if ((bVar1 & 4) != 0) goto LAB_0003c6f3;\n    if (7 < DAT_00089a4c) goto LAB_0003c727;\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_0003c786:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003c6f3:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) &&\n         (DAT_00089720 != puVar3)) {\n        uVar4 = FUN_0003a220();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003c727;\n    }\n    if (7 < DAT_00089a4c) goto LAB_0003c727;\n    iVar2 = *(int *)(pbVar6 + 4);\nLAB_0003c7a8:\n    puVar3 = *(undefined4 **)(iVar2 + 0x14);\n  }" { (expression_statement "pbVar5 = pbVar6;" (assignment_expression "pbVar5 = pbVar6" identifier = identifier) ;) (if_statement "if ((bVar1 & 4) != 0) {\nLAB_0003c786:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003c6f3:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) &&\n         (DAT_00089720 != puVar3)) {\n        uVar4 = FUN_0003a220();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003c727;\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_0003c786:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003c6f3:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) &&\n         (DAT_00089720 != puVar3)) {\n        uVar4 = FUN_0003a220();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003c727;\n    }" { (labeled_statement "LAB_0003c786:\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_0003c6f3:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) &&\n         (DAT_00089720 != puVar3)) {\n        uVar4 = FUN_0003a220();\n        fprintf(param_1," %lx",uVar4);\n      }" statement_identifier : (if_statement "if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) &&\n         (DAT_00089720 != puVar3)) {\n        uVar4 = FUN_0003a220();\n        fprintf(param_1," %lx",uVar4);\n      }" if (parenthesized_expression "((puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) &&\n         (DAT_00089720 != puVar3))" ( (binary_expression "(puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) &&\n         (DAT_00089720 != puVar3)" (parenthesized_expression "(puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0))" ( (binary_expression "puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)" identifier != (cast_expression "(undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__bfd_std_section_0007ffb0 + 0xc0)" ( (binary_expression "PTR__bfd_std_section_0007ffb0 + 0xc0" identifier + number_literal) )))) )) && (parenthesized_expression "(DAT_00089720 != puVar3)" ( (binary_expression "DAT_00089720 != puVar3" identifier != identifier) ))) )) (compound_statement "{\n        uVar4 = FUN_0003a220();\n        fprintf(param_1," %lx",uVar4);\n      }" { (expression_statement "uVar4 = FUN_0003a220();" (assignment_expression "uVar4 = FUN_0003a220()" identifier = (call_expression "FUN_0003a220()" 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_0003c727;" goto statement_identifier ;) })) (if_statement "if (7 < DAT_00089a4c) goto LAB_0003c727;" if (parenthesized_expression "(7 < DAT_00089a4c)" ( (binary_expression "7 < DAT_00089a4c" number_literal < identifier) )) (goto_statement "goto LAB_0003c727;" 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_0003c7a8:\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_000897ec) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003c786;\n      if (7 < DAT_00089a4c) goto LAB_0003c727;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003c7a8;\n    }\n    if ((bVar1 & 4) != 0) goto LAB_0003c6f3;\n    if (7 < DAT_00089a4c) goto LAB_0003c727;\n  }" else (compound_statement "{\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if (puVar3 == DAT_000897ec) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003c786;\n      if (7 < DAT_00089a4c) goto LAB_0003c727;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003c7a8;\n    }\n    if ((bVar1 & 4) != 0) goto LAB_0003c6f3;\n    if (7 < DAT_00089a4c) goto LAB_0003c727;\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_000897ec) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003c786;\n      if (7 < DAT_00089a4c) goto LAB_0003c727;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003c7a8;\n    }" if (parenthesized_expression "(puVar3 == DAT_000897ec)" ( (binary_expression "puVar3 == DAT_000897ec" identifier == identifier) )) (compound_statement "{\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003c786;\n      if (7 < DAT_00089a4c) goto LAB_0003c727;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003c7a8;\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_0003c786;" 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_0003c786;" goto statement_identifier ;)) (if_statement "if (7 < DAT_00089a4c) goto LAB_0003c727;" if (parenthesized_expression "(7 < DAT_00089a4c)" ( (binary_expression "7 < DAT_00089a4c" number_literal < identifier) )) (goto_statement "goto LAB_0003c727;" 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_0003c7a8;" goto statement_identifier ;) })) (if_statement "if ((bVar1 & 4) != 0) goto LAB_0003c6f3;" 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_0003c6f3;" goto statement_identifier ;)) (if_statement "if (7 < DAT_00089a4c) goto LAB_0003c727;" if (parenthesized_expression "(7 < DAT_00089a4c)" ( (binary_expression "7 < DAT_00089a4c" number_literal < identifier) )) (goto_statement "goto LAB_0003c727;" goto statement_identifier ;)) }))) (if_statement "if (puVar3 == (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) goto LAB_0003c727;" if (parenthesized_expression "(puVar3 == (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0))" ( (binary_expression "puVar3 == (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)" identifier == (cast_expression "(undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__bfd_std_section_0007ffb0 + 0xc0)" ( (binary_expression "PTR__bfd_std_section_0007ffb0 + 0xc0" identifier + number_literal) )))) )) (goto_statement "goto LAB_0003c727;" goto statement_identifier ;)) (expression_statement "DAT_00089a4c = DAT_00089a4c + 1;" (assignment_expression "DAT_00089a4c = DAT_00089a4c + 1" identifier = (binary_expression "DAT_00089a4c + 1" identifier + number_literal)) ;) (expression_statement "puVar8 = &DAT_0005db05;" (assignment_expression "puVar8 = &DAT_0005db05" identifier = (pointer_expression "&DAT_0005db05" & identifier)) ;) (expression_statement "fprintf(param_1,"\n%*s<",DAT_00089a4c * 4,&DAT_0005db05);" (call_expression "fprintf(param_1,"\n%*s<",DAT_00089a4c * 4,&DAT_0005db05)" identifier (argument_list "(param_1,"\n%*s<",DAT_00089a4c * 4,&DAT_0005db05)" ( identifier , (string_literal ""\n%*s<"" " escape_sequence string_content ") , (binary_expression "DAT_00089a4c * 4" identifier * number_literal) , (pointer_expression "&DAT_0005db05" & identifier) ))) ;) (if_statement "if ((*pbVar6 & 1) == 0) {\nLAB_0003caa3:\n    FUN_0003c010(param_1,pbVar6 + 8);\n  }\n  else {\n    if (*(undefined4 **)(pbVar6 + 4) == DAT_000897ec) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003caa3;\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_0003caa3:\n    FUN_0003c010(param_1,pbVar6 + 8);\n  }" { (labeled_statement "LAB_0003caa3:\n    FUN_0003c010(param_1,pbVar6 + 8);" statement_identifier : (expression_statement "FUN_0003c010(param_1,pbVar6 + 8);" (call_expression "FUN_0003c010(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_000897ec) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003caa3;\n    }\n    fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);\n  }" else (compound_statement "{\n    if (*(undefined4 **)(pbVar6 + 4) == DAT_000897ec) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003caa3;\n    }\n    fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);\n  }" { (if_statement "if (*(undefined4 **)(pbVar6 + 4) == DAT_000897ec) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003caa3;\n    }" if (parenthesized_expression "(*(undefined4 **)(pbVar6 + 4) == DAT_000897ec)" ( (binary_expression "*(undefined4 **)(pbVar6 + 4) == DAT_000897ec" (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_0003caa3;\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_0003caa3;" 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_00089a4c = DAT_00089a4c + -1;" (assignment_expression "DAT_00089a4c = DAT_00089a4c + -1" identifier = (binary_expression "DAT_00089a4c + -1" identifier + number_literal)) ;) (labeled_statement "LAB_0003c727:\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_0003c4f6:\n    psVar7 = (symbolS *)paVar4->id;\n    if (psVar7 == (symbolS *)0x0) goto LAB_0003c4e3;\nLAB_0003c4fd:\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_0003c4f6;\n    }\n    psVar7 = (sym->sy_value).X_add_symbol;\n    if (psVar7 != (symbolS *)0x0) goto LAB_0003c4fd;\nLAB_0003c4e3:\n    psVar7 = (symbolS *)"(unnamed)";\n  }\n  fwrite(&DAT_00061014,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_0003c635;\nLAB_0003c7cf:\n      fwrite(" used",1,5,(FILE *)file);\n      iVar3 = S_IS_LOCAL(psVar7);\n      if (iVar3 != 0) goto LAB_0003c7f7;\nLAB_0003c649:\n      iVar3 = S_IS_EXTERNAL(psVar7);\n      if (iVar3 == 0) goto LAB_0003c65d;\nLAB_0003c81f:\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_0003c7cf;\nLAB_0003c635:\n      iVar3 = S_IS_LOCAL(psVar7);\n      if (iVar3 == 0) goto LAB_0003c649;\nLAB_0003c7f7:\n      fwrite(" local",1,6,(FILE *)file);\n      iVar3 = S_IS_EXTERNAL(psVar7);\n      if (iVar3 != 0) goto LAB_0003c81f;\nLAB_0003c65d:\n      iVar3 = S_IS_WEAK(psVar7);\n    }\n    if (iVar3 != 0) {\n      fwrite(&DAT_0006105c,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_0003ca10:\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_0003ca7c;\n          }\n          goto LAB_0003c750;\n        }\n      }\n      if ((undefined *)paVar4->flags != PTR__bfd_std_section_0007ffb0 + 0xc0) goto LAB_0003c764;\n      goto LAB_0003c69c;\n    }\n    if (reg_section == paVar4) {\n      psVar5 = (psVar7->sy_value).X_op_symbol;\n      if ((psVar5->bsym->flags & 4) != 0) goto LAB_0003ca10;\nLAB_0003ca7c:\n      if (psVar5->bsym->section == (bfd_section *)(PTR__bfd_std_section_0007ffb0 + 0xc0))\n      goto LAB_0003c5ae;\nLAB_0003c764:\n      fwrite(" defined",1,8,(FILE *)file);\n      goto LAB_0003c5ae;\n    }\nLAB_0003c750:\n    if (paVar4 != (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)) goto LAB_0003c764;\nLAB_0003c5c2:\n    if (reg_section == paVar4) {\n      if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 2) != 0) {\nLAB_0003c8a0:\n        fwrite(" weakrefr",1,9,(FILE *)file);\n        if (((uint)psVar7->sy_flags & 1) == 0) goto LAB_0003c6a6;\n        paVar4 = (segT)psVar7->bsym;\n        if (reg_section != paVar4) goto LAB_0003c6b8;\n      }\n      if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 4) != 0) goto LAB_0003c8d8;\nLAB_0003c9e2:\n      psVar5 = (psVar7->sy_value).X_op_symbol;\n      goto LAB_0003c6b2;\n    }\n  }\n  else {\n    if ((psVar7 != (symbolS *)0x0) && (psVar7 != (symbolS *)PTR_zero_address_frag_0007ff70)) {\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_0003c5ae:\n    if (((uint)psVar7->sy_flags & 1) != 0) {\n      paVar4 = (segT)psVar7->bsym;\n      goto LAB_0003c5c2;\n    }\nLAB_0003c69c:\n    if (((psVar7->sy_flags).field_0x1 & 2) != 0) goto LAB_0003c8a0;\nLAB_0003c6a6:\n    psVar5 = psVar7;\n    if (((psVar7->sy_flags).field_0x1 & 4) != 0) {\nLAB_0003c8d8:\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_0003c9e2;\n        goto LAB_0003c6b8;\n      }\n    }\nLAB_0003c6b2:\n    paVar4 = psVar5->bsym->section;\n  }\nLAB_0003c6b8:\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_0003c786:\n      paVar4 = psVar5->bsym->section;\nLAB_0003c6f3:\n      if ((paVar4 != (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)) && (expr_section != paVar4)) {\n        vVar8 = S_GET_VALUE(psVar7);\n        fprintf((FILE *)file," %lx",(int)vVar8);\n      }\n      goto LAB_0003c727;\n    }\n    if (7 < indent_level) goto LAB_0003c727;\n    paVar6 = psVar7->bsym;\nLAB_0003c7a8:\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_0003c786;\n      if (7 < indent_level) goto LAB_0003c727;\n      paVar6 = psVar5->bsym;\n      goto LAB_0003c7a8;\n    }\n    if (((uint)sVar1 & 4) != 0) goto LAB_0003c6f3;\n    if (7 < indent_level) goto LAB_0003c727;\n  }\n  if (paVar4 == (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)) goto LAB_0003c727;\n  indent_level = indent_level + 1;\n  puVar9 = &DAT_0005db05;\n  fprintf((FILE *)file,"\n%*s<",indent_level * 4,&DAT_0005db05);\n  if (((uint)psVar7->sy_flags & 1) == 0) {\nLAB_0003caa3:\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_0003caa3;\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_0003c727:\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_0003c4f6:\n    psVar7 = (symbolS *)paVar4->id;\n    if (psVar7 == (symbolS *)0x0) goto LAB_0003c4e3;\nLAB_0003c4fd:\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_0003c4f6;\n    }\n    psVar7 = (sym->sy_value).X_add_symbol;\n    if (psVar7 != (symbolS *)0x0) goto LAB_0003c4fd;\nLAB_0003c4e3:\n    psVar7 = (symbolS *)"(unnamed)";\n  }\n  fwrite(&DAT_00061014,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_0003c635;\nLAB_0003c7cf:\n      fwrite(" used",1,5,(FILE *)file);\n      iVar3 = S_IS_LOCAL(psVar7);\n      if (iVar3 != 0) goto LAB_0003c7f7;\nLAB_0003c649:\n      iVar3 = S_IS_EXTERNAL(psVar7);\n      if (iVar3 == 0) goto LAB_0003c65d;\nLAB_0003c81f:\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_0003c7cf;\nLAB_0003c635:\n      iVar3 = S_IS_LOCAL(psVar7);\n      if (iVar3 == 0) goto LAB_0003c649;\nLAB_0003c7f7:\n      fwrite(" local",1,6,(FILE *)file);\n      iVar3 = S_IS_EXTERNAL(psVar7);\n      if (iVar3 != 0) goto LAB_0003c81f;\nLAB_0003c65d:\n      iVar3 = S_IS_WEAK(psVar7);\n    }\n    if (iVar3 != 0) {\n      fwrite(&DAT_0006105c,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_0003ca10:\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_0003ca7c;\n          }\n          goto LAB_0003c750;\n        }\n      }\n      if ((undefined *)paVar4->flags != PTR__bfd_std_section_0007ffb0 + 0xc0) goto LAB_0003c764;\n      goto LAB_0003c69c;\n    }\n    if (reg_section == paVar4) {\n      psVar5 = (psVar7->sy_value).X_op_symbol;\n      if ((psVar5->bsym->flags & 4) != 0) goto LAB_0003ca10;\nLAB_0003ca7c:\n      if (psVar5->bsym->section == (bfd_section *)(PTR__bfd_std_section_0007ffb0 + 0xc0))\n      goto LAB_0003c5ae;\nLAB_0003c764:\n      fwrite(" defined",1,8,(FILE *)file);\n      goto LAB_0003c5ae;\n    }\nLAB_0003c750:\n    if (paVar4 != (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)) goto LAB_0003c764;\nLAB_0003c5c2:\n    if (reg_section == paVar4) {\n      if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 2) != 0) {\nLAB_0003c8a0:\n        fwrite(" weakrefr",1,9,(FILE *)file);\n        if (((uint)psVar7->sy_flags & 1) == 0) goto LAB_0003c6a6;\n        paVar4 = (segT)psVar7->bsym;\n        if (reg_section != paVar4) goto LAB_0003c6b8;\n      }\n      if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 4) != 0) goto LAB_0003c8d8;\nLAB_0003c9e2:\n      psVar5 = (psVar7->sy_value).X_op_symbol;\n      goto LAB_0003c6b2;\n    }\n  }\n  else {\n    if ((psVar7 != (symbolS *)0x0) && (psVar7 != (symbolS *)PTR_zero_address_frag_0007ff70)) {\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_0003c5ae:\n    if (((uint)psVar7->sy_flags & 1) != 0) {\n      paVar4 = (segT)psVar7->bsym;\n      goto LAB_0003c5c2;\n    }\nLAB_0003c69c:\n    if (((psVar7->sy_flags).field_0x1 & 2) != 0) goto LAB_0003c8a0;\nLAB_0003c6a6:\n    psVar5 = psVar7;\n    if (((psVar7->sy_flags).field_0x1 & 4) != 0) {\nLAB_0003c8d8:\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_0003c9e2;\n        goto LAB_0003c6b8;\n      }\n    }\nLAB_0003c6b2:\n    paVar4 = psVar5->bsym->section;\n  }\nLAB_0003c6b8:\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_0003c786:\n      paVar4 = psVar5->bsym->section;\nLAB_0003c6f3:\n      if ((paVar4 != (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)) && (expr_section != paVar4)) {\n        vVar8 = S_GET_VALUE(psVar7);\n        fprintf((FILE *)file," %lx",(int)vVar8);\n      }\n      goto LAB_0003c727;\n    }\n    if (7 < indent_level) goto LAB_0003c727;\n    paVar6 = psVar7->bsym;\nLAB_0003c7a8:\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_0003c786;\n      if (7 < indent_level) goto LAB_0003c727;\n      paVar6 = psVar5->bsym;\n      goto LAB_0003c7a8;\n    }\n    if (((uint)sVar1 & 4) != 0) goto LAB_0003c6f3;\n    if (7 < indent_level) goto LAB_0003c727;\n  }\n  if (paVar4 == (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)) goto LAB_0003c727;\n  indent_level = indent_level + 1;\n  puVar9 = &DAT_0005db05;\n  fprintf((FILE *)file,"\n%*s<",indent_level * 4,&DAT_0005db05);\n  if (((uint)psVar7->sy_flags & 1) == 0) {\nLAB_0003caa3:\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_0003caa3;\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_0003c727:\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_0003c4f6:\n    psVar7 = (symbolS *)paVar4->id;\n    if (psVar7 == (symbolS *)0x0) goto LAB_0003c4e3;\nLAB_0003c4fd:\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_0003c4f6;\n    }\n    psVar7 = (sym->sy_value).X_add_symbol;\n    if (psVar7 != (symbolS *)0x0) goto LAB_0003c4fd;\nLAB_0003c4e3:\n    psVar7 = (symbolS *)"(unnamed)";\n  }\n  fwrite(&DAT_00061014,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_0003c635;\nLAB_0003c7cf:\n      fwrite(" used",1,5,(FILE *)file);\n      iVar3 = S_IS_LOCAL(psVar7);\n      if (iVar3 != 0) goto LAB_0003c7f7;\nLAB_0003c649:\n      iVar3 = S_IS_EXTERNAL(psVar7);\n      if (iVar3 == 0) goto LAB_0003c65d;\nLAB_0003c81f:\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_0003c7cf;\nLAB_0003c635:\n      iVar3 = S_IS_LOCAL(psVar7);\n      if (iVar3 == 0) goto LAB_0003c649;\nLAB_0003c7f7:\n      fwrite(" local",1,6,(FILE *)file);\n      iVar3 = S_IS_EXTERNAL(psVar7);\n      if (iVar3 != 0) goto LAB_0003c81f;\nLAB_0003c65d:\n      iVar3 = S_IS_WEAK(psVar7);\n    }\n    if (iVar3 != 0) {\n      fwrite(&DAT_0006105c,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_0003ca10:\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_0003ca7c;\n          }\n          goto LAB_0003c750;\n        }\n      }\n      if ((undefined *)paVar4->flags != PTR__bfd_std_section_0007ffb0 + 0xc0) goto LAB_0003c764;\n      goto LAB_0003c69c;\n    }\n    if (reg_section == paVar4) {\n      psVar5 = (psVar7->sy_value).X_op_symbol;\n      if ((psVar5->bsym->flags & 4) != 0) goto LAB_0003ca10;\nLAB_0003ca7c:\n      if (psVar5->bsym->section == (bfd_section *)(PTR__bfd_std_section_0007ffb0 + 0xc0))\n      goto LAB_0003c5ae;\nLAB_0003c764:\n      fwrite(" defined",1,8,(FILE *)file);\n      goto LAB_0003c5ae;\n    }\nLAB_0003c750:\n    if (paVar4 != (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)) goto LAB_0003c764;\nLAB_0003c5c2:\n    if (reg_section == paVar4) {\n      if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 2) != 0) {\nLAB_0003c8a0:\n        fwrite(" weakrefr",1,9,(FILE *)file);\n        if (((uint)psVar7->sy_flags & 1) == 0) goto LAB_0003c6a6;\n        paVar4 = (segT)psVar7->bsym;\n        if (reg_section != paVar4) goto LAB_0003c6b8;\n      }\n      if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 4) != 0) goto LAB_0003c8d8;\nLAB_0003c9e2:\n      psVar5 = (psVar7->sy_value).X_op_symbol;\n      goto LAB_0003c6b2;\n    }\n  }\n  else {\n    if ((psVar7 != (symbolS *)0x0) && (psVar7 != (symbolS *)PTR_zero_address_frag_0007ff70)) {\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_0003c5ae:\n    if (((uint)psVar7->sy_flags & 1) != 0) {\n      paVar4 = (segT)psVar7->bsym;\n      goto LAB_0003c5c2;\n    }\nLAB_0003c69c:\n    if (((psVar7->sy_flags).field_0x1 & 2) != 0) goto LAB_0003c8a0;\nLAB_0003c6a6:\n    psVar5 = psVar7;\n    if (((psVar7->sy_flags).field_0x1 & 4) != 0) {\nLAB_0003c8d8:\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_0003c9e2;\n        goto LAB_0003c6b8;\n      }\n    }\nLAB_0003c6b2:\n    paVar4 = psVar5->bsym->section;\n  }\nLAB_0003c6b8:\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_0003c786:\n      paVar4 = psVar5->bsym->section;\nLAB_0003c6f3:\n      if ((paVar4 != (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)) && (expr_section != paVar4)) {\n        vVar8 = S_GET_VALUE(psVar7);\n        fprintf((FILE *)file," %lx",(int)vVar8);\n      }\n      goto LAB_0003c727;\n    }\n    if (7 < indent_level) goto LAB_0003c727;\n    paVar6 = psVar7->bsym;\nLAB_0003c7a8:\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_0003c786;\n      if (7 < indent_level) goto LAB_0003c727;\n      paVar6 = psVar5->bsym;\n      goto LAB_0003c7a8;\n    }\n    if (((uint)sVar1 & 4) != 0) goto LAB_0003c6f3;\n    if (7 < indent_level) goto LAB_0003c727;\n  }\n  if (paVar4 == (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)) goto LAB_0003c727;\n  indent_level = indent_level + 1;\n  puVar9 = &DAT_0005db05;\n  fprintf((FILE *)file,"\n%*s<",indent_level * 4,&DAT_0005db05);\n  if (((uint)psVar7->sy_flags & 1) == 0) {\nLAB_0003caa3:\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_0003caa3;\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_0003c727:\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_0003c4f6:\n    psVar7 = (symbolS *)paVar4->id;\n    if (psVar7 == (symbolS *)0x0) goto LAB_0003c4e3;\nLAB_0003c4fd:\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_0003c4f6;\n    }\n    psVar7 = (sym->sy_value).X_add_symbol;\n    if (psVar7 != (symbolS *)0x0) goto LAB_0003c4fd;\nLAB_0003c4e3:\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_0003c4f6:\n    psVar7 = (symbolS *)paVar4->id;\n    if (psVar7 == (symbolS *)0x0) goto LAB_0003c4e3;\nLAB_0003c4fd:\n    if (*(char *)&psVar7->sy_flags == '\0') {\n      psVar7 = (symbolS *)"(unnamed)";\n    }\n  }" { (labeled_statement "LAB_0003c4f6:\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_0003c4e3;" 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_0003c4e3;" goto statement_identifier ;)) (labeled_statement "LAB_0003c4fd:\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_0003c4f6;\n    }\n    psVar7 = (sym->sy_value).X_add_symbol;\n    if (psVar7 != (symbolS *)0x0) goto LAB_0003c4fd;\nLAB_0003c4e3:\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_0003c4f6;\n    }\n    psVar7 = (sym->sy_value).X_add_symbol;\n    if (psVar7 != (symbolS *)0x0) goto LAB_0003c4fd;\nLAB_0003c4e3:\n    psVar7 = (symbolS *)"(unnamed)";\n  }" { (if_statement "if (reg_section == paVar4) {\n      paVar4 = (segT)((sym->sy_value).X_op_symbol)->bsym;\n      goto LAB_0003c4f6;\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_0003c4f6;\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_0003c4f6;" 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_0003c4fd;" 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_0003c4fd;" goto statement_identifier ;)) (labeled_statement "LAB_0003c4e3:\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_00061014,1,4,(FILE *)file);" (call_expression "fwrite(&DAT_00061014,1,4,(FILE *)file)" identifier (argument_list "(&DAT_00061014,1,4,(FILE *)file)" ( (pointer_expression "&DAT_00061014" & 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_0003c635;\nLAB_0003c7cf:\n      fwrite(" used",1,5,(FILE *)file);\n      iVar3 = S_IS_LOCAL(psVar7);\n      if (iVar3 != 0) goto LAB_0003c7f7;\nLAB_0003c649:\n      iVar3 = S_IS_EXTERNAL(psVar7);\n      if (iVar3 == 0) goto LAB_0003c65d;\nLAB_0003c81f:\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_0003c7cf;\nLAB_0003c635:\n      iVar3 = S_IS_LOCAL(psVar7);\n      if (iVar3 == 0) goto LAB_0003c649;\nLAB_0003c7f7:\n      fwrite(" local",1,6,(FILE *)file);\n      iVar3 = S_IS_EXTERNAL(psVar7);\n      if (iVar3 != 0) goto LAB_0003c81f;\nLAB_0003c65d:\n      iVar3 = S_IS_WEAK(psVar7);\n    }\n    if (iVar3 != 0) {\n      fwrite(&DAT_0006105c,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_0003ca10:\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_0003ca7c;\n          }\n          goto LAB_0003c750;\n        }\n      }\n      if ((undefined *)paVar4->flags != PTR__bfd_std_section_0007ffb0 + 0xc0) goto LAB_0003c764;\n      goto LAB_0003c69c;\n    }\n    if (reg_section == paVar4) {\n      psVar5 = (psVar7->sy_value).X_op_symbol;\n      if ((psVar5->bsym->flags & 4) != 0) goto LAB_0003ca10;\nLAB_0003ca7c:\n      if (psVar5->bsym->section == (bfd_section *)(PTR__bfd_std_section_0007ffb0 + 0xc0))\n      goto LAB_0003c5ae;\nLAB_0003c764:\n      fwrite(" defined",1,8,(FILE *)file);\n      goto LAB_0003c5ae;\n    }\nLAB_0003c750:\n    if (paVar4 != (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)) goto LAB_0003c764;\nLAB_0003c5c2:\n    if (reg_section == paVar4) {\n      if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 2) != 0) {\nLAB_0003c8a0:\n        fwrite(" weakrefr",1,9,(FILE *)file);\n        if (((uint)psVar7->sy_flags & 1) == 0) goto LAB_0003c6a6;\n        paVar4 = (segT)psVar7->bsym;\n        if (reg_section != paVar4) goto LAB_0003c6b8;\n      }\n      if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 4) != 0) goto LAB_0003c8d8;\nLAB_0003c9e2:\n      psVar5 = (psVar7->sy_value).X_op_symbol;\n      goto LAB_0003c6b2;\n    }\n  }\n  else {\n    if ((psVar7 != (symbolS *)0x0) && (psVar7 != (symbolS *)PTR_zero_address_frag_0007ff70)) {\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_0003c5ae:\n    if (((uint)psVar7->sy_flags & 1) != 0) {\n      paVar4 = (segT)psVar7->bsym;\n      goto LAB_0003c5c2;\n    }\nLAB_0003c69c:\n    if (((psVar7->sy_flags).field_0x1 & 2) != 0) goto LAB_0003c8a0;\nLAB_0003c6a6:\n    psVar5 = psVar7;\n    if (((psVar7->sy_flags).field_0x1 & 4) != 0) {\nLAB_0003c8d8:\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_0003c9e2;\n        goto LAB_0003c6b8;\n      }\n    }\nLAB_0003c6b2:\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_0003c635;\nLAB_0003c7cf:\n      fwrite(" used",1,5,(FILE *)file);\n      iVar3 = S_IS_LOCAL(psVar7);\n      if (iVar3 != 0) goto LAB_0003c7f7;\nLAB_0003c649:\n      iVar3 = S_IS_EXTERNAL(psVar7);\n      if (iVar3 == 0) goto LAB_0003c65d;\nLAB_0003c81f:\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_0003c7cf;\nLAB_0003c635:\n      iVar3 = S_IS_LOCAL(psVar7);\n      if (iVar3 == 0) goto LAB_0003c649;\nLAB_0003c7f7:\n      fwrite(" local",1,6,(FILE *)file);\n      iVar3 = S_IS_EXTERNAL(psVar7);\n      if (iVar3 != 0) goto LAB_0003c81f;\nLAB_0003c65d:\n      iVar3 = S_IS_WEAK(psVar7);\n    }\n    if (iVar3 != 0) {\n      fwrite(&DAT_0006105c,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_0003ca10:\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_0003ca7c;\n          }\n          goto LAB_0003c750;\n        }\n      }\n      if ((undefined *)paVar4->flags != PTR__bfd_std_section_0007ffb0 + 0xc0) goto LAB_0003c764;\n      goto LAB_0003c69c;\n    }\n    if (reg_section == paVar4) {\n      psVar5 = (psVar7->sy_value).X_op_symbol;\n      if ((psVar5->bsym->flags & 4) != 0) goto LAB_0003ca10;\nLAB_0003ca7c:\n      if (psVar5->bsym->section == (bfd_section *)(PTR__bfd_std_section_0007ffb0 + 0xc0))\n      goto LAB_0003c5ae;\nLAB_0003c764:\n      fwrite(" defined",1,8,(FILE *)file);\n      goto LAB_0003c5ae;\n    }\nLAB_0003c750:\n    if (paVar4 != (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)) goto LAB_0003c764;\nLAB_0003c5c2:\n    if (reg_section == paVar4) {\n      if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 2) != 0) {\nLAB_0003c8a0:\n        fwrite(" weakrefr",1,9,(FILE *)file);\n        if (((uint)psVar7->sy_flags & 1) == 0) goto LAB_0003c6a6;\n        paVar4 = (segT)psVar7->bsym;\n        if (reg_section != paVar4) goto LAB_0003c6b8;\n      }\n      if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 4) != 0) goto LAB_0003c8d8;\nLAB_0003c9e2:\n      psVar5 = (psVar7->sy_value).X_op_symbol;\n      goto LAB_0003c6b2;\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_0003c635;\nLAB_0003c7cf:\n      fwrite(" used",1,5,(FILE *)file);\n      iVar3 = S_IS_LOCAL(psVar7);\n      if (iVar3 != 0) goto LAB_0003c7f7;\nLAB_0003c649:\n      iVar3 = S_IS_EXTERNAL(psVar7);\n      if (iVar3 == 0) goto LAB_0003c65d;\nLAB_0003c81f:\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_0003c7cf;\nLAB_0003c635:\n      iVar3 = S_IS_LOCAL(psVar7);\n      if (iVar3 == 0) goto LAB_0003c649;\nLAB_0003c7f7:\n      fwrite(" local",1,6,(FILE *)file);\n      iVar3 = S_IS_EXTERNAL(psVar7);\n      if (iVar3 != 0) goto LAB_0003c81f;\nLAB_0003c65d:\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_0003c635;\nLAB_0003c7cf:\n      fwrite(" used",1,5,(FILE *)file);\n      iVar3 = S_IS_LOCAL(psVar7);\n      if (iVar3 != 0) goto LAB_0003c7f7;\nLAB_0003c649:\n      iVar3 = S_IS_EXTERNAL(psVar7);\n      if (iVar3 == 0) goto LAB_0003c65d;\nLAB_0003c81f:\n      fwrite(" extern",1,7,(FILE *)file);\n      iVar3 = S_IS_WEAK(psVar7);\n    }" { (if_statement "if ((bVar2 & 0x20) == 0) goto LAB_0003c635;" 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_0003c635;" goto statement_identifier ;)) (labeled_statement "LAB_0003c7cf:\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_0003c7f7;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0003c7f7;" goto statement_identifier ;)) (labeled_statement "LAB_0003c649:\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_0003c65d;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0003c65d;" goto statement_identifier ;)) (labeled_statement "LAB_0003c81f:\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_0003c7cf;\nLAB_0003c635:\n      iVar3 = S_IS_LOCAL(psVar7);\n      if (iVar3 == 0) goto LAB_0003c649;\nLAB_0003c7f7:\n      fwrite(" local",1,6,(FILE *)file);\n      iVar3 = S_IS_EXTERNAL(psVar7);\n      if (iVar3 != 0) goto LAB_0003c81f;\nLAB_0003c65d:\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_0003c7cf;\nLAB_0003c635:\n      iVar3 = S_IS_LOCAL(psVar7);\n      if (iVar3 == 0) goto LAB_0003c649;\nLAB_0003c7f7:\n      fwrite(" local",1,6,(FILE *)file);\n      iVar3 = S_IS_EXTERNAL(psVar7);\n      if (iVar3 != 0) goto LAB_0003c81f;\nLAB_0003c65d:\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_0003c7cf;" 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_0003c7cf;" goto statement_identifier ;)) (labeled_statement "LAB_0003c635:\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_0003c649;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0003c649;" goto statement_identifier ;)) (labeled_statement "LAB_0003c7f7:\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_0003c81f;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0003c81f;" goto statement_identifier ;)) (labeled_statement "LAB_0003c65d:\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_0006105c,1,5,(FILE *)file);\n    }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n      fwrite(&DAT_0006105c,1,5,(FILE *)file);\n    }" { (expression_statement "fwrite(&DAT_0006105c,1,5,(FILE *)file);" (call_expression "fwrite(&DAT_0006105c,1,5,(FILE *)file)" identifier (argument_list "(&DAT_0006105c,1,5,(FILE *)file)" ( (pointer_expression "&DAT_0006105c" & 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_0003ca10:\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_0003ca7c;\n          }\n          goto LAB_0003c750;\n        }\n      }\n      if ((undefined *)paVar4->flags != PTR__bfd_std_section_0007ffb0 + 0xc0) goto LAB_0003c764;\n      goto LAB_0003c69c;\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_0003ca10:\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_0003ca7c;\n          }\n          goto LAB_0003c750;\n        }\n      }\n      if ((undefined *)paVar4->flags != PTR__bfd_std_section_0007ffb0 + 0xc0) goto LAB_0003c764;\n      goto LAB_0003c69c;\n    }" { (if_statement "if (((uint)paVar4->prev & 4) != 0) {\nLAB_0003ca10:\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_0003ca7c;\n          }\n          goto LAB_0003c750;\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_0003ca10:\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_0003ca7c;\n          }\n          goto LAB_0003c750;\n        }\n      }" { (labeled_statement "LAB_0003ca10:\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_0003ca7c;\n          }\n          goto LAB_0003c750;\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_0003ca7c;\n          }\n          goto LAB_0003c750;\n        }" { (if_statement "if (paVar4 == reg_section) {\n            psVar5 = (psVar7->sy_value).X_op_symbol;\n            goto LAB_0003ca7c;\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_0003ca7c;\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_0003ca7c;" goto statement_identifier ;) })) (goto_statement "goto LAB_0003c750;" goto statement_identifier ;) })) })) (if_statement "if ((undefined *)paVar4->flags != PTR__bfd_std_section_0007ffb0 + 0xc0) goto LAB_0003c764;" if (parenthesized_expression "((undefined *)paVar4->flags != PTR__bfd_std_section_0007ffb0 + 0xc0)" ( (binary_expression "(undefined *)paVar4->flags != PTR__bfd_std_section_0007ffb0 + 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_0007ffb0 + 0xc0" identifier + number_literal)) )) (goto_statement "goto LAB_0003c764;" goto statement_identifier ;)) (goto_statement "goto LAB_0003c69c;" 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_0003ca10;\nLAB_0003ca7c:\n      if (psVar5->bsym->section == (bfd_section *)(PTR__bfd_std_section_0007ffb0 + 0xc0))\n      goto LAB_0003c5ae;\nLAB_0003c764:\n      fwrite(" defined",1,8,(FILE *)file);\n      goto LAB_0003c5ae;\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_0003ca10;\nLAB_0003ca7c:\n      if (psVar5->bsym->section == (bfd_section *)(PTR__bfd_std_section_0007ffb0 + 0xc0))\n      goto LAB_0003c5ae;\nLAB_0003c764:\n      fwrite(" defined",1,8,(FILE *)file);\n      goto LAB_0003c5ae;\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_0003ca10;" 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_0003ca10;" goto statement_identifier ;)) (labeled_statement "LAB_0003ca7c:\n      if (psVar5->bsym->section == (bfd_section *)(PTR__bfd_std_section_0007ffb0 + 0xc0))\n      goto LAB_0003c5ae;" statement_identifier : (if_statement "if (psVar5->bsym->section == (bfd_section *)(PTR__bfd_std_section_0007ffb0 + 0xc0))\n      goto LAB_0003c5ae;" if (parenthesized_expression "(psVar5->bsym->section == (bfd_section *)(PTR__bfd_std_section_0007ffb0 + 0xc0))" ( (binary_expression "psVar5->bsym->section == (bfd_section *)(PTR__bfd_std_section_0007ffb0 + 0xc0)" (field_expression "psVar5->bsym->section" (field_expression "psVar5->bsym" identifier -> field_identifier) -> field_identifier) == (cast_expression "(bfd_section *)(PTR__bfd_std_section_0007ffb0 + 0xc0)" ( (type_descriptor "bfd_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__bfd_std_section_0007ffb0 + 0xc0)" ( (binary_expression "PTR__bfd_std_section_0007ffb0 + 0xc0" identifier + number_literal) )))) )) (goto_statement "goto LAB_0003c5ae;" goto statement_identifier ;))) (labeled_statement "LAB_0003c764:\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_0003c5ae;" goto statement_identifier ;) })) (labeled_statement "LAB_0003c750:\n    if (paVar4 != (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)) goto LAB_0003c764;" statement_identifier : (if_statement "if (paVar4 != (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)) goto LAB_0003c764;" if (parenthesized_expression "(paVar4 != (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0))" ( (binary_expression "paVar4 != (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)" identifier != (call_expression "(segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)" (parenthesized_expression "(segT)" ( identifier )) (argument_list "(PTR__bfd_std_section_0007ffb0 + 0xc0)" ( (binary_expression "PTR__bfd_std_section_0007ffb0 + 0xc0" identifier + number_literal) )))) )) (goto_statement "goto LAB_0003c764;" goto statement_identifier ;))) (labeled_statement "LAB_0003c5c2:\n    if (reg_section == paVar4) {\n      if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 2) != 0) {\nLAB_0003c8a0:\n        fwrite(" weakrefr",1,9,(FILE *)file);\n        if (((uint)psVar7->sy_flags & 1) == 0) goto LAB_0003c6a6;\n        paVar4 = (segT)psVar7->bsym;\n        if (reg_section != paVar4) goto LAB_0003c6b8;\n      }\n      if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 4) != 0) goto LAB_0003c8d8;\nLAB_0003c9e2:\n      psVar5 = (psVar7->sy_value).X_op_symbol;\n      goto LAB_0003c6b2;\n    }" statement_identifier : (if_statement "if (reg_section == paVar4) {\n      if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 2) != 0) {\nLAB_0003c8a0:\n        fwrite(" weakrefr",1,9,(FILE *)file);\n        if (((uint)psVar7->sy_flags & 1) == 0) goto LAB_0003c6a6;\n        paVar4 = (segT)psVar7->bsym;\n        if (reg_section != paVar4) goto LAB_0003c6b8;\n      }\n      if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 4) != 0) goto LAB_0003c8d8;\nLAB_0003c9e2:\n      psVar5 = (psVar7->sy_value).X_op_symbol;\n      goto LAB_0003c6b2;\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_0003c8a0:\n        fwrite(" weakrefr",1,9,(FILE *)file);\n        if (((uint)psVar7->sy_flags & 1) == 0) goto LAB_0003c6a6;\n        paVar4 = (segT)psVar7->bsym;\n        if (reg_section != paVar4) goto LAB_0003c6b8;\n      }\n      if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 4) != 0) goto LAB_0003c8d8;\nLAB_0003c9e2:\n      psVar5 = (psVar7->sy_value).X_op_symbol;\n      goto LAB_0003c6b2;\n    }" { (if_statement "if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 2) != 0) {\nLAB_0003c8a0:\n        fwrite(" weakrefr",1,9,(FILE *)file);\n        if (((uint)psVar7->sy_flags & 1) == 0) goto LAB_0003c6a6;\n        paVar4 = (segT)psVar7->bsym;\n        if (reg_section != paVar4) goto LAB_0003c6b8;\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_0003c8a0:\n        fwrite(" weakrefr",1,9,(FILE *)file);\n        if (((uint)psVar7->sy_flags & 1) == 0) goto LAB_0003c6a6;\n        paVar4 = (segT)psVar7->bsym;\n        if (reg_section != paVar4) goto LAB_0003c6b8;\n      }" { (labeled_statement "LAB_0003c8a0:\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_0003c6a6;" 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_0003c6a6;" 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_0003c6b8;" if (parenthesized_expression "(reg_section != paVar4)" ( (binary_expression "reg_section != paVar4" identifier != identifier) )) (goto_statement "goto LAB_0003c6b8;" goto statement_identifier ;)) })) (if_statement "if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 4) != 0) goto LAB_0003c8d8;" 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_0003c8d8;" goto statement_identifier ;)) (labeled_statement "LAB_0003c9e2:\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_0003c6b2;" goto statement_identifier ;) }))) }) (else_clause "else {\n    if ((psVar7 != (symbolS *)0x0) && (psVar7 != (symbolS *)PTR_zero_address_frag_0007ff70)) {\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_0003c5ae:\n    if (((uint)psVar7->sy_flags & 1) != 0) {\n      paVar4 = (segT)psVar7->bsym;\n      goto LAB_0003c5c2;\n    }\nLAB_0003c69c:\n    if (((psVar7->sy_flags).field_0x1 & 2) != 0) goto LAB_0003c8a0;\nLAB_0003c6a6:\n    psVar5 = psVar7;\n    if (((psVar7->sy_flags).field_0x1 & 4) != 0) {\nLAB_0003c8d8:\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_0003c9e2;\n        goto LAB_0003c6b8;\n      }\n    }\nLAB_0003c6b2:\n    paVar4 = psVar5->bsym->section;\n  }" else (compound_statement "{\n    if ((psVar7 != (symbolS *)0x0) && (psVar7 != (symbolS *)PTR_zero_address_frag_0007ff70)) {\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_0003c5ae:\n    if (((uint)psVar7->sy_flags & 1) != 0) {\n      paVar4 = (segT)psVar7->bsym;\n      goto LAB_0003c5c2;\n    }\nLAB_0003c69c:\n    if (((psVar7->sy_flags).field_0x1 & 2) != 0) goto LAB_0003c8a0;\nLAB_0003c6a6:\n    psVar5 = psVar7;\n    if (((psVar7->sy_flags).field_0x1 & 4) != 0) {\nLAB_0003c8d8:\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_0003c9e2;\n        goto LAB_0003c6b8;\n      }\n    }\nLAB_0003c6b2:\n    paVar4 = psVar5->bsym->section;\n  }" { (if_statement "if ((psVar7 != (symbolS *)0x0) && (psVar7 != (symbolS *)PTR_zero_address_frag_0007ff70)) {\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_0007ff70))" ( (binary_expression "(psVar7 != (symbolS *)0x0) && (psVar7 != (symbolS *)PTR_zero_address_frag_0007ff70)" (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_0007ff70)" ( (binary_expression "psVar7 != (symbolS *)PTR_zero_address_frag_0007ff70" identifier != (cast_expression "(symbolS *)PTR_zero_address_frag_0007ff70" ( (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_0003c5ae:\n    if (((uint)psVar7->sy_flags & 1) != 0) {\n      paVar4 = (segT)psVar7->bsym;\n      goto LAB_0003c5c2;\n    }" statement_identifier : (if_statement "if (((uint)psVar7->sy_flags & 1) != 0) {\n      paVar4 = (segT)psVar7->bsym;\n      goto LAB_0003c5c2;\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_0003c5c2;\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_0003c5c2;" goto statement_identifier ;) }))) (labeled_statement "LAB_0003c69c:\n    if (((psVar7->sy_flags).field_0x1 & 2) != 0) goto LAB_0003c8a0;" statement_identifier : (if_statement "if (((psVar7->sy_flags).field_0x1 & 2) != 0) goto LAB_0003c8a0;" 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_0003c8a0;" goto statement_identifier ;))) (labeled_statement "LAB_0003c6a6:\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_0003c8d8:\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_0003c9e2;\n        goto LAB_0003c6b8;\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_0003c8d8:\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_0003c9e2;\n        goto LAB_0003c6b8;\n      }\n    }" { (labeled_statement "LAB_0003c8d8:\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_0003c9e2;\n        goto LAB_0003c6b8;\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_0003c9e2;\n        goto LAB_0003c6b8;\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_0003c9e2;" if (parenthesized_expression "(reg_section == paVar4)" ( (binary_expression "reg_section == paVar4" identifier == identifier) )) (goto_statement "goto LAB_0003c9e2;" goto statement_identifier ;)) (goto_statement "goto LAB_0003c6b8;" goto statement_identifier ;) })) })) (labeled_statement "LAB_0003c6b2:\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_0003c6b8:\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_0003c786:\n      paVar4 = psVar5->bsym->section;\nLAB_0003c6f3:\n      if ((paVar4 != (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)) && (expr_section != paVar4)) {\n        vVar8 = S_GET_VALUE(psVar7);\n        fprintf((FILE *)file," %lx",(int)vVar8);\n      }\n      goto LAB_0003c727;\n    }\n    if (7 < indent_level) goto LAB_0003c727;\n    paVar6 = psVar7->bsym;\nLAB_0003c7a8:\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_0003c786;\n      if (7 < indent_level) goto LAB_0003c727;\n      paVar6 = psVar5->bsym;\n      goto LAB_0003c7a8;\n    }\n    if (((uint)sVar1 & 4) != 0) goto LAB_0003c6f3;\n    if (7 < indent_level) goto LAB_0003c727;\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_0003c786:\n      paVar4 = psVar5->bsym->section;\nLAB_0003c6f3:\n      if ((paVar4 != (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)) && (expr_section != paVar4)) {\n        vVar8 = S_GET_VALUE(psVar7);\n        fprintf((FILE *)file," %lx",(int)vVar8);\n      }\n      goto LAB_0003c727;\n    }\n    if (7 < indent_level) goto LAB_0003c727;\n    paVar6 = psVar7->bsym;\nLAB_0003c7a8:\n    paVar4 = paVar6->section;\n  }" { (expression_statement "psVar5 = psVar7;" (assignment_expression "psVar5 = psVar7" identifier = identifier) ;) (if_statement "if (((uint)sVar1 & 4) != 0) {\nLAB_0003c786:\n      paVar4 = psVar5->bsym->section;\nLAB_0003c6f3:\n      if ((paVar4 != (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)) && (expr_section != paVar4)) {\n        vVar8 = S_GET_VALUE(psVar7);\n        fprintf((FILE *)file," %lx",(int)vVar8);\n      }\n      goto LAB_0003c727;\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_0003c786:\n      paVar4 = psVar5->bsym->section;\nLAB_0003c6f3:\n      if ((paVar4 != (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)) && (expr_section != paVar4)) {\n        vVar8 = S_GET_VALUE(psVar7);\n        fprintf((FILE *)file," %lx",(int)vVar8);\n      }\n      goto LAB_0003c727;\n    }" { (labeled_statement "LAB_0003c786:\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_0003c6f3:\n      if ((paVar4 != (segT)(PTR__bfd_std_section_0007ffb0 + 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_0007ffb0 + 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_0007ffb0 + 0xc0)) && (expr_section != paVar4))" ( (binary_expression "(paVar4 != (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)) && (expr_section != paVar4)" (parenthesized_expression "(paVar4 != (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0))" ( (binary_expression "paVar4 != (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)" identifier != (call_expression "(segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)" (parenthesized_expression "(segT)" ( identifier )) (argument_list "(PTR__bfd_std_section_0007ffb0 + 0xc0)" ( (binary_expression "PTR__bfd_std_section_0007ffb0 + 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_0003c727;" goto statement_identifier ;) })) (if_statement "if (7 < indent_level) goto LAB_0003c727;" if (parenthesized_expression "(7 < indent_level)" ( (binary_expression "7 < indent_level" number_literal < identifier) )) (goto_statement "goto LAB_0003c727;" goto statement_identifier ;)) (expression_statement "paVar6 = psVar7->bsym;" (assignment_expression "paVar6 = psVar7->bsym" identifier = (field_expression "psVar7->bsym" identifier -> field_identifier)) ;) (labeled_statement "LAB_0003c7a8:\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_0003c786;\n      if (7 < indent_level) goto LAB_0003c727;\n      paVar6 = psVar5->bsym;\n      goto LAB_0003c7a8;\n    }\n    if (((uint)sVar1 & 4) != 0) goto LAB_0003c6f3;\n    if (7 < indent_level) goto LAB_0003c727;\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_0003c786;\n      if (7 < indent_level) goto LAB_0003c727;\n      paVar6 = psVar5->bsym;\n      goto LAB_0003c7a8;\n    }\n    if (((uint)sVar1 & 4) != 0) goto LAB_0003c6f3;\n    if (7 < indent_level) goto LAB_0003c727;\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_0003c786;\n      if (7 < indent_level) goto LAB_0003c727;\n      paVar6 = psVar5->bsym;\n      goto LAB_0003c7a8;\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_0003c786;\n      if (7 < indent_level) goto LAB_0003c727;\n      paVar6 = psVar5->bsym;\n      goto LAB_0003c7a8;\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_0003c786;" 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_0003c786;" goto statement_identifier ;)) (if_statement "if (7 < indent_level) goto LAB_0003c727;" if (parenthesized_expression "(7 < indent_level)" ( (binary_expression "7 < indent_level" number_literal < identifier) )) (goto_statement "goto LAB_0003c727;" 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_0003c7a8;" goto statement_identifier ;) })) (if_statement "if (((uint)sVar1 & 4) != 0) goto LAB_0003c6f3;" 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_0003c6f3;" goto statement_identifier ;)) (if_statement "if (7 < indent_level) goto LAB_0003c727;" if (parenthesized_expression "(7 < indent_level)" ( (binary_expression "7 < indent_level" number_literal < identifier) )) (goto_statement "goto LAB_0003c727;" goto statement_identifier ;)) }))) (if_statement "if (paVar4 == (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)) goto LAB_0003c727;" if (parenthesized_expression "(paVar4 == (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0))" ( (binary_expression "paVar4 == (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)" identifier == (call_expression "(segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)" (parenthesized_expression "(segT)" ( identifier )) (argument_list "(PTR__bfd_std_section_0007ffb0 + 0xc0)" ( (binary_expression "PTR__bfd_std_section_0007ffb0 + 0xc0" identifier + number_literal) )))) )) (goto_statement "goto LAB_0003c727;" 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_0005db05;" (assignment_expression "puVar9 = &DAT_0005db05" identifier = (pointer_expression "&DAT_0005db05" & identifier)) ;) (expression_statement "fprintf((FILE *)file,"\n%*s<",indent_level * 4,&DAT_0005db05);" (call_expression "fprintf((FILE *)file,"\n%*s<",indent_level * 4,&DAT_0005db05)" identifier (argument_list "((FILE *)file,"\n%*s<",indent_level * 4,&DAT_0005db05)" ( (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_0005db05" & identifier) ))) ;) (if_statement "if (((uint)psVar7->sy_flags & 1) == 0) {\nLAB_0003caa3:\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_0003caa3;\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_0003caa3:\n    print_expr_1(file,&psVar7->sy_value);\n  }" { (labeled_statement "LAB_0003caa3:\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_0003caa3;\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_0003caa3;\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_0003caa3;\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_0003caa3;\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_0003caa3;" 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_0003c727:\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_0003c4b0(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_0003c4f6:\n    pcVar7 = (char *)puVar3[1];\n    if (pcVar7 == (char *)0x0) goto LAB_0003c4e3;\nLAB_0003c4fd:\n    if (*pcVar7 == '\0') {\n      pcVar7 = "(unnamed)";\n    }\n  }\n  else {\n    if (DAT_000897ec == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003c4f6;\n    }\n    pcVar7 = *(char **)(param_2 + 8);\n    if (pcVar7 != (char *)0x0) goto LAB_0003c4fd;\nLAB_0003c4e3:\n    pcVar7 = "(unnamed)";\n  }\n  fwrite(&DAT_00061014,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_000897ec)) {\n    if (*(undefined **)(pbVar6 + 0x24) != &DAT_00089760) {\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_0003c635;\nLAB_0003c7cf:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_000387f0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c7f7;\nLAB_0003c649:\n      iVar2 = FUN_00038510(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c65d;\nLAB_0003c81f:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00038580(pbVar6);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003c7cf;\nLAB_0003c635:\n      iVar2 = FUN_000387f0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c649;\nLAB_0003c7f7:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_00038510(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c81f;\nLAB_0003c65d:\n      iVar2 = FUN_00038580(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_0003ca10:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_000897ec) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003ca7c;\n          }\n          goto LAB_0003c750;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_0007ffb0 + 0xc0) goto LAB_0003c764;\n      goto LAB_0003c69c;\n    }\n    if (DAT_000897ec == puVar3) {\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003ca10;\nLAB_0003ca7c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0007ffb0 + 0xc0)\n      goto LAB_0003c5ae;\nLAB_0003c764:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003c5ae;\n    }\nLAB_0003c750:\n    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) goto LAB_0003c764;\nLAB_0003c5c2:\n    if (DAT_000897ec == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003c8a0:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c6a6;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_000897ec != puVar3) goto LAB_0003c6b8;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c8d8;\nLAB_0003c9e2:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c6b2;\n    }\n  }\n  else {\n    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_0007ff70)) {\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_0003c5ae:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003c5c2;\n    }\nLAB_0003c69c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003c8a0;\nLAB_0003c6a6:\n    pbVar5 = pbVar6;\n    if ((pbVar6[1] & 4) != 0) {\nLAB_0003c8d8:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_000897ec == puVar3) goto LAB_0003c9e2;\n        goto LAB_0003c6b8;\n      }\n    }\nLAB_0003c6b2:\n    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\n  }\nLAB_0003c6b8:\n  fprintf(param_1," %s",*puVar3);\n  bVar1 = *pbVar6;\n  if ((bVar1 & 1) == 0) {\n    pbVar5 = pbVar6;\n    if ((bVar1 & 4) != 0) {\nLAB_0003c786:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003c6f3:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) &&\n         (DAT_00089720 != puVar3)) {\n        uVar4 = FUN_0003a220();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003c727;\n    }\n    if (7 < DAT_00089a4c) goto LAB_0003c727;\n    iVar2 = *(int *)(pbVar6 + 4);\nLAB_0003c7a8:\n    puVar3 = *(undefined4 **)(iVar2 + 0x14);\n  }\n  else {\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if (puVar3 == DAT_000897ec) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003c786;\n      if (7 < DAT_00089a4c) goto LAB_0003c727;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003c7a8;\n    }\n    if ((bVar1 & 4) != 0) goto LAB_0003c6f3;\n    if (7 < DAT_00089a4c) goto LAB_0003c727;\n  }\n  if (puVar3 == (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) goto LAB_0003c727;\n  DAT_00089a4c = DAT_00089a4c + 1;\n  puVar8 = &DAT_0005db05;\n  fprintf(param_1,"\n%*s<",DAT_00089a4c * 4,&DAT_0005db05);\n  if ((*pbVar6 & 1) == 0) {\nLAB_0003caa3:\n    FUN_0003c010(param_1,pbVar6 + 8);\n  }\n  else {\n    if (*(undefined4 **)(pbVar6 + 4) == DAT_000897ec) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003caa3;\n    }\n    fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);\n  }\n  fputc(0x3e,param_1);\n  DAT_00089a4c = DAT_00089a4c + -1;\nLAB_0003c727:\n  fflush(param_1);\n  return;\n}\n\n" (function_definition "void FUN_0003c4b0(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_0003c4f6:\n    pcVar7 = (char *)puVar3[1];\n    if (pcVar7 == (char *)0x0) goto LAB_0003c4e3;\nLAB_0003c4fd:\n    if (*pcVar7 == '\0') {\n      pcVar7 = "(unnamed)";\n    }\n  }\n  else {\n    if (DAT_000897ec == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003c4f6;\n    }\n    pcVar7 = *(char **)(param_2 + 8);\n    if (pcVar7 != (char *)0x0) goto LAB_0003c4fd;\nLAB_0003c4e3:\n    pcVar7 = "(unnamed)";\n  }\n  fwrite(&DAT_00061014,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_000897ec)) {\n    if (*(undefined **)(pbVar6 + 0x24) != &DAT_00089760) {\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_0003c635;\nLAB_0003c7cf:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_000387f0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c7f7;\nLAB_0003c649:\n      iVar2 = FUN_00038510(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c65d;\nLAB_0003c81f:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00038580(pbVar6);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003c7cf;\nLAB_0003c635:\n      iVar2 = FUN_000387f0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c649;\nLAB_0003c7f7:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_00038510(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c81f;\nLAB_0003c65d:\n      iVar2 = FUN_00038580(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_0003ca10:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_000897ec) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003ca7c;\n          }\n          goto LAB_0003c750;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_0007ffb0 + 0xc0) goto LAB_0003c764;\n      goto LAB_0003c69c;\n    }\n    if (DAT_000897ec == puVar3) {\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003ca10;\nLAB_0003ca7c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0007ffb0 + 0xc0)\n      goto LAB_0003c5ae;\nLAB_0003c764:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003c5ae;\n    }\nLAB_0003c750:\n    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) goto LAB_0003c764;\nLAB_0003c5c2:\n    if (DAT_000897ec == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003c8a0:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c6a6;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_000897ec != puVar3) goto LAB_0003c6b8;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c8d8;\nLAB_0003c9e2:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c6b2;\n    }\n  }\n  else {\n    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_0007ff70)) {\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_0003c5ae:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003c5c2;\n    }\nLAB_0003c69c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003c8a0;\nLAB_0003c6a6:\n    pbVar5 = pbVar6;\n    if ((pbVar6[1] & 4) != 0) {\nLAB_0003c8d8:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_000897ec == puVar3) goto LAB_0003c9e2;\n        goto LAB_0003c6b8;\n      }\n    }\nLAB_0003c6b2:\n    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\n  }\nLAB_0003c6b8:\n  fprintf(param_1," %s",*puVar3);\n  bVar1 = *pbVar6;\n  if ((bVar1 & 1) == 0) {\n    pbVar5 = pbVar6;\n    if ((bVar1 & 4) != 0) {\nLAB_0003c786:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003c6f3:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) &&\n         (DAT_00089720 != puVar3)) {\n        uVar4 = FUN_0003a220();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003c727;\n    }\n    if (7 < DAT_00089a4c) goto LAB_0003c727;\n    iVar2 = *(int *)(pbVar6 + 4);\nLAB_0003c7a8:\n    puVar3 = *(undefined4 **)(iVar2 + 0x14);\n  }\n  else {\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if (puVar3 == DAT_000897ec) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003c786;\n      if (7 < DAT_00089a4c) goto LAB_0003c727;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003c7a8;\n    }\n    if ((bVar1 & 4) != 0) goto LAB_0003c6f3;\n    if (7 < DAT_00089a4c) goto LAB_0003c727;\n  }\n  if (puVar3 == (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) goto LAB_0003c727;\n  DAT_00089a4c = DAT_00089a4c + 1;\n  puVar8 = &DAT_0005db05;\n  fprintf(param_1,"\n%*s<",DAT_00089a4c * 4,&DAT_0005db05);\n  if ((*pbVar6 & 1) == 0) {\nLAB_0003caa3:\n    FUN_0003c010(param_1,pbVar6 + 8);\n  }\n  else {\n    if (*(undefined4 **)(pbVar6 + 4) == DAT_000897ec) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003caa3;\n    }\n    fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);\n  }\n  fputc(0x3e,param_1);\n  DAT_00089a4c = DAT_00089a4c + -1;\nLAB_0003c727:\n  fflush(param_1);\n  return;\n}" primitive_type (function_declarator "FUN_0003c4b0(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_0003c4f6:\n    pcVar7 = (char *)puVar3[1];\n    if (pcVar7 == (char *)0x0) goto LAB_0003c4e3;\nLAB_0003c4fd:\n    if (*pcVar7 == '\0') {\n      pcVar7 = "(unnamed)";\n    }\n  }\n  else {\n    if (DAT_000897ec == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003c4f6;\n    }\n    pcVar7 = *(char **)(param_2 + 8);\n    if (pcVar7 != (char *)0x0) goto LAB_0003c4fd;\nLAB_0003c4e3:\n    pcVar7 = "(unnamed)";\n  }\n  fwrite(&DAT_00061014,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_000897ec)) {\n    if (*(undefined **)(pbVar6 + 0x24) != &DAT_00089760) {\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_0003c635;\nLAB_0003c7cf:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_000387f0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c7f7;\nLAB_0003c649:\n      iVar2 = FUN_00038510(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c65d;\nLAB_0003c81f:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00038580(pbVar6);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003c7cf;\nLAB_0003c635:\n      iVar2 = FUN_000387f0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c649;\nLAB_0003c7f7:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_00038510(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c81f;\nLAB_0003c65d:\n      iVar2 = FUN_00038580(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_0003ca10:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_000897ec) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003ca7c;\n          }\n          goto LAB_0003c750;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_0007ffb0 + 0xc0) goto LAB_0003c764;\n      goto LAB_0003c69c;\n    }\n    if (DAT_000897ec == puVar3) {\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003ca10;\nLAB_0003ca7c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0007ffb0 + 0xc0)\n      goto LAB_0003c5ae;\nLAB_0003c764:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003c5ae;\n    }\nLAB_0003c750:\n    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) goto LAB_0003c764;\nLAB_0003c5c2:\n    if (DAT_000897ec == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003c8a0:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c6a6;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_000897ec != puVar3) goto LAB_0003c6b8;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c8d8;\nLAB_0003c9e2:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c6b2;\n    }\n  }\n  else {\n    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_0007ff70)) {\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_0003c5ae:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003c5c2;\n    }\nLAB_0003c69c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003c8a0;\nLAB_0003c6a6:\n    pbVar5 = pbVar6;\n    if ((pbVar6[1] & 4) != 0) {\nLAB_0003c8d8:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_000897ec == puVar3) goto LAB_0003c9e2;\n        goto LAB_0003c6b8;\n      }\n    }\nLAB_0003c6b2:\n    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\n  }\nLAB_0003c6b8:\n  fprintf(param_1," %s",*puVar3);\n  bVar1 = *pbVar6;\n  if ((bVar1 & 1) == 0) {\n    pbVar5 = pbVar6;\n    if ((bVar1 & 4) != 0) {\nLAB_0003c786:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003c6f3:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) &&\n         (DAT_00089720 != puVar3)) {\n        uVar4 = FUN_0003a220();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003c727;\n    }\n    if (7 < DAT_00089a4c) goto LAB_0003c727;\n    iVar2 = *(int *)(pbVar6 + 4);\nLAB_0003c7a8:\n    puVar3 = *(undefined4 **)(iVar2 + 0x14);\n  }\n  else {\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if (puVar3 == DAT_000897ec) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003c786;\n      if (7 < DAT_00089a4c) goto LAB_0003c727;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003c7a8;\n    }\n    if ((bVar1 & 4) != 0) goto LAB_0003c6f3;\n    if (7 < DAT_00089a4c) goto LAB_0003c727;\n  }\n  if (puVar3 == (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) goto LAB_0003c727;\n  DAT_00089a4c = DAT_00089a4c + 1;\n  puVar8 = &DAT_0005db05;\n  fprintf(param_1,"\n%*s<",DAT_00089a4c * 4,&DAT_0005db05);\n  if ((*pbVar6 & 1) == 0) {\nLAB_0003caa3:\n    FUN_0003c010(param_1,pbVar6 + 8);\n  }\n  else {\n    if (*(undefined4 **)(pbVar6 + 4) == DAT_000897ec) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003caa3;\n    }\n    fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);\n  }\n  fputc(0x3e,param_1);\n  DAT_00089a4c = DAT_00089a4c + -1;\nLAB_0003c727:\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_0003c4f6:\n    pcVar7 = (char *)puVar3[1];\n    if (pcVar7 == (char *)0x0) goto LAB_0003c4e3;\nLAB_0003c4fd:\n    if (*pcVar7 == '\0') {\n      pcVar7 = "(unnamed)";\n    }\n  }\n  else {\n    if (DAT_000897ec == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003c4f6;\n    }\n    pcVar7 = *(char **)(param_2 + 8);\n    if (pcVar7 != (char *)0x0) goto LAB_0003c4fd;\nLAB_0003c4e3:\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_0003c4f6:\n    pcVar7 = (char *)puVar3[1];\n    if (pcVar7 == (char *)0x0) goto LAB_0003c4e3;\nLAB_0003c4fd:\n    if (*pcVar7 == '\0') {\n      pcVar7 = "(unnamed)";\n    }\n  }" { (labeled_statement "LAB_0003c4f6:\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_0003c4e3;" 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_0003c4e3;" goto statement_identifier ;)) (labeled_statement "LAB_0003c4fd:\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_000897ec == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003c4f6;\n    }\n    pcVar7 = *(char **)(param_2 + 8);\n    if (pcVar7 != (char *)0x0) goto LAB_0003c4fd;\nLAB_0003c4e3:\n    pcVar7 = "(unnamed)";\n  }" else (compound_statement "{\n    if (DAT_000897ec == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003c4f6;\n    }\n    pcVar7 = *(char **)(param_2 + 8);\n    if (pcVar7 != (char *)0x0) goto LAB_0003c4fd;\nLAB_0003c4e3:\n    pcVar7 = "(unnamed)";\n  }" { (if_statement "if (DAT_000897ec == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003c4f6;\n    }" if (parenthesized_expression "(DAT_000897ec == puVar3)" ( (binary_expression "DAT_000897ec == puVar3" identifier == identifier) )) (compound_statement "{\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003c4f6;\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_0003c4f6;" 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_0003c4fd;" 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_0003c4fd;" goto statement_identifier ;)) (labeled_statement "LAB_0003c4e3:\n    pcVar7 = "(unnamed)";" statement_identifier : (expression_statement "pcVar7 = "(unnamed)";" (assignment_expression "pcVar7 = "(unnamed)"" identifier = (string_literal ""(unnamed)"" " string_content ")) ;)) }))) (expression_statement "fwrite(&DAT_00061014,1,4,param_1);" (call_expression "fwrite(&DAT_00061014,1,4,param_1)" identifier (argument_list "(&DAT_00061014,1,4,param_1)" ( (pointer_expression "&DAT_00061014" & 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_000897ec)) {\n    if (*(undefined **)(pbVar6 + 0x24) != &DAT_00089760) {\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_0003c635;\nLAB_0003c7cf:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_000387f0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c7f7;\nLAB_0003c649:\n      iVar2 = FUN_00038510(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c65d;\nLAB_0003c81f:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00038580(pbVar6);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003c7cf;\nLAB_0003c635:\n      iVar2 = FUN_000387f0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c649;\nLAB_0003c7f7:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_00038510(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c81f;\nLAB_0003c65d:\n      iVar2 = FUN_00038580(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_0003ca10:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_000897ec) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003ca7c;\n          }\n          goto LAB_0003c750;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_0007ffb0 + 0xc0) goto LAB_0003c764;\n      goto LAB_0003c69c;\n    }\n    if (DAT_000897ec == puVar3) {\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003ca10;\nLAB_0003ca7c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0007ffb0 + 0xc0)\n      goto LAB_0003c5ae;\nLAB_0003c764:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003c5ae;\n    }\nLAB_0003c750:\n    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) goto LAB_0003c764;\nLAB_0003c5c2:\n    if (DAT_000897ec == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003c8a0:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c6a6;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_000897ec != puVar3) goto LAB_0003c6b8;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c8d8;\nLAB_0003c9e2:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c6b2;\n    }\n  }\n  else {\n    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_0007ff70)) {\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_0003c5ae:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003c5c2;\n    }\nLAB_0003c69c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003c8a0;\nLAB_0003c6a6:\n    pbVar5 = pbVar6;\n    if ((pbVar6[1] & 4) != 0) {\nLAB_0003c8d8:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_000897ec == puVar3) goto LAB_0003c9e2;\n        goto LAB_0003c6b8;\n      }\n    }\nLAB_0003c6b2:\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_000897ec))" ( (binary_expression "((bVar1 & 1) == 0) ||\n     (pbVar6 = *(byte **)(param_2 + 0xc), *(undefined4 **)(param_2 + 4) == DAT_000897ec)" (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_000897ec)" ( (comma_expression "pbVar6 = *(byte **)(param_2 + 0xc), *(undefined4 **)(param_2 + 4) == DAT_000897ec" (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_000897ec" (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_00089760) {\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_0003c635;\nLAB_0003c7cf:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_000387f0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c7f7;\nLAB_0003c649:\n      iVar2 = FUN_00038510(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c65d;\nLAB_0003c81f:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00038580(pbVar6);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003c7cf;\nLAB_0003c635:\n      iVar2 = FUN_000387f0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c649;\nLAB_0003c7f7:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_00038510(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c81f;\nLAB_0003c65d:\n      iVar2 = FUN_00038580(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_0003ca10:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_000897ec) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003ca7c;\n          }\n          goto LAB_0003c750;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_0007ffb0 + 0xc0) goto LAB_0003c764;\n      goto LAB_0003c69c;\n    }\n    if (DAT_000897ec == puVar3) {\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003ca10;\nLAB_0003ca7c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0007ffb0 + 0xc0)\n      goto LAB_0003c5ae;\nLAB_0003c764:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003c5ae;\n    }\nLAB_0003c750:\n    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) goto LAB_0003c764;\nLAB_0003c5c2:\n    if (DAT_000897ec == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003c8a0:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c6a6;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_000897ec != puVar3) goto LAB_0003c6b8;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c8d8;\nLAB_0003c9e2:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c6b2;\n    }\n  }" { (if_statement "if (*(undefined **)(pbVar6 + 0x24) != &DAT_00089760) {\n      fwrite(" frag ",1,6,param_1);\n      fprintf(param_1,"%016llx",*(undefined4 *)(pbVar6 + 0x24),0);\n    }" if (parenthesized_expression "(*(undefined **)(pbVar6 + 0x24) != &DAT_00089760)" ( (binary_expression "*(undefined **)(pbVar6 + 0x24) != &DAT_00089760" (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_00089760" & 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_0003c635;\nLAB_0003c7cf:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_000387f0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c7f7;\nLAB_0003c649:\n      iVar2 = FUN_00038510(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c65d;\nLAB_0003c81f:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00038580(pbVar6);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003c7cf;\nLAB_0003c635:\n      iVar2 = FUN_000387f0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c649;\nLAB_0003c7f7:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_00038510(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c81f;\nLAB_0003c65d:\n      iVar2 = FUN_00038580(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_0003c635;\nLAB_0003c7cf:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_000387f0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c7f7;\nLAB_0003c649:\n      iVar2 = FUN_00038510(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c65d;\nLAB_0003c81f:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00038580(pbVar6);\n    }" { (if_statement "if ((bVar1 & 0x20) == 0) goto LAB_0003c635;" 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_0003c635;" goto statement_identifier ;)) (labeled_statement "LAB_0003c7cf:\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_000387f0(pbVar6);" (assignment_expression "iVar2 = FUN_000387f0(pbVar6)" identifier = (call_expression "FUN_000387f0(pbVar6)" identifier (argument_list "(pbVar6)" ( identifier )))) ;) (if_statement "if (iVar2 != 0) goto LAB_0003c7f7;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0003c7f7;" goto statement_identifier ;)) (labeled_statement "LAB_0003c649:\n      iVar2 = FUN_00038510(pbVar6);" statement_identifier : (expression_statement "iVar2 = FUN_00038510(pbVar6);" (assignment_expression "iVar2 = FUN_00038510(pbVar6)" identifier = (call_expression "FUN_00038510(pbVar6)" identifier (argument_list "(pbVar6)" ( identifier )))) ;)) (if_statement "if (iVar2 == 0) goto LAB_0003c65d;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0003c65d;" goto statement_identifier ;)) (labeled_statement "LAB_0003c81f:\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_00038580(pbVar6);" (assignment_expression "iVar2 = FUN_00038580(pbVar6)" identifier = (call_expression "FUN_00038580(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_0003c7cf;\nLAB_0003c635:\n      iVar2 = FUN_000387f0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c649;\nLAB_0003c7f7:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_00038510(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c81f;\nLAB_0003c65d:\n      iVar2 = FUN_00038580(pbVar6);\n    }" else (compound_statement "{\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003c7cf;\nLAB_0003c635:\n      iVar2 = FUN_000387f0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c649;\nLAB_0003c7f7:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_00038510(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c81f;\nLAB_0003c65d:\n      iVar2 = FUN_00038580(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_0003c7cf;" 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_0003c7cf;" goto statement_identifier ;)) (labeled_statement "LAB_0003c635:\n      iVar2 = FUN_000387f0(pbVar6);" statement_identifier : (expression_statement "iVar2 = FUN_000387f0(pbVar6);" (assignment_expression "iVar2 = FUN_000387f0(pbVar6)" identifier = (call_expression "FUN_000387f0(pbVar6)" identifier (argument_list "(pbVar6)" ( identifier )))) ;)) (if_statement "if (iVar2 == 0) goto LAB_0003c649;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0003c649;" goto statement_identifier ;)) (labeled_statement "LAB_0003c7f7:\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_00038510(pbVar6);" (assignment_expression "iVar2 = FUN_00038510(pbVar6)" identifier = (call_expression "FUN_00038510(pbVar6)" identifier (argument_list "(pbVar6)" ( identifier )))) ;) (if_statement "if (iVar2 != 0) goto LAB_0003c81f;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0003c81f;" goto statement_identifier ;)) (labeled_statement "LAB_0003c65d:\n      iVar2 = FUN_00038580(pbVar6);" statement_identifier : (expression_statement "iVar2 = FUN_00038580(pbVar6);" (assignment_expression "iVar2 = FUN_00038580(pbVar6)" identifier = (call_expression "FUN_00038580(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_0003ca10:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_000897ec) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003ca7c;\n          }\n          goto LAB_0003c750;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_0007ffb0 + 0xc0) goto LAB_0003c764;\n      goto LAB_0003c69c;\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_0003ca10:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_000897ec) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003ca7c;\n          }\n          goto LAB_0003c750;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_0007ffb0 + 0xc0) goto LAB_0003c764;\n      goto LAB_0003c69c;\n    }" { (if_statement "if ((*(byte *)(puVar3 + 4) & 4) != 0) {\nLAB_0003ca10:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_000897ec) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003ca7c;\n          }\n          goto LAB_0003c750;\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_0003ca10:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_000897ec) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003ca7c;\n          }\n          goto LAB_0003c750;\n        }\n      }" { (labeled_statement "LAB_0003ca10:\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_000897ec) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003ca7c;\n          }\n          goto LAB_0003c750;\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_000897ec) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003ca7c;\n          }\n          goto LAB_0003c750;\n        }" { (if_statement "if (puVar3 == DAT_000897ec) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003ca7c;\n          }" if (parenthesized_expression "(puVar3 == DAT_000897ec)" ( (binary_expression "puVar3 == DAT_000897ec" identifier == identifier) )) (compound_statement "{\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003ca7c;\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_0003ca7c;" goto statement_identifier ;) })) (goto_statement "goto LAB_0003c750;" goto statement_identifier ;) })) })) (if_statement "if ((undefined *)puVar3[5] != PTR__bfd_std_section_0007ffb0 + 0xc0) goto LAB_0003c764;" if (parenthesized_expression "((undefined *)puVar3[5] != PTR__bfd_std_section_0007ffb0 + 0xc0)" ( (binary_expression "(undefined *)puVar3[5] != PTR__bfd_std_section_0007ffb0 + 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_0007ffb0 + 0xc0" identifier + number_literal)) )) (goto_statement "goto LAB_0003c764;" goto statement_identifier ;)) (goto_statement "goto LAB_0003c69c;" goto statement_identifier ;) })) (if_statement "if (DAT_000897ec == puVar3) {\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003ca10;\nLAB_0003ca7c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0007ffb0 + 0xc0)\n      goto LAB_0003c5ae;\nLAB_0003c764:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003c5ae;\n    }" if (parenthesized_expression "(DAT_000897ec == puVar3)" ( (binary_expression "DAT_000897ec == puVar3" identifier == identifier) )) (compound_statement "{\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003ca10;\nLAB_0003ca7c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0007ffb0 + 0xc0)\n      goto LAB_0003c5ae;\nLAB_0003c764:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003c5ae;\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_0003ca10;" 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_0003ca10;" goto statement_identifier ;)) (labeled_statement "LAB_0003ca7c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0007ffb0 + 0xc0)\n      goto LAB_0003c5ae;" statement_identifier : (if_statement "if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0007ffb0 + 0xc0)\n      goto LAB_0003c5ae;" if (parenthesized_expression "(*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0007ffb0 + 0xc0)" ( (binary_expression "*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0007ffb0 + 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_0007ffb0 + 0xc0" identifier + number_literal)) )) (goto_statement "goto LAB_0003c5ae;" goto statement_identifier ;))) (labeled_statement "LAB_0003c764:\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_0003c5ae;" goto statement_identifier ;) })) (labeled_statement "LAB_0003c750:\n    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) goto LAB_0003c764;" statement_identifier : (if_statement "if (puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) goto LAB_0003c764;" if (parenthesized_expression "(puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0))" ( (binary_expression "puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)" identifier != (cast_expression "(undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__bfd_std_section_0007ffb0 + 0xc0)" ( (binary_expression "PTR__bfd_std_section_0007ffb0 + 0xc0" identifier + number_literal) )))) )) (goto_statement "goto LAB_0003c764;" goto statement_identifier ;))) (labeled_statement "LAB_0003c5c2:\n    if (DAT_000897ec == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003c8a0:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c6a6;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_000897ec != puVar3) goto LAB_0003c6b8;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c8d8;\nLAB_0003c9e2:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c6b2;\n    }" statement_identifier : (if_statement "if (DAT_000897ec == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003c8a0:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c6a6;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_000897ec != puVar3) goto LAB_0003c6b8;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c8d8;\nLAB_0003c9e2:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c6b2;\n    }" if (parenthesized_expression "(DAT_000897ec == puVar3)" ( (binary_expression "DAT_000897ec == puVar3" identifier == identifier) )) (compound_statement "{\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003c8a0:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c6a6;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_000897ec != puVar3) goto LAB_0003c6b8;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c8d8;\nLAB_0003c9e2:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c6b2;\n    }" { (if_statement "if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003c8a0:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c6a6;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_000897ec != puVar3) goto LAB_0003c6b8;\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_0003c8a0:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c6a6;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_000897ec != puVar3) goto LAB_0003c6b8;\n      }" { (labeled_statement "LAB_0003c8a0:\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_0003c6a6;" 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_0003c6a6;" 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_000897ec != puVar3) goto LAB_0003c6b8;" if (parenthesized_expression "(DAT_000897ec != puVar3)" ( (binary_expression "DAT_000897ec != puVar3" identifier != identifier) )) (goto_statement "goto LAB_0003c6b8;" goto statement_identifier ;)) })) (if_statement "if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c8d8;" 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_0003c8d8;" goto statement_identifier ;)) (labeled_statement "LAB_0003c9e2:\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_0003c6b2;" goto statement_identifier ;) }))) }) (else_clause "else {\n    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_0007ff70)) {\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_0003c5ae:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003c5c2;\n    }\nLAB_0003c69c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003c8a0;\nLAB_0003c6a6:\n    pbVar5 = pbVar6;\n    if ((pbVar6[1] & 4) != 0) {\nLAB_0003c8d8:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_000897ec == puVar3) goto LAB_0003c9e2;\n        goto LAB_0003c6b8;\n      }\n    }\nLAB_0003c6b2:\n    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\n  }" else (compound_statement "{\n    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_0007ff70)) {\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_0003c5ae:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003c5c2;\n    }\nLAB_0003c69c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003c8a0;\nLAB_0003c6a6:\n    pbVar5 = pbVar6;\n    if ((pbVar6[1] & 4) != 0) {\nLAB_0003c8d8:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_000897ec == puVar3) goto LAB_0003c9e2;\n        goto LAB_0003c6b8;\n      }\n    }\nLAB_0003c6b2:\n    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\n  }" { (if_statement "if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_0007ff70)) {\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_0007ff70))" ( (binary_expression "(pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_0007ff70)" (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_0007ff70)" ( (binary_expression "pbVar6 != PTR_DAT_0007ff70" 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_0003c5ae:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003c5c2;\n    }" statement_identifier : (if_statement "if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003c5c2;\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_0003c5c2;\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_0003c5c2;" goto statement_identifier ;) }))) (labeled_statement "LAB_0003c69c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003c8a0;" statement_identifier : (if_statement "if ((pbVar6[1] & 2) != 0) goto LAB_0003c8a0;" 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_0003c8a0;" goto statement_identifier ;))) (labeled_statement "LAB_0003c6a6:\n    pbVar5 = pbVar6;" statement_identifier : (expression_statement "pbVar5 = pbVar6;" (assignment_expression "pbVar5 = pbVar6" identifier = identifier) ;)) (if_statement "if ((pbVar6[1] & 4) != 0) {\nLAB_0003c8d8:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_000897ec == puVar3) goto LAB_0003c9e2;\n        goto LAB_0003c6b8;\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_0003c8d8:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_000897ec == puVar3) goto LAB_0003c9e2;\n        goto LAB_0003c6b8;\n      }\n    }" { (labeled_statement "LAB_0003c8d8:\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_000897ec == puVar3) goto LAB_0003c9e2;\n        goto LAB_0003c6b8;\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_000897ec == puVar3) goto LAB_0003c9e2;\n        goto LAB_0003c6b8;\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_000897ec == puVar3) goto LAB_0003c9e2;" if (parenthesized_expression "(DAT_000897ec == puVar3)" ( (binary_expression "DAT_000897ec == puVar3" identifier == identifier) )) (goto_statement "goto LAB_0003c9e2;" goto statement_identifier ;)) (goto_statement "goto LAB_0003c6b8;" goto statement_identifier ;) })) })) (labeled_statement "LAB_0003c6b2:\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_0003c6b8:\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_0003c786:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003c6f3:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) &&\n         (DAT_00089720 != puVar3)) {\n        uVar4 = FUN_0003a220();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003c727;\n    }\n    if (7 < DAT_00089a4c) goto LAB_0003c727;\n    iVar2 = *(int *)(pbVar6 + 4);\nLAB_0003c7a8:\n    puVar3 = *(undefined4 **)(iVar2 + 0x14);\n  }\n  else {\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if (puVar3 == DAT_000897ec) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003c786;\n      if (7 < DAT_00089a4c) goto LAB_0003c727;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003c7a8;\n    }\n    if ((bVar1 & 4) != 0) goto LAB_0003c6f3;\n    if (7 < DAT_00089a4c) goto LAB_0003c727;\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_0003c786:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003c6f3:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) &&\n         (DAT_00089720 != puVar3)) {\n        uVar4 = FUN_0003a220();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003c727;\n    }\n    if (7 < DAT_00089a4c) goto LAB_0003c727;\n    iVar2 = *(int *)(pbVar6 + 4);\nLAB_0003c7a8:\n    puVar3 = *(undefined4 **)(iVar2 + 0x14);\n  }" { (expression_statement "pbVar5 = pbVar6;" (assignment_expression "pbVar5 = pbVar6" identifier = identifier) ;) (if_statement "if ((bVar1 & 4) != 0) {\nLAB_0003c786:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003c6f3:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) &&\n         (DAT_00089720 != puVar3)) {\n        uVar4 = FUN_0003a220();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003c727;\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_0003c786:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003c6f3:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) &&\n         (DAT_00089720 != puVar3)) {\n        uVar4 = FUN_0003a220();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003c727;\n    }" { (labeled_statement "LAB_0003c786:\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_0003c6f3:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) &&\n         (DAT_00089720 != puVar3)) {\n        uVar4 = FUN_0003a220();\n        fprintf(param_1," %lx",uVar4);\n      }" statement_identifier : (if_statement "if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) &&\n         (DAT_00089720 != puVar3)) {\n        uVar4 = FUN_0003a220();\n        fprintf(param_1," %lx",uVar4);\n      }" if (parenthesized_expression "((puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) &&\n         (DAT_00089720 != puVar3))" ( (binary_expression "(puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) &&\n         (DAT_00089720 != puVar3)" (parenthesized_expression "(puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0))" ( (binary_expression "puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)" identifier != (cast_expression "(undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__bfd_std_section_0007ffb0 + 0xc0)" ( (binary_expression "PTR__bfd_std_section_0007ffb0 + 0xc0" identifier + number_literal) )))) )) && (parenthesized_expression "(DAT_00089720 != puVar3)" ( (binary_expression "DAT_00089720 != puVar3" identifier != identifier) ))) )) (compound_statement "{\n        uVar4 = FUN_0003a220();\n        fprintf(param_1," %lx",uVar4);\n      }" { (expression_statement "uVar4 = FUN_0003a220();" (assignment_expression "uVar4 = FUN_0003a220()" identifier = (call_expression "FUN_0003a220()" 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_0003c727;" goto statement_identifier ;) })) (if_statement "if (7 < DAT_00089a4c) goto LAB_0003c727;" if (parenthesized_expression "(7 < DAT_00089a4c)" ( (binary_expression "7 < DAT_00089a4c" number_literal < identifier) )) (goto_statement "goto LAB_0003c727;" 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_0003c7a8:\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_000897ec) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003c786;\n      if (7 < DAT_00089a4c) goto LAB_0003c727;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003c7a8;\n    }\n    if ((bVar1 & 4) != 0) goto LAB_0003c6f3;\n    if (7 < DAT_00089a4c) goto LAB_0003c727;\n  }" else (compound_statement "{\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if (puVar3 == DAT_000897ec) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003c786;\n      if (7 < DAT_00089a4c) goto LAB_0003c727;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003c7a8;\n    }\n    if ((bVar1 & 4) != 0) goto LAB_0003c6f3;\n    if (7 < DAT_00089a4c) goto LAB_0003c727;\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_000897ec) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003c786;\n      if (7 < DAT_00089a4c) goto LAB_0003c727;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003c7a8;\n    }" if (parenthesized_expression "(puVar3 == DAT_000897ec)" ( (binary_expression "puVar3 == DAT_000897ec" identifier == identifier) )) (compound_statement "{\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003c786;\n      if (7 < DAT_00089a4c) goto LAB_0003c727;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003c7a8;\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_0003c786;" 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_0003c786;" goto statement_identifier ;)) (if_statement "if (7 < DAT_00089a4c) goto LAB_0003c727;" if (parenthesized_expression "(7 < DAT_00089a4c)" ( (binary_expression "7 < DAT_00089a4c" number_literal < identifier) )) (goto_statement "goto LAB_0003c727;" 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_0003c7a8;" goto statement_identifier ;) })) (if_statement "if ((bVar1 & 4) != 0) goto LAB_0003c6f3;" 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_0003c6f3;" goto statement_identifier ;)) (if_statement "if (7 < DAT_00089a4c) goto LAB_0003c727;" if (parenthesized_expression "(7 < DAT_00089a4c)" ( (binary_expression "7 < DAT_00089a4c" number_literal < identifier) )) (goto_statement "goto LAB_0003c727;" goto statement_identifier ;)) }))) (if_statement "if (puVar3 == (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) goto LAB_0003c727;" if (parenthesized_expression "(puVar3 == (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0))" ( (binary_expression "puVar3 == (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)" identifier == (cast_expression "(undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__bfd_std_section_0007ffb0 + 0xc0)" ( (binary_expression "PTR__bfd_std_section_0007ffb0 + 0xc0" identifier + number_literal) )))) )) (goto_statement "goto LAB_0003c727;" goto statement_identifier ;)) (expression_statement "DAT_00089a4c = DAT_00089a4c + 1;" (assignment_expression "DAT_00089a4c = DAT_00089a4c + 1" identifier = (binary_expression "DAT_00089a4c + 1" identifier + number_literal)) ;) (expression_statement "puVar8 = &DAT_0005db05;" (assignment_expression "puVar8 = &DAT_0005db05" identifier = (pointer_expression "&DAT_0005db05" & identifier)) ;) (expression_statement "fprintf(param_1,"\n%*s<",DAT_00089a4c * 4,&DAT_0005db05);" (call_expression "fprintf(param_1,"\n%*s<",DAT_00089a4c * 4,&DAT_0005db05)" identifier (argument_list "(param_1,"\n%*s<",DAT_00089a4c * 4,&DAT_0005db05)" ( identifier , (string_literal ""\n%*s<"" " escape_sequence string_content ") , (binary_expression "DAT_00089a4c * 4" identifier * number_literal) , (pointer_expression "&DAT_0005db05" & identifier) ))) ;) (if_statement "if ((*pbVar6 & 1) == 0) {\nLAB_0003caa3:\n    FUN_0003c010(param_1,pbVar6 + 8);\n  }\n  else {\n    if (*(undefined4 **)(pbVar6 + 4) == DAT_000897ec) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003caa3;\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_0003caa3:\n    FUN_0003c010(param_1,pbVar6 + 8);\n  }" { (labeled_statement "LAB_0003caa3:\n    FUN_0003c010(param_1,pbVar6 + 8);" statement_identifier : (expression_statement "FUN_0003c010(param_1,pbVar6 + 8);" (call_expression "FUN_0003c010(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_000897ec) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003caa3;\n    }\n    fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);\n  }" else (compound_statement "{\n    if (*(undefined4 **)(pbVar6 + 4) == DAT_000897ec) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003caa3;\n    }\n    fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);\n  }" { (if_statement "if (*(undefined4 **)(pbVar6 + 4) == DAT_000897ec) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003caa3;\n    }" if (parenthesized_expression "(*(undefined4 **)(pbVar6 + 4) == DAT_000897ec)" ( (binary_expression "*(undefined4 **)(pbVar6 + 4) == DAT_000897ec" (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_0003caa3;\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_0003caa3;" 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_00089a4c = DAT_00089a4c + -1;" (assignment_expression "DAT_00089a4c = DAT_00089a4c + -1" identifier = (binary_expression "DAT_00089a4c + -1" identifier + number_literal)) ;) (labeled_statement "LAB_0003c727:\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_0003c4b0(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_0003c4f6:\n    pcVar7 = (char *)puVar3[1];\n    if (pcVar7 == (char *)0x0) goto LAB_0003c4e3;\nLAB_0003c4fd:\n    if (*pcVar7 == '\0') {\n      pcVar7 = "(unnamed)";\n    }\n  }\n  else {\n    if (DAT_000897ec == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003c4f6;\n    }\n    pcVar7 = *(char **)(param_2 + 8);\n    if (pcVar7 != (char *)0x0) goto LAB_0003c4fd;\nLAB_0003c4e3:\n    pcVar7 = "(unnamed)";\n  }\n  fwrite(&DAT_00061014,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_000897ec)) {\n    if (*(undefined **)(pbVar6 + 0x24) != &DAT_00089760) {\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_0003c635;\nLAB_0003c7cf:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_000387f0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c7f7;\nLAB_0003c649:\n      iVar2 = FUN_00038510(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c65d;\nLAB_0003c81f:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00038580(pbVar6);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003c7cf;\nLAB_0003c635:\n      iVar2 = FUN_000387f0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c649;\nLAB_0003c7f7:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_00038510(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c81f;\nLAB_0003c65d:\n      iVar2 = FUN_00038580(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_0003ca10:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_000897ec) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003ca7c;\n          }\n          goto LAB_0003c750;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_0007ffb0 + 0xc0) goto LAB_0003c764;\n      goto LAB_0003c69c;\n    }\n    if (DAT_000897ec == puVar3) {\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003ca10;\nLAB_0003ca7c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0007ffb0 + 0xc0)\n      goto LAB_0003c5ae;\nLAB_0003c764:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003c5ae;\n    }\nLAB_0003c750:\n    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) goto LAB_0003c764;\nLAB_0003c5c2:\n    if (DAT_000897ec == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003c8a0:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c6a6;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_000897ec != puVar3) goto LAB_0003c6b8;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c8d8;\nLAB_0003c9e2:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c6b2;\n    }\n  }\n  else {\n    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_0007ff70)) {\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_0003c5ae:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003c5c2;\n    }\nLAB_0003c69c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003c8a0;\nLAB_0003c6a6:\n    pbVar5 = pbVar6;\n    if ((pbVar6[1] & 4) != 0) {\nLAB_0003c8d8:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_000897ec == puVar3) goto LAB_0003c9e2;\n        goto LAB_0003c6b8;\n      }\n    }\nLAB_0003c6b2:\n    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\n  }\nLAB_0003c6b8:\n  fprintf(param_1," %s",*puVar3);\n  bVar1 = *pbVar6;\n  if ((bVar1 & 1) == 0) {\n    pbVar5 = pbVar6;\n    if ((bVar1 & 4) != 0) {\nLAB_0003c786:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003c6f3:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) &&\n         (DAT_00089720 != puVar3)) {\n        uVar4 = FUN_0003a220();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003c727;\n    }\n    if (7 < DAT_00089a4c) goto LAB_0003c727;\n    iVar2 = *(int *)(pbVar6 + 4);\nLAB_0003c7a8:\n    puVar3 = *(undefined4 **)(iVar2 + 0x14);\n  }\n  else {\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if (puVar3 == DAT_000897ec) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003c786;\n      if (7 < DAT_00089a4c) goto LAB_0003c727;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003c7a8;\n    }\n    if ((bVar1 & 4) != 0) goto LAB_0003c6f3;\n    if (7 < DAT_00089a4c) goto LAB_0003c727;\n  }\n  if (puVar3 == (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) goto LAB_0003c727;\n  DAT_00089a4c = DAT_00089a4c + 1;\n  puVar8 = &DAT_0005db05;\n  fprintf(param_1,"\n%*s<",DAT_00089a4c * 4,&DAT_0005db05);\n  if ((*pbVar6 & 1) == 0) {\nLAB_0003caa3:\n    FUN_0003c010(param_1,pbVar6 + 8);\n  }\n  else {\n    if (*(undefined4 **)(pbVar6 + 4) == DAT_000897ec) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003caa3;\n    }\n    fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);\n  }\n  fputc(0x3e,param_1);\n  DAT_00089a4c = DAT_00089a4c + -1;\nLAB_0003c727:\n  fflush(param_1);\n  return;\n}" (primitive_type "void") (function_declarator "FUN_0003c4b0(FILE *param_1,byte *param_2)" (identifier "FUN_0003c4b0") (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_0003c4f6:\n    pcVar7 = (char *)puVar3[1];\n    if (pcVar7 == (char *)0x0) goto LAB_0003c4e3;\nLAB_0003c4fd:\n    if (*pcVar7 == '\0') {\n      pcVar7 = "(unnamed)";\n    }\n  }\n  else {\n    if (DAT_000897ec == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003c4f6;\n    }\n    pcVar7 = *(char **)(param_2 + 8);\n    if (pcVar7 != (char *)0x0) goto LAB_0003c4fd;\nLAB_0003c4e3:\n    pcVar7 = "(unnamed)";\n  }\n  fwrite(&DAT_00061014,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_000897ec)) {\n    if (*(undefined **)(pbVar6 + 0x24) != &DAT_00089760) {\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_0003c635;\nLAB_0003c7cf:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_000387f0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c7f7;\nLAB_0003c649:\n      iVar2 = FUN_00038510(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c65d;\nLAB_0003c81f:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00038580(pbVar6);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003c7cf;\nLAB_0003c635:\n      iVar2 = FUN_000387f0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c649;\nLAB_0003c7f7:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_00038510(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c81f;\nLAB_0003c65d:\n      iVar2 = FUN_00038580(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_0003ca10:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_000897ec) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003ca7c;\n          }\n          goto LAB_0003c750;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_0007ffb0 + 0xc0) goto LAB_0003c764;\n      goto LAB_0003c69c;\n    }\n    if (DAT_000897ec == puVar3) {\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003ca10;\nLAB_0003ca7c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0007ffb0 + 0xc0)\n      goto LAB_0003c5ae;\nLAB_0003c764:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003c5ae;\n    }\nLAB_0003c750:\n    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) goto LAB_0003c764;\nLAB_0003c5c2:\n    if (DAT_000897ec == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003c8a0:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c6a6;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_000897ec != puVar3) goto LAB_0003c6b8;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c8d8;\nLAB_0003c9e2:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c6b2;\n    }\n  }\n  else {\n    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_0007ff70)) {\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_0003c5ae:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003c5c2;\n    }\nLAB_0003c69c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003c8a0;\nLAB_0003c6a6:\n    pbVar5 = pbVar6;\n    if ((pbVar6[1] & 4) != 0) {\nLAB_0003c8d8:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_000897ec == puVar3) goto LAB_0003c9e2;\n        goto LAB_0003c6b8;\n      }\n    }\nLAB_0003c6b2:\n    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\n  }\nLAB_0003c6b8:\n  fprintf(param_1," %s",*puVar3);\n  bVar1 = *pbVar6;\n  if ((bVar1 & 1) == 0) {\n    pbVar5 = pbVar6;\n    if ((bVar1 & 4) != 0) {\nLAB_0003c786:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003c6f3:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) &&\n         (DAT_00089720 != puVar3)) {\n        uVar4 = FUN_0003a220();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003c727;\n    }\n    if (7 < DAT_00089a4c) goto LAB_0003c727;\n    iVar2 = *(int *)(pbVar6 + 4);\nLAB_0003c7a8:\n    puVar3 = *(undefined4 **)(iVar2 + 0x14);\n  }\n  else {\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if (puVar3 == DAT_000897ec) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003c786;\n      if (7 < DAT_00089a4c) goto LAB_0003c727;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003c7a8;\n    }\n    if ((bVar1 & 4) != 0) goto LAB_0003c6f3;\n    if (7 < DAT_00089a4c) goto LAB_0003c727;\n  }\n  if (puVar3 == (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) goto LAB_0003c727;\n  DAT_00089a4c = DAT_00089a4c + 1;\n  puVar8 = &DAT_0005db05;\n  fprintf(param_1,"\n%*s<",DAT_00089a4c * 4,&DAT_0005db05);\n  if ((*pbVar6 & 1) == 0) {\nLAB_0003caa3:\n    FUN_0003c010(param_1,pbVar6 + 8);\n  }\n  else {\n    if (*(undefined4 **)(pbVar6 + 4) == DAT_000897ec) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003caa3;\n    }\n    fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);\n  }\n  fputc(0x3e,param_1);\n  DAT_00089a4c = DAT_00089a4c + -1;\nLAB_0003c727:\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_0003c4f6:\n    pcVar7 = (char *)puVar3[1];\n    if (pcVar7 == (char *)0x0) goto LAB_0003c4e3;\nLAB_0003c4fd:\n    if (*pcVar7 == '\0') {\n      pcVar7 = "(unnamed)";\n    }\n  }\n  else {\n    if (DAT_000897ec == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003c4f6;\n    }\n    pcVar7 = *(char **)(param_2 + 8);\n    if (pcVar7 != (char *)0x0) goto LAB_0003c4fd;\nLAB_0003c4e3:\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_0003c4f6:\n    pcVar7 = (char *)puVar3[1];\n    if (pcVar7 == (char *)0x0) goto LAB_0003c4e3;\nLAB_0003c4fd:\n    if (*pcVar7 == '\0') {\n      pcVar7 = "(unnamed)";\n    }\n  }" ({ "{") (labeled_statement "LAB_0003c4f6:\n    pcVar7 = (char *)puVar3[1];" (statement_identifier "LAB_0003c4f6") (: ":") (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_0003c4e3;" (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_0003c4e3;" (goto "goto") (statement_identifier "LAB_0003c4e3") (; ";"))) (labeled_statement "LAB_0003c4fd:\n    if (*pcVar7 == '\0') {\n      pcVar7 = "(unnamed)";\n    }" (statement_identifier "LAB_0003c4fd") (: ":") (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_000897ec == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003c4f6;\n    }\n    pcVar7 = *(char **)(param_2 + 8);\n    if (pcVar7 != (char *)0x0) goto LAB_0003c4fd;\nLAB_0003c4e3:\n    pcVar7 = "(unnamed)";\n  }" (else "else") (compound_statement "{\n    if (DAT_000897ec == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003c4f6;\n    }\n    pcVar7 = *(char **)(param_2 + 8);\n    if (pcVar7 != (char *)0x0) goto LAB_0003c4fd;\nLAB_0003c4e3:\n    pcVar7 = "(unnamed)";\n  }" ({ "{") (if_statement "if (DAT_000897ec == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003c4f6;\n    }" (if "if") (parenthesized_expression "(DAT_000897ec == puVar3)" (( "(") (binary_expression "DAT_000897ec == puVar3" (identifier "DAT_000897ec") (== "==") (identifier "puVar3")) () ")")) (compound_statement "{\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003c4f6;\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_0003c4f6;" (goto "goto") (statement_identifier "LAB_0003c4f6") (; ";")) (} "}"))) (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_0003c4fd;" (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_0003c4fd;" (goto "goto") (statement_identifier "LAB_0003c4fd") (; ";"))) (labeled_statement "LAB_0003c4e3:\n    pcVar7 = "(unnamed)";" (statement_identifier "LAB_0003c4e3") (: ":") (expression_statement "pcVar7 = "(unnamed)";" (assignment_expression "pcVar7 = "(unnamed)"" (identifier "pcVar7") (= "=") (string_literal ""(unnamed)"" (" """) (string_content "(unnamed)") (" """))) (; ";"))) (} "}")))) (expression_statement "fwrite(&DAT_00061014,1,4,param_1);" (call_expression "fwrite(&DAT_00061014,1,4,param_1)" (identifier "fwrite") (argument_list "(&DAT_00061014,1,4,param_1)" (( "(") (pointer_expression "&DAT_00061014" (& "&") (identifier "DAT_00061014")) (, ",") (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_000897ec)) {\n    if (*(undefined **)(pbVar6 + 0x24) != &DAT_00089760) {\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_0003c635;\nLAB_0003c7cf:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_000387f0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c7f7;\nLAB_0003c649:\n      iVar2 = FUN_00038510(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c65d;\nLAB_0003c81f:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00038580(pbVar6);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003c7cf;\nLAB_0003c635:\n      iVar2 = FUN_000387f0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c649;\nLAB_0003c7f7:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_00038510(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c81f;\nLAB_0003c65d:\n      iVar2 = FUN_00038580(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_0003ca10:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_000897ec) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003ca7c;\n          }\n          goto LAB_0003c750;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_0007ffb0 + 0xc0) goto LAB_0003c764;\n      goto LAB_0003c69c;\n    }\n    if (DAT_000897ec == puVar3) {\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003ca10;\nLAB_0003ca7c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0007ffb0 + 0xc0)\n      goto LAB_0003c5ae;\nLAB_0003c764:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003c5ae;\n    }\nLAB_0003c750:\n    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) goto LAB_0003c764;\nLAB_0003c5c2:\n    if (DAT_000897ec == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003c8a0:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c6a6;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_000897ec != puVar3) goto LAB_0003c6b8;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c8d8;\nLAB_0003c9e2:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c6b2;\n    }\n  }\n  else {\n    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_0007ff70)) {\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_0003c5ae:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003c5c2;\n    }\nLAB_0003c69c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003c8a0;\nLAB_0003c6a6:\n    pbVar5 = pbVar6;\n    if ((pbVar6[1] & 4) != 0) {\nLAB_0003c8d8:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_000897ec == puVar3) goto LAB_0003c9e2;\n        goto LAB_0003c6b8;\n      }\n    }\nLAB_0003c6b2:\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_000897ec))" (( "(") (binary_expression "((bVar1 & 1) == 0) ||\n     (pbVar6 = *(byte **)(param_2 + 0xc), *(undefined4 **)(param_2 + 4) == DAT_000897ec)" (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_000897ec)" (( "(") (comma_expression "pbVar6 = *(byte **)(param_2 + 0xc), *(undefined4 **)(param_2 + 4) == DAT_000897ec" (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_000897ec" (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_000897ec"))) () ")"))) () ")")) (compound_statement "{\n    if (*(undefined **)(pbVar6 + 0x24) != &DAT_00089760) {\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_0003c635;\nLAB_0003c7cf:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_000387f0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c7f7;\nLAB_0003c649:\n      iVar2 = FUN_00038510(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c65d;\nLAB_0003c81f:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00038580(pbVar6);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003c7cf;\nLAB_0003c635:\n      iVar2 = FUN_000387f0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c649;\nLAB_0003c7f7:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_00038510(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c81f;\nLAB_0003c65d:\n      iVar2 = FUN_00038580(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_0003ca10:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_000897ec) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003ca7c;\n          }\n          goto LAB_0003c750;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_0007ffb0 + 0xc0) goto LAB_0003c764;\n      goto LAB_0003c69c;\n    }\n    if (DAT_000897ec == puVar3) {\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003ca10;\nLAB_0003ca7c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0007ffb0 + 0xc0)\n      goto LAB_0003c5ae;\nLAB_0003c764:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003c5ae;\n    }\nLAB_0003c750:\n    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) goto LAB_0003c764;\nLAB_0003c5c2:\n    if (DAT_000897ec == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003c8a0:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c6a6;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_000897ec != puVar3) goto LAB_0003c6b8;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c8d8;\nLAB_0003c9e2:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c6b2;\n    }\n  }" ({ "{") (if_statement "if (*(undefined **)(pbVar6 + 0x24) != &DAT_00089760) {\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_00089760)" (( "(") (binary_expression "*(undefined **)(pbVar6 + 0x24) != &DAT_00089760" (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_00089760" (& "&") (identifier "DAT_00089760"))) () ")")) (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_0003c635;\nLAB_0003c7cf:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_000387f0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c7f7;\nLAB_0003c649:\n      iVar2 = FUN_00038510(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c65d;\nLAB_0003c81f:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00038580(pbVar6);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003c7cf;\nLAB_0003c635:\n      iVar2 = FUN_000387f0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c649;\nLAB_0003c7f7:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_00038510(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c81f;\nLAB_0003c65d:\n      iVar2 = FUN_00038580(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_0003c635;\nLAB_0003c7cf:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_000387f0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c7f7;\nLAB_0003c649:\n      iVar2 = FUN_00038510(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c65d;\nLAB_0003c81f:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00038580(pbVar6);\n    }" ({ "{") (if_statement "if ((bVar1 & 0x20) == 0) goto LAB_0003c635;" (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_0003c635;" (goto "goto") (statement_identifier "LAB_0003c635") (; ";"))) (labeled_statement "LAB_0003c7cf:\n      fwrite(" used",1,5,param_1);" (statement_identifier "LAB_0003c7cf") (: ":") (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_000387f0(pbVar6);" (assignment_expression "iVar2 = FUN_000387f0(pbVar6)" (identifier "iVar2") (= "=") (call_expression "FUN_000387f0(pbVar6)" (identifier "FUN_000387f0") (argument_list "(pbVar6)" (( "(") (identifier "pbVar6") () ")")))) (; ";")) (if_statement "if (iVar2 != 0) goto LAB_0003c7f7;" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0003c7f7;" (goto "goto") (statement_identifier "LAB_0003c7f7") (; ";"))) (labeled_statement "LAB_0003c649:\n      iVar2 = FUN_00038510(pbVar6);" (statement_identifier "LAB_0003c649") (: ":") (expression_statement "iVar2 = FUN_00038510(pbVar6);" (assignment_expression "iVar2 = FUN_00038510(pbVar6)" (identifier "iVar2") (= "=") (call_expression "FUN_00038510(pbVar6)" (identifier "FUN_00038510") (argument_list "(pbVar6)" (( "(") (identifier "pbVar6") () ")")))) (; ";"))) (if_statement "if (iVar2 == 0) goto LAB_0003c65d;" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0003c65d;" (goto "goto") (statement_identifier "LAB_0003c65d") (; ";"))) (labeled_statement "LAB_0003c81f:\n      fwrite(" extern",1,7,param_1);" (statement_identifier "LAB_0003c81f") (: ":") (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_00038580(pbVar6);" (assignment_expression "iVar2 = FUN_00038580(pbVar6)" (identifier "iVar2") (= "=") (call_expression "FUN_00038580(pbVar6)" (identifier "FUN_00038580") (argument_list "(pbVar6)" (( "(") (identifier "pbVar6") () ")")))) (; ";")) (} "}")) (else_clause "else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003c7cf;\nLAB_0003c635:\n      iVar2 = FUN_000387f0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c649;\nLAB_0003c7f7:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_00038510(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c81f;\nLAB_0003c65d:\n      iVar2 = FUN_00038580(pbVar6);\n    }" (else "else") (compound_statement "{\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003c7cf;\nLAB_0003c635:\n      iVar2 = FUN_000387f0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003c649;\nLAB_0003c7f7:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_00038510(pbVar6);\n      if (iVar2 != 0) goto LAB_0003c81f;\nLAB_0003c65d:\n      iVar2 = FUN_00038580(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_0003c7cf;" (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_0003c7cf;" (goto "goto") (statement_identifier "LAB_0003c7cf") (; ";"))) (labeled_statement "LAB_0003c635:\n      iVar2 = FUN_000387f0(pbVar6);" (statement_identifier "LAB_0003c635") (: ":") (expression_statement "iVar2 = FUN_000387f0(pbVar6);" (assignment_expression "iVar2 = FUN_000387f0(pbVar6)" (identifier "iVar2") (= "=") (call_expression "FUN_000387f0(pbVar6)" (identifier "FUN_000387f0") (argument_list "(pbVar6)" (( "(") (identifier "pbVar6") () ")")))) (; ";"))) (if_statement "if (iVar2 == 0) goto LAB_0003c649;" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0003c649;" (goto "goto") (statement_identifier "LAB_0003c649") (; ";"))) (labeled_statement "LAB_0003c7f7:\n      fwrite(" local",1,6,param_1);" (statement_identifier "LAB_0003c7f7") (: ":") (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_00038510(pbVar6);" (assignment_expression "iVar2 = FUN_00038510(pbVar6)" (identifier "iVar2") (= "=") (call_expression "FUN_00038510(pbVar6)" (identifier "FUN_00038510") (argument_list "(pbVar6)" (( "(") (identifier "pbVar6") () ")")))) (; ";")) (if_statement "if (iVar2 != 0) goto LAB_0003c81f;" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0003c81f;" (goto "goto") (statement_identifier "LAB_0003c81f") (; ";"))) (labeled_statement "LAB_0003c65d:\n      iVar2 = FUN_00038580(pbVar6);" (statement_identifier "LAB_0003c65d") (: ":") (expression_statement "iVar2 = FUN_00038580(pbVar6);" (assignment_expression "iVar2 = FUN_00038580(pbVar6)" (identifier "iVar2") (= "=") (call_expression "FUN_00038580(pbVar6)" (identifier "FUN_00038580") (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_0003ca10:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_000897ec) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003ca7c;\n          }\n          goto LAB_0003c750;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_0007ffb0 + 0xc0) goto LAB_0003c764;\n      goto LAB_0003c69c;\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_0003ca10:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_000897ec) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003ca7c;\n          }\n          goto LAB_0003c750;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_0007ffb0 + 0xc0) goto LAB_0003c764;\n      goto LAB_0003c69c;\n    }" ({ "{") (if_statement "if ((*(byte *)(puVar3 + 4) & 4) != 0) {\nLAB_0003ca10:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_000897ec) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003ca7c;\n          }\n          goto LAB_0003c750;\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_0003ca10:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_000897ec) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003ca7c;\n          }\n          goto LAB_0003c750;\n        }\n      }" ({ "{") (labeled_statement "LAB_0003ca10:\n        fwrite(" debug",1,6,param_1);" (statement_identifier "LAB_0003ca10") (: ":") (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_000897ec) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003ca7c;\n          }\n          goto LAB_0003c750;\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_000897ec) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003ca7c;\n          }\n          goto LAB_0003c750;\n        }" ({ "{") (if_statement "if (puVar3 == DAT_000897ec) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003ca7c;\n          }" (if "if") (parenthesized_expression "(puVar3 == DAT_000897ec)" (( "(") (binary_expression "puVar3 == DAT_000897ec" (identifier "puVar3") (== "==") (identifier "DAT_000897ec")) () ")")) (compound_statement "{\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003ca7c;\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_0003ca7c;" (goto "goto") (statement_identifier "LAB_0003ca7c") (; ";")) (} "}"))) (goto_statement "goto LAB_0003c750;" (goto "goto") (statement_identifier "LAB_0003c750") (; ";")) (} "}"))) (} "}"))) (if_statement "if ((undefined *)puVar3[5] != PTR__bfd_std_section_0007ffb0 + 0xc0) goto LAB_0003c764;" (if "if") (parenthesized_expression "((undefined *)puVar3[5] != PTR__bfd_std_section_0007ffb0 + 0xc0)" (( "(") (binary_expression "(undefined *)puVar3[5] != PTR__bfd_std_section_0007ffb0 + 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_0007ffb0 + 0xc0" (identifier "PTR__bfd_std_section_0007ffb0") (+ "+") (number_literal "0xc0"))) () ")")) (goto_statement "goto LAB_0003c764;" (goto "goto") (statement_identifier "LAB_0003c764") (; ";"))) (goto_statement "goto LAB_0003c69c;" (goto "goto") (statement_identifier "LAB_0003c69c") (; ";")) (} "}"))) (if_statement "if (DAT_000897ec == puVar3) {\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003ca10;\nLAB_0003ca7c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0007ffb0 + 0xc0)\n      goto LAB_0003c5ae;\nLAB_0003c764:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003c5ae;\n    }" (if "if") (parenthesized_expression "(DAT_000897ec == puVar3)" (( "(") (binary_expression "DAT_000897ec == puVar3" (identifier "DAT_000897ec") (== "==") (identifier "puVar3")) () ")")) (compound_statement "{\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003ca10;\nLAB_0003ca7c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0007ffb0 + 0xc0)\n      goto LAB_0003c5ae;\nLAB_0003c764:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003c5ae;\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_0003ca10;" (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_0003ca10;" (goto "goto") (statement_identifier "LAB_0003ca10") (; ";"))) (labeled_statement "LAB_0003ca7c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0007ffb0 + 0xc0)\n      goto LAB_0003c5ae;" (statement_identifier "LAB_0003ca7c") (: ":") (if_statement "if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0007ffb0 + 0xc0)\n      goto LAB_0003c5ae;" (if "if") (parenthesized_expression "(*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0007ffb0 + 0xc0)" (( "(") (binary_expression "*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0007ffb0 + 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_0007ffb0 + 0xc0" (identifier "PTR__bfd_std_section_0007ffb0") (+ "+") (number_literal "0xc0"))) () ")")) (goto_statement "goto LAB_0003c5ae;" (goto "goto") (statement_identifier "LAB_0003c5ae") (; ";")))) (labeled_statement "LAB_0003c764:\n      fwrite(" defined",1,8,param_1);" (statement_identifier "LAB_0003c764") (: ":") (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_0003c5ae;" (goto "goto") (statement_identifier "LAB_0003c5ae") (; ";")) (} "}"))) (labeled_statement "LAB_0003c750:\n    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) goto LAB_0003c764;" (statement_identifier "LAB_0003c750") (: ":") (if_statement "if (puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) goto LAB_0003c764;" (if "if") (parenthesized_expression "(puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0))" (( "(") (binary_expression "puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)" (identifier "puVar3") (!= "!=") (cast_expression "(undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR__bfd_std_section_0007ffb0 + 0xc0)" (( "(") (binary_expression "PTR__bfd_std_section_0007ffb0 + 0xc0" (identifier "PTR__bfd_std_section_0007ffb0") (+ "+") (number_literal "0xc0")) () ")")))) () ")")) (goto_statement "goto LAB_0003c764;" (goto "goto") (statement_identifier "LAB_0003c764") (; ";")))) (labeled_statement "LAB_0003c5c2:\n    if (DAT_000897ec == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003c8a0:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c6a6;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_000897ec != puVar3) goto LAB_0003c6b8;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c8d8;\nLAB_0003c9e2:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c6b2;\n    }" (statement_identifier "LAB_0003c5c2") (: ":") (if_statement "if (DAT_000897ec == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003c8a0:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c6a6;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_000897ec != puVar3) goto LAB_0003c6b8;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c8d8;\nLAB_0003c9e2:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c6b2;\n    }" (if "if") (parenthesized_expression "(DAT_000897ec == puVar3)" (( "(") (binary_expression "DAT_000897ec == puVar3" (identifier "DAT_000897ec") (== "==") (identifier "puVar3")) () ")")) (compound_statement "{\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003c8a0:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c6a6;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_000897ec != puVar3) goto LAB_0003c6b8;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c8d8;\nLAB_0003c9e2:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003c6b2;\n    }" ({ "{") (if_statement "if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003c8a0:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c6a6;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_000897ec != puVar3) goto LAB_0003c6b8;\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_0003c8a0:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003c6a6;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_000897ec != puVar3) goto LAB_0003c6b8;\n      }" ({ "{") (labeled_statement "LAB_0003c8a0:\n        fwrite(" weakrefr",1,9,param_1);" (statement_identifier "LAB_0003c8a0") (: ":") (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_0003c6a6;" (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_0003c6a6;" (goto "goto") (statement_identifier "LAB_0003c6a6") (; ";"))) (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_000897ec != puVar3) goto LAB_0003c6b8;" (if "if") (parenthesized_expression "(DAT_000897ec != puVar3)" (( "(") (binary_expression "DAT_000897ec != puVar3" (identifier "DAT_000897ec") (!= "!=") (identifier "puVar3")) () ")")) (goto_statement "goto LAB_0003c6b8;" (goto "goto") (statement_identifier "LAB_0003c6b8") (; ";"))) (} "}"))) (if_statement "if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c8d8;" (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_0003c8d8;" (goto "goto") (statement_identifier "LAB_0003c8d8") (; ";"))) (labeled_statement "LAB_0003c9e2:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);" (statement_identifier "LAB_0003c9e2") (: ":") (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_0003c6b2;" (goto "goto") (statement_identifier "LAB_0003c6b2") (; ";")) (} "}")))) (} "}")) (else_clause "else {\n    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_0007ff70)) {\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_0003c5ae:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003c5c2;\n    }\nLAB_0003c69c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003c8a0;\nLAB_0003c6a6:\n    pbVar5 = pbVar6;\n    if ((pbVar6[1] & 4) != 0) {\nLAB_0003c8d8:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_000897ec == puVar3) goto LAB_0003c9e2;\n        goto LAB_0003c6b8;\n      }\n    }\nLAB_0003c6b2:\n    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\n  }" (else "else") (compound_statement "{\n    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_0007ff70)) {\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_0003c5ae:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003c5c2;\n    }\nLAB_0003c69c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003c8a0;\nLAB_0003c6a6:\n    pbVar5 = pbVar6;\n    if ((pbVar6[1] & 4) != 0) {\nLAB_0003c8d8:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_000897ec == puVar3) goto LAB_0003c9e2;\n        goto LAB_0003c6b8;\n      }\n    }\nLAB_0003c6b2:\n    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\n  }" ({ "{") (if_statement "if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_0007ff70)) {\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_0007ff70))" (( "(") (binary_expression "(pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_0007ff70)" (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_0007ff70)" (( "(") (binary_expression "pbVar6 != PTR_DAT_0007ff70" (identifier "pbVar6") (!= "!=") (identifier "PTR_DAT_0007ff70")) () ")"))) () ")")) (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_0003c5ae:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003c5c2;\n    }" (statement_identifier "LAB_0003c5ae") (: ":") (if_statement "if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003c5c2;\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_0003c5c2;\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_0003c5c2;" (goto "goto") (statement_identifier "LAB_0003c5c2") (; ";")) (} "}")))) (labeled_statement "LAB_0003c69c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003c8a0;" (statement_identifier "LAB_0003c69c") (: ":") (if_statement "if ((pbVar6[1] & 2) != 0) goto LAB_0003c8a0;" (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_0003c8a0;" (goto "goto") (statement_identifier "LAB_0003c8a0") (; ";")))) (labeled_statement "LAB_0003c6a6:\n    pbVar5 = pbVar6;" (statement_identifier "LAB_0003c6a6") (: ":") (expression_statement "pbVar5 = pbVar6;" (assignment_expression "pbVar5 = pbVar6" (identifier "pbVar5") (= "=") (identifier "pbVar6")) (; ";"))) (if_statement "if ((pbVar6[1] & 4) != 0) {\nLAB_0003c8d8:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_000897ec == puVar3) goto LAB_0003c9e2;\n        goto LAB_0003c6b8;\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_0003c8d8:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_000897ec == puVar3) goto LAB_0003c9e2;\n        goto LAB_0003c6b8;\n      }\n    }" ({ "{") (labeled_statement "LAB_0003c8d8:\n      fwrite(" weakrefd",1,9,param_1);" (statement_identifier "LAB_0003c8d8") (: ":") (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_000897ec == puVar3) goto LAB_0003c9e2;\n        goto LAB_0003c6b8;\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_000897ec == puVar3) goto LAB_0003c9e2;\n        goto LAB_0003c6b8;\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_000897ec == puVar3) goto LAB_0003c9e2;" (if "if") (parenthesized_expression "(DAT_000897ec == puVar3)" (( "(") (binary_expression "DAT_000897ec == puVar3" (identifier "DAT_000897ec") (== "==") (identifier "puVar3")) () ")")) (goto_statement "goto LAB_0003c9e2;" (goto "goto") (statement_identifier "LAB_0003c9e2") (; ";"))) (goto_statement "goto LAB_0003c6b8;" (goto "goto") (statement_identifier "LAB_0003c6b8") (; ";")) (} "}"))) (} "}"))) (labeled_statement "LAB_0003c6b2:\n    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);" (statement_identifier "LAB_0003c6b2") (: ":") (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_0003c6b8:\n  fprintf(param_1," %s",*puVar3);" (statement_identifier "LAB_0003c6b8") (: ":") (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_0003c786:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003c6f3:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) &&\n         (DAT_00089720 != puVar3)) {\n        uVar4 = FUN_0003a220();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003c727;\n    }\n    if (7 < DAT_00089a4c) goto LAB_0003c727;\n    iVar2 = *(int *)(pbVar6 + 4);\nLAB_0003c7a8:\n    puVar3 = *(undefined4 **)(iVar2 + 0x14);\n  }\n  else {\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if (puVar3 == DAT_000897ec) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003c786;\n      if (7 < DAT_00089a4c) goto LAB_0003c727;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003c7a8;\n    }\n    if ((bVar1 & 4) != 0) goto LAB_0003c6f3;\n    if (7 < DAT_00089a4c) goto LAB_0003c727;\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_0003c786:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003c6f3:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) &&\n         (DAT_00089720 != puVar3)) {\n        uVar4 = FUN_0003a220();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003c727;\n    }\n    if (7 < DAT_00089a4c) goto LAB_0003c727;\n    iVar2 = *(int *)(pbVar6 + 4);\nLAB_0003c7a8:\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_0003c786:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003c6f3:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) &&\n         (DAT_00089720 != puVar3)) {\n        uVar4 = FUN_0003a220();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003c727;\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_0003c786:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003c6f3:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) &&\n         (DAT_00089720 != puVar3)) {\n        uVar4 = FUN_0003a220();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003c727;\n    }" ({ "{") (labeled_statement "LAB_0003c786:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);" (statement_identifier "LAB_0003c786") (: ":") (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_0003c6f3:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) &&\n         (DAT_00089720 != puVar3)) {\n        uVar4 = FUN_0003a220();\n        fprintf(param_1," %lx",uVar4);\n      }" (statement_identifier "LAB_0003c6f3") (: ":") (if_statement "if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) &&\n         (DAT_00089720 != puVar3)) {\n        uVar4 = FUN_0003a220();\n        fprintf(param_1," %lx",uVar4);\n      }" (if "if") (parenthesized_expression "((puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) &&\n         (DAT_00089720 != puVar3))" (( "(") (binary_expression "(puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) &&\n         (DAT_00089720 != puVar3)" (parenthesized_expression "(puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0))" (( "(") (binary_expression "puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)" (identifier "puVar3") (!= "!=") (cast_expression "(undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR__bfd_std_section_0007ffb0 + 0xc0)" (( "(") (binary_expression "PTR__bfd_std_section_0007ffb0 + 0xc0" (identifier "PTR__bfd_std_section_0007ffb0") (+ "+") (number_literal "0xc0")) () ")")))) () ")")) (&& "&&") (parenthesized_expression "(DAT_00089720 != puVar3)" (( "(") (binary_expression "DAT_00089720 != puVar3" (identifier "DAT_00089720") (!= "!=") (identifier "puVar3")) () ")"))) () ")")) (compound_statement "{\n        uVar4 = FUN_0003a220();\n        fprintf(param_1," %lx",uVar4);\n      }" ({ "{") (expression_statement "uVar4 = FUN_0003a220();" (assignment_expression "uVar4 = FUN_0003a220()" (identifier "uVar4") (= "=") (call_expression "FUN_0003a220()" (identifier "FUN_0003a220") (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_0003c727;" (goto "goto") (statement_identifier "LAB_0003c727") (; ";")) (} "}"))) (if_statement "if (7 < DAT_00089a4c) goto LAB_0003c727;" (if "if") (parenthesized_expression "(7 < DAT_00089a4c)" (( "(") (binary_expression "7 < DAT_00089a4c" (number_literal "7") (< "<") (identifier "DAT_00089a4c")) () ")")) (goto_statement "goto LAB_0003c727;" (goto "goto") (statement_identifier "LAB_0003c727") (; ";"))) (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_0003c7a8:\n    puVar3 = *(undefined4 **)(iVar2 + 0x14);" (statement_identifier "LAB_0003c7a8") (: ":") (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_000897ec) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003c786;\n      if (7 < DAT_00089a4c) goto LAB_0003c727;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003c7a8;\n    }\n    if ((bVar1 & 4) != 0) goto LAB_0003c6f3;\n    if (7 < DAT_00089a4c) goto LAB_0003c727;\n  }" (else "else") (compound_statement "{\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if (puVar3 == DAT_000897ec) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003c786;\n      if (7 < DAT_00089a4c) goto LAB_0003c727;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003c7a8;\n    }\n    if ((bVar1 & 4) != 0) goto LAB_0003c6f3;\n    if (7 < DAT_00089a4c) goto LAB_0003c727;\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_000897ec) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003c786;\n      if (7 < DAT_00089a4c) goto LAB_0003c727;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003c7a8;\n    }" (if "if") (parenthesized_expression "(puVar3 == DAT_000897ec)" (( "(") (binary_expression "puVar3 == DAT_000897ec" (identifier "puVar3") (== "==") (identifier "DAT_000897ec")) () ")")) (compound_statement "{\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003c786;\n      if (7 < DAT_00089a4c) goto LAB_0003c727;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003c7a8;\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_0003c786;" (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_0003c786;" (goto "goto") (statement_identifier "LAB_0003c786") (; ";"))) (if_statement "if (7 < DAT_00089a4c) goto LAB_0003c727;" (if "if") (parenthesized_expression "(7 < DAT_00089a4c)" (( "(") (binary_expression "7 < DAT_00089a4c" (number_literal "7") (< "<") (identifier "DAT_00089a4c")) () ")")) (goto_statement "goto LAB_0003c727;" (goto "goto") (statement_identifier "LAB_0003c727") (; ";"))) (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_0003c7a8;" (goto "goto") (statement_identifier "LAB_0003c7a8") (; ";")) (} "}"))) (if_statement "if ((bVar1 & 4) != 0) goto LAB_0003c6f3;" (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_0003c6f3;" (goto "goto") (statement_identifier "LAB_0003c6f3") (; ";"))) (if_statement "if (7 < DAT_00089a4c) goto LAB_0003c727;" (if "if") (parenthesized_expression "(7 < DAT_00089a4c)" (( "(") (binary_expression "7 < DAT_00089a4c" (number_literal "7") (< "<") (identifier "DAT_00089a4c")) () ")")) (goto_statement "goto LAB_0003c727;" (goto "goto") (statement_identifier "LAB_0003c727") (; ";"))) (} "}")))) (if_statement "if (puVar3 == (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) goto LAB_0003c727;" (if "if") (parenthesized_expression "(puVar3 == (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0))" (( "(") (binary_expression "puVar3 == (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)" (identifier "puVar3") (== "==") (cast_expression "(undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR__bfd_std_section_0007ffb0 + 0xc0)" (( "(") (binary_expression "PTR__bfd_std_section_0007ffb0 + 0xc0" (identifier "PTR__bfd_std_section_0007ffb0") (+ "+") (number_literal "0xc0")) () ")")))) () ")")) (goto_statement "goto LAB_0003c727;" (goto "goto") (statement_identifier "LAB_0003c727") (; ";"))) (expression_statement "DAT_00089a4c = DAT_00089a4c + 1;" (assignment_expression "DAT_00089a4c = DAT_00089a4c + 1" (identifier "DAT_00089a4c") (= "=") (binary_expression "DAT_00089a4c + 1" (identifier "DAT_00089a4c") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar8 = &DAT_0005db05;" (assignment_expression "puVar8 = &DAT_0005db05" (identifier "puVar8") (= "=") (pointer_expression "&DAT_0005db05" (& "&") (identifier "DAT_0005db05"))) (; ";")) (expression_statement "fprintf(param_1,"\n%*s<",DAT_00089a4c * 4,&DAT_0005db05);" (call_expression "fprintf(param_1,"\n%*s<",DAT_00089a4c * 4,&DAT_0005db05)" (identifier "fprintf") (argument_list "(param_1,"\n%*s<",DAT_00089a4c * 4,&DAT_0005db05)" (( "(") (identifier "param_1") (, ",") (string_literal ""\n%*s<"" (" """) (escape_sequence "\n") (string_content "%*s<") (" """)) (, ",") (binary_expression "DAT_00089a4c * 4" (identifier "DAT_00089a4c") (* "*") (number_literal "4")) (, ",") (pointer_expression "&DAT_0005db05" (& "&") (identifier "DAT_0005db05")) () ")"))) (; ";")) (if_statement "if ((*pbVar6 & 1) == 0) {\nLAB_0003caa3:\n    FUN_0003c010(param_1,pbVar6 + 8);\n  }\n  else {\n    if (*(undefined4 **)(pbVar6 + 4) == DAT_000897ec) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003caa3;\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_0003caa3:\n    FUN_0003c010(param_1,pbVar6 + 8);\n  }" ({ "{") (labeled_statement "LAB_0003caa3:\n    FUN_0003c010(param_1,pbVar6 + 8);" (statement_identifier "LAB_0003caa3") (: ":") (expression_statement "FUN_0003c010(param_1,pbVar6 + 8);" (call_expression "FUN_0003c010(param_1,pbVar6 + 8)" (identifier "FUN_0003c010") (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_000897ec) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003caa3;\n    }\n    fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);\n  }" (else "else") (compound_statement "{\n    if (*(undefined4 **)(pbVar6 + 4) == DAT_000897ec) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003caa3;\n    }\n    fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);\n  }" ({ "{") (if_statement "if (*(undefined4 **)(pbVar6 + 4) == DAT_000897ec) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003caa3;\n    }" (if "if") (parenthesized_expression "(*(undefined4 **)(pbVar6 + 4) == DAT_000897ec)" (( "(") (binary_expression "*(undefined4 **)(pbVar6 + 4) == DAT_000897ec" (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_000897ec")) () ")")) (compound_statement "{\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003caa3;\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_0003caa3;" (goto "goto") (statement_identifier "LAB_0003caa3") (; ";")) (} "}"))) (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_00089a4c = DAT_00089a4c + -1;" (assignment_expression "DAT_00089a4c = DAT_00089a4c + -1" (identifier "DAT_00089a4c") (= "=") (binary_expression "DAT_00089a4c + -1" (identifier "DAT_00089a4c") (+ "+") (number_literal "-1"))) (; ";")) (labeled_statement "LAB_0003c727:\n  fflush(param_1);" (statement_identifier "LAB_0003c727") (: ":") (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_0003c4f6:
    var_1 = (type_2 *)var_3->id;
    if (var_1 == (type_2 *)0x0) goto LAB_0003c4e3;
LAB_0003c4fd:
    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_0003c4f6;
    }
    var_1 = (sym->sy_value).X_add_symbol;
    if (var_1 != (type_2 *)0x0) goto LAB_0003c4fd;
LAB_0003c4e3:
    var_1 = (type_2 *)"(unnamed)";
  }
  var_4(&DAT_00061014,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_0003c635;
LAB_0003c7cf:
      var_4(" used",1,5,(type_1 *)file);
      var_8 = var_7(var_1);
      if (var_8 != 0) goto LAB_0003c7f7;
LAB_0003c649:
      var_8 = var_9(var_1);
      if (var_8 == 0) goto LAB_0003c65d;
LAB_0003c81f:
      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_0003c7cf;
LAB_0003c635:
      var_8 = var_7(var_1);
      if (var_8 == 0) goto LAB_0003c649;
LAB_0003c7f7:
      var_4(" local",1,6,(type_1 *)file);
      var_8 = var_9(var_1);
      if (var_8 != 0) goto LAB_0003c81f;
LAB_0003c65d:
      var_8 = var_10(var_1);
    }
    if (var_8 != 0) {
      var_4(&DAT_0006105c,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_0003ca10:
        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_0003ca7c;
          }
          goto LAB_0003c750;
        }
      }
      if ((type_8 *)var_3->flags != var_11 + 0xc0) goto LAB_0003c764;
      goto LAB_0003c69c;
    }
    if (var_2 == var_3) {
      psVar5 = (var_1->sy_value).X_op_symbol;
      if ((psVar5->bsym->flags & 4) != 0) goto LAB_0003ca10;
LAB_0003ca7c:
      if (psVar5->bsym->section == (type_10 *)(var_11 + 0xc0))
      goto LAB_0003c5ae;
LAB_0003c764:
      var_4(" defined",1,8,(type_1 *)file);
      goto LAB_0003c5ae;
    }
LAB_0003c750:
    if (var_3 != (type_5)(var_11 + 0xc0)) goto LAB_0003c764;
LAB_0003c5c2:
    if (var_2 == var_3) {
      if (((((var_1->sy_value).X_op_symbol)->sy_flags).field_0x1 & 2) != 0) {
LAB_0003c8a0:
        var_4(" weakrefr",1,9,(type_1 *)file);
        if (((type_9)var_1->sy_flags & 1) == 0) goto LAB_0003c6a6;
        var_3 = (type_5)var_1->bsym;
        if (var_2 != var_3) goto LAB_0003c6b8;
      }
      if (((((var_1->sy_value).X_op_symbol)->sy_flags).field_0x1 & 4) != 0) goto LAB_0003c8d8;
LAB_0003c9e2:
      psVar5 = (var_1->sy_value).X_op_symbol;
      goto LAB_0003c6b2;
    }
  }
  else {
    if ((var_1 != (type_2 *)0x0) && (var_1 != (type_2 *)PTR_zero_address_frag_0007ff70)) {
      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_0003c5ae:
    if (((type_9)var_1->sy_flags & 1) != 0) {
      var_3 = (type_5)var_1->bsym;
      goto LAB_0003c5c2;
    }
LAB_0003c69c:
    if (((var_1->sy_flags).field_0x1 & 2) != 0) goto LAB_0003c8a0;
LAB_0003c6a6:
    psVar5 = var_1;
    if (((var_1->sy_flags).field_0x1 & 4) != 0) {
LAB_0003c8d8:
      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_0003c9e2;
        goto LAB_0003c6b8;
      }
    }
LAB_0003c6b2:
    var_3 = psVar5->bsym->section;
  }
LAB_0003c6b8:
  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_0003c786:
      var_3 = psVar5->bsym->section;
LAB_0003c6f3:
      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_0003c727;
    }
    if (7 < var_14) goto LAB_0003c727;
    paVar6 = var_1->bsym;
LAB_0003c7a8:
    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_0003c786;
      if (7 < var_14) goto LAB_0003c727;
      paVar6 = psVar5->bsym;
      goto LAB_0003c7a8;
    }
    if (((type_9)sVar1 & 4) != 0) goto LAB_0003c6f3;
    if (7 < var_14) goto LAB_0003c727;
  }
  if (var_3 == (type_5)(var_11 + 0xc0)) goto LAB_0003c727;
  var_14 = var_14 + 1;
  puVar9 = &DAT_0005db05;
  var_5((type_1 *)file,"\n%*s<",var_14 * 4,&DAT_0005db05);
  if (((type_9)var_1->sy_flags & 1) == 0) {
LAB_0003caa3:
    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_0003caa3;
    }
    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_0003c727:
  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_0003c4f6:
    pcVar7 = (char *)puVar3[1];
    if (pcVar7 == (char *)0x0) goto LAB_0003c4e3;
LAB_0003c4fd:
    if (*pcVar7 == '\0') {
      pcVar7 = "(unnamed)";
    }
  }
  else {
    if (DAT_000897ec == puVar3) {
      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);
      goto LAB_0003c4f6;
    }
    pcVar7 = *(char **)(param_2 + 8);
    if (pcVar7 != (char *)0x0) goto LAB_0003c4fd;
LAB_0003c4e3:
    pcVar7 = "(unnamed)";
  }
  fwrite(&DAT_00061014,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_000897ec)) {
    if (*(undefined **)(pbVar6 + 0x24) != &DAT_00089760) {
      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_0003c635;
LAB_0003c7cf:
      fwrite(" used",1,5,param_1);
      iVar2 = FUN_000387f0(pbVar6);
      if (iVar2 != 0) goto LAB_0003c7f7;
LAB_0003c649:
      iVar2 = FUN_00038510(pbVar6);
      if (iVar2 == 0) goto LAB_0003c65d;
LAB_0003c81f:
      fwrite(" extern",1,7,param_1);
      iVar2 = FUN_00038580(pbVar6);
    }
    else {
      fwrite(" used-in-reloc",1,0xe,param_1);
      if ((*pbVar6 & 0x20) != 0) goto LAB_0003c7cf;
LAB_0003c635:
      iVar2 = FUN_000387f0(pbVar6);
      if (iVar2 == 0) goto LAB_0003c649;
LAB_0003c7f7:
      fwrite(" local",1,6,param_1);
      iVar2 = FUN_00038510(pbVar6);
      if (iVar2 != 0) goto LAB_0003c81f;
LAB_0003c65d:
      iVar2 = FUN_00038580(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_0003ca10:
        fwrite(" debug",1,6,param_1);
        puVar3 = *(undefined4 **)(pbVar6 + 4);
        if ((*pbVar6 & 1) != 0) {
          if (puVar3 == DAT_000897ec) {
            iVar2 = *(int *)(pbVar6 + 0xc);
            goto LAB_0003ca7c;
          }
          goto LAB_0003c750;
        }
      }
      if ((undefined *)puVar3[5] != PTR__bfd_std_section_0007ffb0 + 0xc0) goto LAB_0003c764;
      goto LAB_0003c69c;
    }
    if (DAT_000897ec == puVar3) {
      iVar2 = *(int *)(pbVar6 + 0xc);
      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003ca10;
LAB_0003ca7c:
      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_0007ffb0 + 0xc0)
      goto LAB_0003c5ae;
LAB_0003c764:
      fwrite(" defined",1,8,param_1);
      goto LAB_0003c5ae;
    }
LAB_0003c750:
    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) goto LAB_0003c764;
LAB_0003c5c2:
    if (DAT_000897ec == puVar3) {
      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {
LAB_0003c8a0:
        fwrite(" weakrefr",1,9,param_1);
        if ((*pbVar6 & 1) == 0) goto LAB_0003c6a6;
        puVar3 = *(undefined4 **)(pbVar6 + 4);
        if (DAT_000897ec != puVar3) goto LAB_0003c6b8;
      }
      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003c8d8;
LAB_0003c9e2:
      pbVar5 = *(byte **)(pbVar6 + 0xc);
      goto LAB_0003c6b2;
    }
  }
  else {
    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_0007ff70)) {
      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_0003c5ae:
    if ((*pbVar6 & 1) != 0) {
      puVar3 = *(undefined4 **)(pbVar6 + 4);
      goto LAB_0003c5c2;
    }
LAB_0003c69c:
    if ((pbVar6[1] & 2) != 0) goto LAB_0003c8a0;
LAB_0003c6a6:
    pbVar5 = pbVar6;
    if ((pbVar6[1] & 4) != 0) {
LAB_0003c8d8:
      fwrite(" weakrefd",1,9,param_1);
      pbVar5 = pbVar6;
      if ((*pbVar6 & 1) != 0) {
        puVar3 = *(undefined4 **)(pbVar6 + 4);
        if (DAT_000897ec == puVar3) goto LAB_0003c9e2;
        goto LAB_0003c6b8;
      }
    }
LAB_0003c6b2:
    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);
  }
LAB_0003c6b8:
  fprintf(param_1," %s",*puVar3);
  bVar1 = *pbVar6;
  if ((bVar1 & 1) == 0) {
    pbVar5 = pbVar6;
    if ((bVar1 & 4) != 0) {
LAB_0003c786:
      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);
LAB_0003c6f3:
      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) &&
         (DAT_00089720 != puVar3)) {
        uVar4 = FUN_0003a220();
        fprintf(param_1," %lx",uVar4);
      }
      goto LAB_0003c727;
    }
    if (7 < DAT_00089a4c) goto LAB_0003c727;
    iVar2 = *(int *)(pbVar6 + 4);
LAB_0003c7a8:
    puVar3 = *(undefined4 **)(iVar2 + 0x14);
  }
  else {
    puVar3 = *(undefined4 **)(pbVar6 + 4);
    if (puVar3 == DAT_000897ec) {
      pbVar5 = *(byte **)(pbVar6 + 0xc);
      if ((*pbVar5 & 4) != 0) goto LAB_0003c786;
      if (7 < DAT_00089a4c) goto LAB_0003c727;
      iVar2 = *(int *)(pbVar5 + 4);
      goto LAB_0003c7a8;
    }
    if ((bVar1 & 4) != 0) goto LAB_0003c6f3;
    if (7 < DAT_00089a4c) goto LAB_0003c727;
  }
  if (puVar3 == (undefined4 *)(PTR__bfd_std_section_0007ffb0 + 0xc0)) goto LAB_0003c727;
  DAT_00089a4c = DAT_00089a4c + 1;
  puVar8 = &DAT_0005db05;
  fprintf(param_1,"\n%*s<",DAT_00089a4c * 4,&DAT_0005db05);
  if ((*pbVar6 & 1) == 0) {
LAB_0003caa3:
    FUN_0003c010(param_1,pbVar6 + 8);
  }
  else {
    if (*(undefined4 **)(pbVar6 + 4) == DAT_000897ec) {
      pbVar6 = *(byte **)(pbVar6 + 0xc);
      goto LAB_0003caa3;
    }
    fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);
  }
  fputc(0x3e,param_1);
  DAT_00089a4c = DAT_00089a4c + -1;
LAB_0003c727:
  fflush(param_1);
  return;
}

