
/* 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_0003aee6:
    psVar7 = (symbolS *)paVar4->id;
    if (psVar7 == (symbolS *)0x0) goto LAB_0003aed3;
LAB_0003aeed:
    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_0003aee6;
    }
    psVar7 = (sym->sy_value).X_add_symbol;
    if (psVar7 != (symbolS *)0x0) goto LAB_0003aeed;
LAB_0003aed3:
    psVar7 = (symbolS *)"(unnamed)";
  }
  fwrite(&DAT_0004fe00,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_0003b025;
LAB_0003b1bf:
      fwrite(" used",1,5,(FILE *)file);
      iVar3 = S_IS_LOCAL(psVar7);
      if (iVar3 != 0) goto LAB_0003b1e7;
LAB_0003b039:
      iVar3 = S_IS_EXTERNAL(psVar7);
      if (iVar3 == 0) goto LAB_0003b04d;
LAB_0003b20f:
      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_0003b1bf;
LAB_0003b025:
      iVar3 = S_IS_LOCAL(psVar7);
      if (iVar3 == 0) goto LAB_0003b039;
LAB_0003b1e7:
      fwrite(" local",1,6,(FILE *)file);
      iVar3 = S_IS_EXTERNAL(psVar7);
      if (iVar3 != 0) goto LAB_0003b20f;
LAB_0003b04d:
      iVar3 = S_IS_WEAK(psVar7);
    }
    if (iVar3 != 0) {
      fwrite(&DAT_0004fe4e,1,5,(FILE *)file);
    }
    paVar4 = (segT)psVar7->bsym;
    if (((uint)psVar7->sy_flags & 1) == 0) {
      if (((uint)paVar4->prev & 4) != 0) {
LAB_0003b400:
        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_0003b46c;
          }
          goto LAB_0003b140;
        }
      }
      if ((undefined *)paVar4->flags != PTR__bfd_std_section_00067fa4 + 0xc0) goto LAB_0003b154;
      goto LAB_0003b08c;
    }
    if (reg_section == paVar4) {
      psVar5 = (psVar7->sy_value).X_op_symbol;
      if ((psVar5->bsym->flags & 4) != 0) goto LAB_0003b400;
LAB_0003b46c:
      if (psVar5->bsym->section == (bfd_section *)(PTR__bfd_std_section_00067fa4 + 0xc0))
      goto LAB_0003af9e;
LAB_0003b154:
      fwrite(" defined",1,8,(FILE *)file);
      goto LAB_0003af9e;
    }
LAB_0003b140:
    if (paVar4 != (segT)(PTR__bfd_std_section_00067fa4 + 0xc0)) goto LAB_0003b154;
LAB_0003afb2:
    if (reg_section == paVar4) {
      if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 2) != 0) {
LAB_0003b290:
        fwrite(" weakrefr",1,9,(FILE *)file);
        if (((uint)psVar7->sy_flags & 1) == 0) goto LAB_0003b096;
        paVar4 = (segT)psVar7->bsym;
        if (reg_section != paVar4) goto LAB_0003b0a8;
      }
      if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 4) != 0) goto LAB_0003b2c8;
LAB_0003b3d2:
      psVar5 = (psVar7->sy_value).X_op_symbol;
      goto LAB_0003b0a2;
    }
  }
  else {
    if ((psVar7 != (symbolS *)0x0) && (psVar7 != (symbolS *)PTR_zero_address_frag_00067f64)) {
      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_0003af9e:
    if (((uint)psVar7->sy_flags & 1) != 0) {
      paVar4 = (segT)psVar7->bsym;
      goto LAB_0003afb2;
    }
LAB_0003b08c:
    if (((psVar7->sy_flags).field_0x1 & 2) != 0) goto LAB_0003b290;
LAB_0003b096:
    psVar5 = psVar7;
    if (((psVar7->sy_flags).field_0x1 & 4) != 0) {
LAB_0003b2c8:
      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_0003b3d2;
        goto LAB_0003b0a8;
      }
    }
LAB_0003b0a2:
    paVar4 = psVar5->bsym->section;
  }
LAB_0003b0a8:
  fprintf((FILE *)file," %s",paVar4->name);
  sVar1 = psVar7->sy_flags;
  if (((uint)sVar1 & 1) == 0) {
    psVar5 = psVar7;
    if (((uint)sVar1 & 4) != 0) {
LAB_0003b176:
      paVar4 = psVar5->bsym->section;
LAB_0003b0e3:
      if ((paVar4 != (segT)(PTR__bfd_std_section_00067fa4 + 0xc0)) && (expr_section != paVar4)) {
        vVar8 = S_GET_VALUE(psVar7);
        fprintf((FILE *)file," %lx",(int)vVar8);
      }
      goto LAB_0003b117;
    }
    if (7 < indent_level) goto LAB_0003b117;
    paVar6 = psVar7->bsym;
LAB_0003b198:
    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_0003b176;
      if (7 < indent_level) goto LAB_0003b117;
      paVar6 = psVar5->bsym;
      goto LAB_0003b198;
    }
    if (((uint)sVar1 & 4) != 0) goto LAB_0003b0e3;
    if (7 < indent_level) goto LAB_0003b117;
  }
  if (paVar4 == (segT)(PTR__bfd_std_section_00067fa4 + 0xc0)) goto LAB_0003b117;
  indent_level = indent_level + 1;
  puVar9 = &DAT_0004cb05;
  fprintf((FILE *)file,"\n%*s<",indent_level * 4,&DAT_0004cb05);
  if (((uint)psVar7->sy_flags & 1) == 0) {
LAB_0003b493:
    print_expr_1(file,&psVar7->sy_value);
  }
  else {
    if ((segT)psVar7->bsym == reg_section) {
      psVar7 = (psVar7->sy_value).X_op_symbol;
      goto LAB_0003b493;
    }
    fprintf((FILE *)file,"constant %lx",(int)(psVar7->sy_value).X_add_number,puVar9);
  }
  fputc(0x3e,(FILE *)file);
  indent_level = indent_level + -1;
LAB_0003b117:
  fflush((FILE *)file);
  return;
}



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

void FUN_0003aea0(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_0003aee6:
    pcVar7 = (char *)puVar3[1];
    if (pcVar7 == (char *)0x0) goto LAB_0003aed3;
LAB_0003aeed:
    if (*pcVar7 == '\0') {
      pcVar7 = "(unnamed)";
    }
  }
  else {
    if (DAT_00070e90 == puVar3) {
      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);
      goto LAB_0003aee6;
    }
    pcVar7 = *(char **)(param_2 + 8);
    if (pcVar7 != (char *)0x0) goto LAB_0003aeed;
LAB_0003aed3:
    pcVar7 = "(unnamed)";
  }
  fwrite(&DAT_0004fe00,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_00070e90)) {
    if (*(undefined **)(pbVar6 + 0x24) != &DAT_00070e20) {
      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_0003b025;
LAB_0003b1bf:
      fwrite(" used",1,5,param_1);
      iVar2 = FUN_000371e0(pbVar6);
      if (iVar2 != 0) goto LAB_0003b1e7;
LAB_0003b039:
      iVar2 = FUN_00036f00(pbVar6);
      if (iVar2 == 0) goto LAB_0003b04d;
LAB_0003b20f:
      fwrite(" extern",1,7,param_1);
      iVar2 = FUN_00036f70(pbVar6);
    }
    else {
      fwrite(" used-in-reloc",1,0xe,param_1);
      if ((*pbVar6 & 0x20) != 0) goto LAB_0003b1bf;
LAB_0003b025:
      iVar2 = FUN_000371e0(pbVar6);
      if (iVar2 == 0) goto LAB_0003b039;
LAB_0003b1e7:
      fwrite(" local",1,6,param_1);
      iVar2 = FUN_00036f00(pbVar6);
      if (iVar2 != 0) goto LAB_0003b20f;
LAB_0003b04d:
      iVar2 = FUN_00036f70(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_0003b400:
        fwrite(" debug",1,6,param_1);
        puVar3 = *(undefined4 **)(pbVar6 + 4);
        if ((*pbVar6 & 1) != 0) {
          if (puVar3 == DAT_00070e90) {
            iVar2 = *(int *)(pbVar6 + 0xc);
            goto LAB_0003b46c;
          }
          goto LAB_0003b140;
        }
      }
      if ((undefined *)puVar3[5] != PTR__bfd_std_section_00067fa4 + 0xc0) goto LAB_0003b154;
      goto LAB_0003b08c;
    }
    if (DAT_00070e90 == puVar3) {
      iVar2 = *(int *)(pbVar6 + 0xc);
      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003b400;
LAB_0003b46c:
      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_00067fa4 + 0xc0)
      goto LAB_0003af9e;
LAB_0003b154:
      fwrite(" defined",1,8,param_1);
      goto LAB_0003af9e;
    }
LAB_0003b140:
    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) goto LAB_0003b154;
LAB_0003afb2:
    if (DAT_00070e90 == puVar3) {
      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {
LAB_0003b290:
        fwrite(" weakrefr",1,9,param_1);
        if ((*pbVar6 & 1) == 0) goto LAB_0003b096;
        puVar3 = *(undefined4 **)(pbVar6 + 4);
        if (DAT_00070e90 != puVar3) goto LAB_0003b0a8;
      }
      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003b2c8;
LAB_0003b3d2:
      pbVar5 = *(byte **)(pbVar6 + 0xc);
      goto LAB_0003b0a2;
    }
  }
  else {
    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_00067f64)) {
      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_0003af9e:
    if ((*pbVar6 & 1) != 0) {
      puVar3 = *(undefined4 **)(pbVar6 + 4);
      goto LAB_0003afb2;
    }
LAB_0003b08c:
    if ((pbVar6[1] & 2) != 0) goto LAB_0003b290;
LAB_0003b096:
    pbVar5 = pbVar6;
    if ((pbVar6[1] & 4) != 0) {
LAB_0003b2c8:
      fwrite(" weakrefd",1,9,param_1);
      pbVar5 = pbVar6;
      if ((*pbVar6 & 1) != 0) {
        puVar3 = *(undefined4 **)(pbVar6 + 4);
        if (DAT_00070e90 == puVar3) goto LAB_0003b3d2;
        goto LAB_0003b0a8;
      }
    }
LAB_0003b0a2:
    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);
  }
LAB_0003b0a8:
  fprintf(param_1," %s",*puVar3);
  bVar1 = *pbVar6;
  if ((bVar1 & 1) == 0) {
    pbVar5 = pbVar6;
    if ((bVar1 & 4) != 0) {
LAB_0003b176:
      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);
LAB_0003b0e3:
      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) &&
         (DAT_00070de0 != puVar3)) {
        uVar4 = FUN_00038c10();
        fprintf(param_1," %lx",uVar4);
      }
      goto LAB_0003b117;
    }
    if (7 < DAT_000710cc) goto LAB_0003b117;
    iVar2 = *(int *)(pbVar6 + 4);
LAB_0003b198:
    puVar3 = *(undefined4 **)(iVar2 + 0x14);
  }
  else {
    puVar3 = *(undefined4 **)(pbVar6 + 4);
    if (puVar3 == DAT_00070e90) {
      pbVar5 = *(byte **)(pbVar6 + 0xc);
      if ((*pbVar5 & 4) != 0) goto LAB_0003b176;
      if (7 < DAT_000710cc) goto LAB_0003b117;
      iVar2 = *(int *)(pbVar5 + 4);
      goto LAB_0003b198;
    }
    if ((bVar1 & 4) != 0) goto LAB_0003b0e3;
    if (7 < DAT_000710cc) goto LAB_0003b117;
  }
  if (puVar3 == (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) goto LAB_0003b117;
  DAT_000710cc = DAT_000710cc + 1;
  puVar8 = &DAT_0004cb05;
  fprintf(param_1,"\n%*s<",DAT_000710cc * 4,&DAT_0004cb05);
  if ((*pbVar6 & 1) == 0) {
LAB_0003b493:
    FUN_0003aa00(param_1,pbVar6 + 8);
  }
  else {
    if (*(undefined4 **)(pbVar6 + 4) == DAT_00070e90) {
      pbVar6 = *(byte **)(pbVar6 + 0xc);
      goto LAB_0003b493;
    }
    fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);
  }
  fputc(0x3e,param_1);
  DAT_000710cc = DAT_000710cc + -1;
LAB_0003b117:
  fflush(param_1);
  return;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00015020
ADD EBX,0x2d157
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 0x0003aee6
LEA EDX,[EBX + 0x8e90]
CMP dword ptr [EDX],EAX
JZ 0x0003aee0
MOV EDI,dword ptr [ESI + 0x8]
TEST EDI,EDI
JNZ 0x0003aeed
LEA EDI,[EBX + 0xfffe7df6]
JMP 0x0003aef9
MOV EAX,dword ptr [ESI + 0xc]
MOV EAX,dword ptr [EAX + 0x4]
MOV EDI,dword ptr [EAX + 0x4]
TEST EDI,EDI
JZ 0x0003aed3
CMP byte ptr [EDI],0x0
LEA EAX,[EBX + 0xfffe7df6]
CMOVZ EDI,EAX
LEA EAX,[EBX + 0xfffe7e00]
PUSH EBP
PUSH 0x4
PUSH 0x1
PUSH EAX
CALL 0x000132d0
XOR EDX,EDX
LEA EAX,[EBX + 0xfffe5d93]
PUSH EDX
PUSH ESI
MOV dword ptr [ESP + 0x24],EAX
PUSH EAX
PUSH EBP
CALL 0x00013460
ADD ESP,0x1c
PUSH EDI
LEA EDI,[EBX + 0xfffe5d07]
PUSH EDI
PUSH EBP
CALL 0x00013460
MOVZX EAX,byte ptr [ESI]
ADD ESP,0x10
TEST AL,0x1
JZ 0x0003afca
LEA EDX,[EBX + 0x8e90]
MOV ECX,dword ptr [ESI + 0xc]
MOV EDX,dword ptr [EDX]
CMP dword ptr [ESI + 0x4],EDX
JZ 0x0003afc8
TEST ECX,ECX
JZ 0x0003af82
CMP ECX,dword ptr [EBX + 0xffffff64]
JZ 0x0003af82
LEA EAX,[EBX + 0xfffe7e05]
PUSH EBP
PUSH 0x6
PUSH 0x1
PUSH EAX
CALL 0x000132d0
MOV EAX,dword ptr [ESI + 0xc]
XOR EDX,EDX
PUSH EDX
PUSH EAX
PUSH dword ptr [ESP + 0x24]
PUSH EBP
CALL 0x00013460
MOVZX EAX,byte ptr [ESI]
ADD ESP,0x20
TEST AL,0x4
JNZ 0x0003b3e0
LEA EAX,[EBX + 0xfffe7e16]
PUSH EBP
PUSH 0x6
PUSH 0x1
PUSH EAX
CALL 0x000132d0
ADD ESP,0x10
TEST byte ptr [ESI],0x1
JZ 0x0003b08c
LEA EDX,[EBX + 0x8e90]
MOV EAX,dword ptr [ESI + 0x4]
MOV EDX,dword ptr [EDX]
CMP EDX,EAX
JZ 0x0003b3b8
MOV EDX,ESI
JMP 0x0003b0a8
MOV ESI,ECX
LEA EAX,[EBX + 0x8e20]
CMP dword ptr [ESI + 0x24],EAX
JZ 0x0003affa
LEA EAX,[EBX + 0xfffe7e05]
PUSH EBP
PUSH 0x6
PUSH 0x1
PUSH EAX
CALL 0x000132d0
MOV EAX,dword ptr [ESI + 0x24]
XOR EDX,EDX
PUSH EDX
PUSH EAX
PUSH dword ptr [ESP + 0x24]
PUSH EBP
CALL 0x00013460
ADD ESP,0x20
MOVZX EAX,byte ptr [ESI]
TEST AL,0x2
JNZ 0x0003b270
TEST AL,0x4
JNZ 0x0003b250
TEST AL,0x8
JNZ 0x0003b398
TEST AL,0x10
JNZ 0x0003b1a0
TEST AL,0x20
JNZ 0x0003b1bf
SUB ESP,0xc
PUSH ESI
CALL 0x000371e0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0003b1e7
SUB ESP,0xc
PUSH ESI
CALL 0x00036f00
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0003b20f
SUB ESP,0xc
PUSH ESI
CALL 0x00036f70
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0003b237
MOV EAX,dword ptr [ESI + 0x4]
TEST byte ptr [ESI],0x1
JNZ 0x0003b130
TEST byte ptr [EAX + 0x10],0x4
JNZ 0x0003b400
MOV EDX,dword ptr [EBX + 0xffffffa4]
ADD EDX,0xc0
CMP dword ptr [EAX + 0x14],EDX
JNZ 0x0003b154
TEST byte ptr [ESI + 0x1],0x2
JNZ 0x0003b290
MOV EDX,ESI
TEST byte ptr [ESI + 0x1],0x4
JNZ 0x0003b2c8
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 0x00013460
MOV EDX,dword ptr [ESP + 0x1c]
ADD ESP,0x10
MOVZX EAX,byte ptr [EDX]
TEST AL,0x1
JZ 0x0003b170
LEA ESI,[EBX + 0x8e90]
MOV ECX,dword ptr [EDX + 0x4]
CMP ECX,dword ptr [ESI]
JZ 0x0003b438
TEST AL,0x4
JZ 0x0003b300
MOV EAX,dword ptr [EBX + 0xffffffa4]
ADD EAX,0xc0
CMP ECX,EAX
JZ 0x0003b117
LEA EAX,[EBX + 0x8de0]
CMP dword ptr [EAX],ECX
JZ 0x0003b117
MOV EAX,EDX
CALL 0x00038c10
SUB ESP,0x4
PUSH EAX
LEA EAX,[EBX + 0xfffe7d37]
PUSH EAX
PUSH EBP
CALL 0x00013460
ADD ESP,0x10
SUB ESP,0xc
PUSH EBP
CALL 0x000130d0
ADD ESP,0x2c
POP EBX
POP ESI
POP EDI
POP EBP
RET
LEA EDX,[EBX + 0x8e90]
MOV EDX,dword ptr [EDX]
CMP EDX,EAX
JZ 0x0003b460
MOV ECX,dword ptr [EBX + 0xffffffa4]
ADD ECX,0xc0
CMP EAX,ECX
JZ 0x0003afb2
LEA EAX,[EBX + 0xfffe7e5b]
PUSH EBP
PUSH 0x8
PUSH 0x1
PUSH EAX
CALL 0x000132d0
ADD ESP,0x10
JMP 0x0003af9e
TEST AL,0x4
JZ 0x0003b188
MOV ECX,EDX
MOV EAX,dword ptr [ECX + 0x4]
MOV ECX,dword ptr [EAX + 0x14]
JMP 0x0003b0e3
LEA ESI,[EBX + 0x90cc]
MOV EAX,dword ptr [ESI]
CMP EAX,0x7
JG 0x0003b117
MOV ECX,dword ptr [EDX + 0x4]
MOV ECX,dword ptr [ECX + 0x14]
JMP 0x0003b311
LEA EAX,[EBX + 0xfffe7e31]
PUSH EBP
PUSH 0xe
PUSH 0x1
PUSH EAX
CALL 0x000132d0
MOVZX EAX,byte ptr [ESI]
ADD ESP,0x10
TEST AL,0x20
JZ 0x0003b025
LEA EAX,[EBX + 0xfffe7e40]
PUSH EBP
PUSH 0x5
PUSH 0x1
PUSH EAX
CALL 0x000132d0
ADD ESP,0x10
SUB ESP,0xc
PUSH ESI
CALL 0x000371e0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0003b039
LEA EAX,[EBX + 0xfffe7e16]
PUSH EBP
PUSH 0x6
PUSH 0x1
PUSH EAX
CALL 0x000132d0
ADD ESP,0x10
SUB ESP,0xc
PUSH ESI
CALL 0x00036f00
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0003b04d
LEA EAX,[EBX + 0xfffe7e46]
PUSH EBP
PUSH 0x7
PUSH 0x1
PUSH EAX
CALL 0x000132d0
ADD ESP,0x10
SUB ESP,0xc
PUSH ESI
CALL 0x00036f70
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0003b061
LEA EAX,[EBX + 0xfffe7e4e]
PUSH EBP
PUSH 0x5
PUSH 0x1
PUSH EAX
CALL 0x000132d0
ADD ESP,0x10
JMP 0x0003b061
LEA EAX,[EBX + 0xfffe7e0c]
PUSH EBP
PUSH 0x9
PUSH 0x1
PUSH EAX
CALL 0x000132d0
MOVZX EAX,byte ptr [ESI]
ADD ESP,0x10
JMP 0x0003b015
LEA EAX,[EBX + 0xfffe7e1d]
PUSH EBP
PUSH 0x8
PUSH 0x1
PUSH EAX
CALL 0x000132d0
MOVZX EAX,byte ptr [ESI]
ADD ESP,0x10
JMP 0x0003b005
LEA EAX,[EBX + 0xfffe7e64]
PUSH EBP
PUSH 0x9
PUSH 0x1
PUSH EAX
CALL 0x000132d0
ADD ESP,0x10
TEST byte ptr [ESI],0x1
JZ 0x0003b096
LEA EDX,[EBX + 0x8e90]
MOV EAX,dword ptr [ESI + 0x4]
CMP dword ptr [EDX],EAX
JZ 0x0003b3c5
MOV EDX,ESI
JMP 0x0003b0a8
LEA EAX,[EBX + 0xfffe7e6e]
PUSH EBP
PUSH 0x9
PUSH 0x1
PUSH EAX
CALL 0x000132d0
ADD ESP,0x10
MOV EDX,ESI
TEST byte ptr [ESI],0x1
JZ 0x0003b0a2
LEA ECX,[EBX + 0x8e90]
MOV EAX,dword ptr [ESI + 0x4]
CMP dword ptr [ECX],EAX
JZ 0x0003b3d2
JMP 0x0003b0a8
LEA ESI,[EBX + 0x90cc]
MOV EAX,dword ptr [ESI]
CMP EAX,0x7
JG 0x0003b117
MOV EDI,dword ptr [EBX + 0xffffffa4]
MOV dword ptr [ESP + 0xc],EDX
ADD EDI,0xc0
CMP ECX,EDI
JZ 0x0003b117
ADD EAX,0x1
LEA ECX,[EBX + 0xfffe4b05]
MOV dword ptr [ESI],EAX
SHL EAX,0x2
PUSH ECX
PUSH EAX
LEA EAX,[EBX + 0xfffe7dce]
PUSH EAX
PUSH EBP
CALL 0x00013460
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0xc]
TEST byte ptr [EDX],0x1
JZ 0x0003b493
LEA EAX,[EBX + 0x8e90]
MOV EAX,dword ptr [EAX]
CMP dword ptr [EDX + 0x4],EAX
JZ 0x0003b490
SUB ESP,0x4
LEA EAX,[EBX + 0xfffe7d2f]
PUSH dword ptr [EDX + 0x10]
PUSH EAX
PUSH EBP
CALL 0x00013460
ADD ESP,0x10
SUB ESP,0x8
PUSH EBP
PUSH 0x3e
CALL 0x00013620
SUB dword ptr [ESI],0x1
ADD ESP,0x10
JMP 0x0003b117
LEA EAX,[EBX + 0xfffe7e26]
PUSH EBP
PUSH 0xa
PUSH 0x1
PUSH EAX
CALL 0x000132d0
MOVZX EAX,byte ptr [ESI]
ADD ESP,0x10
JMP 0x0003b015
MOV EAX,dword ptr [ESI + 0xc]
TEST byte ptr [EAX + 0x1],0x2
JNZ 0x0003b290
MOV EAX,dword ptr [ESI + 0xc]
TEST byte ptr [EAX + 0x1],0x4
JNZ 0x0003b2c8
MOV EDX,ESI
MOV ESI,dword ptr [ESI + 0xc]
JMP 0x0003b0a2
LEA EAX,[EBX + 0xfffe7e0c]
PUSH EBP
PUSH 0x9
PUSH 0x1
PUSH EAX
CALL 0x000132d0
ADD ESP,0x10
JMP 0x0003af8a
LEA EAX,[EBX + 0xfffe7e54]
PUSH EBP
PUSH 0x6
PUSH 0x1
PUSH EAX
CALL 0x000132d0
ADD ESP,0x10
TEST byte ptr [ESI],0x1
MOV EAX,dword ptr [ESI + 0x4]
JZ 0x0003b077
LEA EDX,[EBX + 0x8e90]
MOV EDX,dword ptr [EDX]
CMP EAX,EDX
JNZ 0x0003b140
MOV EAX,dword ptr [ESI + 0xc]
JMP 0x0003b46c
MOV ECX,dword ptr [EDX + 0xc]
TEST byte ptr [ECX],0x4
JNZ 0x0003b176
LEA ESI,[EBX + 0x90cc]
MOV EAX,dword ptr [ESI]
CMP EAX,0x7
JG 0x0003b117
MOV ECX,dword ptr [ECX + 0x4]
JMP 0x0003b198
MOV EAX,dword ptr [ESI + 0xc]
MOV EDX,dword ptr [EAX + 0x4]
TEST byte ptr [EDX + 0x10],0x4
JNZ 0x0003b400
MOV EDX,dword ptr [EAX + 0x4]
MOV EAX,dword ptr [EBX + 0xffffffa4]
ADD EAX,0xc0
CMP dword ptr [EDX + 0x14],EAX
JZ 0x0003af9e
JMP 0x0003b154
MOV EDX,dword ptr [EDX + 0xc]
SUB ESP,0x8
ADD EDX,0x8
PUSH EDX
PUSH EBP
CALL 0x0003aa00
ADD ESP,0x10
JMP 0x0003b37d
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid FUN_0003aea0(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_0003aee6:\n    pcVar7 = (char *)puVar3[1];\n    if (pcVar7 == (char *)0x0) goto LAB_0003aed3;\nLAB_0003aeed:\n    if (*pcVar7 == '\0') {\n      pcVar7 = "(unnamed)";\n    }\n  }\n  else {\n    if (DAT_00070e90 == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003aee6;\n    }\n    pcVar7 = *(char **)(param_2 + 8);\n    if (pcVar7 != (char *)0x0) goto LAB_0003aeed;\nLAB_0003aed3:\n    pcVar7 = "(unnamed)";\n  }\n  fwrite(&DAT_0004fe00,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_00070e90)) {\n    if (*(undefined **)(pbVar6 + 0x24) != &DAT_00070e20) {\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_0003b025;\nLAB_0003b1bf:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_000371e0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003b1e7;\nLAB_0003b039:\n      iVar2 = FUN_00036f00(pbVar6);\n      if (iVar2 == 0) goto LAB_0003b04d;\nLAB_0003b20f:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00036f70(pbVar6);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003b1bf;\nLAB_0003b025:\n      iVar2 = FUN_000371e0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003b039;\nLAB_0003b1e7:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_00036f00(pbVar6);\n      if (iVar2 != 0) goto LAB_0003b20f;\nLAB_0003b04d:\n      iVar2 = FUN_00036f70(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_0003b400:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00070e90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003b46c;\n          }\n          goto LAB_0003b140;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_00067fa4 + 0xc0) goto LAB_0003b154;\n      goto LAB_0003b08c;\n    }\n    if (DAT_00070e90 == puVar3) {\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003b400;\nLAB_0003b46c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_00067fa4 + 0xc0)\n      goto LAB_0003af9e;\nLAB_0003b154:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003af9e;\n    }\nLAB_0003b140:\n    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) goto LAB_0003b154;\nLAB_0003afb2:\n    if (DAT_00070e90 == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003b290:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003b096;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00070e90 != puVar3) goto LAB_0003b0a8;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003b2c8;\nLAB_0003b3d2:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003b0a2;\n    }\n  }\n  else {\n    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_00067f64)) {\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_0003af9e:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003afb2;\n    }\nLAB_0003b08c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003b290;\nLAB_0003b096:\n    pbVar5 = pbVar6;\n    if ((pbVar6[1] & 4) != 0) {\nLAB_0003b2c8:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00070e90 == puVar3) goto LAB_0003b3d2;\n        goto LAB_0003b0a8;\n      }\n    }\nLAB_0003b0a2:\n    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\n  }\nLAB_0003b0a8:\n  fprintf(param_1," %s",*puVar3);\n  bVar1 = *pbVar6;\n  if ((bVar1 & 1) == 0) {\n    pbVar5 = pbVar6;\n    if ((bVar1 & 4) != 0) {\nLAB_0003b176:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003b0e3:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) &&\n         (DAT_00070de0 != puVar3)) {\n        uVar4 = FUN_00038c10();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003b117;\n    }\n    if (7 < DAT_000710cc) goto LAB_0003b117;\n    iVar2 = *(int *)(pbVar6 + 4);\nLAB_0003b198:\n    puVar3 = *(undefined4 **)(iVar2 + 0x14);\n  }\n  else {\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if (puVar3 == DAT_00070e90) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003b176;\n      if (7 < DAT_000710cc) goto LAB_0003b117;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003b198;\n    }\n    if ((bVar1 & 4) != 0) goto LAB_0003b0e3;\n    if (7 < DAT_000710cc) goto LAB_0003b117;\n  }\n  if (puVar3 == (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) goto LAB_0003b117;\n  DAT_000710cc = DAT_000710cc + 1;\n  puVar8 = &DAT_0004cb05;\n  fprintf(param_1,"\n%*s<",DAT_000710cc * 4,&DAT_0004cb05);\n  if ((*pbVar6 & 1) == 0) {\nLAB_0003b493:\n    FUN_0003aa00(param_1,pbVar6 + 8);\n  }\n  else {\n    if (*(undefined4 **)(pbVar6 + 4) == DAT_00070e90) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003b493;\n    }\n    fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);\n  }\n  fputc(0x3e,param_1);\n  DAT_000710cc = DAT_000710cc + -1;\nLAB_0003b117:\n  fflush(param_1);\n  return;\n}\n\n" comment (function_definition "void FUN_0003aea0(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_0003aee6:\n    pcVar7 = (char *)puVar3[1];\n    if (pcVar7 == (char *)0x0) goto LAB_0003aed3;\nLAB_0003aeed:\n    if (*pcVar7 == '\0') {\n      pcVar7 = "(unnamed)";\n    }\n  }\n  else {\n    if (DAT_00070e90 == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003aee6;\n    }\n    pcVar7 = *(char **)(param_2 + 8);\n    if (pcVar7 != (char *)0x0) goto LAB_0003aeed;\nLAB_0003aed3:\n    pcVar7 = "(unnamed)";\n  }\n  fwrite(&DAT_0004fe00,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_00070e90)) {\n    if (*(undefined **)(pbVar6 + 0x24) != &DAT_00070e20) {\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_0003b025;\nLAB_0003b1bf:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_000371e0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003b1e7;\nLAB_0003b039:\n      iVar2 = FUN_00036f00(pbVar6);\n      if (iVar2 == 0) goto LAB_0003b04d;\nLAB_0003b20f:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00036f70(pbVar6);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003b1bf;\nLAB_0003b025:\n      iVar2 = FUN_000371e0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003b039;\nLAB_0003b1e7:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_00036f00(pbVar6);\n      if (iVar2 != 0) goto LAB_0003b20f;\nLAB_0003b04d:\n      iVar2 = FUN_00036f70(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_0003b400:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00070e90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003b46c;\n          }\n          goto LAB_0003b140;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_00067fa4 + 0xc0) goto LAB_0003b154;\n      goto LAB_0003b08c;\n    }\n    if (DAT_00070e90 == puVar3) {\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003b400;\nLAB_0003b46c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_00067fa4 + 0xc0)\n      goto LAB_0003af9e;\nLAB_0003b154:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003af9e;\n    }\nLAB_0003b140:\n    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) goto LAB_0003b154;\nLAB_0003afb2:\n    if (DAT_00070e90 == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003b290:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003b096;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00070e90 != puVar3) goto LAB_0003b0a8;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003b2c8;\nLAB_0003b3d2:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003b0a2;\n    }\n  }\n  else {\n    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_00067f64)) {\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_0003af9e:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003afb2;\n    }\nLAB_0003b08c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003b290;\nLAB_0003b096:\n    pbVar5 = pbVar6;\n    if ((pbVar6[1] & 4) != 0) {\nLAB_0003b2c8:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00070e90 == puVar3) goto LAB_0003b3d2;\n        goto LAB_0003b0a8;\n      }\n    }\nLAB_0003b0a2:\n    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\n  }\nLAB_0003b0a8:\n  fprintf(param_1," %s",*puVar3);\n  bVar1 = *pbVar6;\n  if ((bVar1 & 1) == 0) {\n    pbVar5 = pbVar6;\n    if ((bVar1 & 4) != 0) {\nLAB_0003b176:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003b0e3:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) &&\n         (DAT_00070de0 != puVar3)) {\n        uVar4 = FUN_00038c10();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003b117;\n    }\n    if (7 < DAT_000710cc) goto LAB_0003b117;\n    iVar2 = *(int *)(pbVar6 + 4);\nLAB_0003b198:\n    puVar3 = *(undefined4 **)(iVar2 + 0x14);\n  }\n  else {\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if (puVar3 == DAT_00070e90) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003b176;\n      if (7 < DAT_000710cc) goto LAB_0003b117;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003b198;\n    }\n    if ((bVar1 & 4) != 0) goto LAB_0003b0e3;\n    if (7 < DAT_000710cc) goto LAB_0003b117;\n  }\n  if (puVar3 == (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) goto LAB_0003b117;\n  DAT_000710cc = DAT_000710cc + 1;\n  puVar8 = &DAT_0004cb05;\n  fprintf(param_1,"\n%*s<",DAT_000710cc * 4,&DAT_0004cb05);\n  if ((*pbVar6 & 1) == 0) {\nLAB_0003b493:\n    FUN_0003aa00(param_1,pbVar6 + 8);\n  }\n  else {\n    if (*(undefined4 **)(pbVar6 + 4) == DAT_00070e90) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003b493;\n    }\n    fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);\n  }\n  fputc(0x3e,param_1);\n  DAT_000710cc = DAT_000710cc + -1;\nLAB_0003b117:\n  fflush(param_1);\n  return;\n}" primitive_type (function_declarator "FUN_0003aea0(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_0003aee6:\n    pcVar7 = (char *)puVar3[1];\n    if (pcVar7 == (char *)0x0) goto LAB_0003aed3;\nLAB_0003aeed:\n    if (*pcVar7 == '\0') {\n      pcVar7 = "(unnamed)";\n    }\n  }\n  else {\n    if (DAT_00070e90 == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003aee6;\n    }\n    pcVar7 = *(char **)(param_2 + 8);\n    if (pcVar7 != (char *)0x0) goto LAB_0003aeed;\nLAB_0003aed3:\n    pcVar7 = "(unnamed)";\n  }\n  fwrite(&DAT_0004fe00,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_00070e90)) {\n    if (*(undefined **)(pbVar6 + 0x24) != &DAT_00070e20) {\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_0003b025;\nLAB_0003b1bf:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_000371e0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003b1e7;\nLAB_0003b039:\n      iVar2 = FUN_00036f00(pbVar6);\n      if (iVar2 == 0) goto LAB_0003b04d;\nLAB_0003b20f:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00036f70(pbVar6);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003b1bf;\nLAB_0003b025:\n      iVar2 = FUN_000371e0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003b039;\nLAB_0003b1e7:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_00036f00(pbVar6);\n      if (iVar2 != 0) goto LAB_0003b20f;\nLAB_0003b04d:\n      iVar2 = FUN_00036f70(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_0003b400:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00070e90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003b46c;\n          }\n          goto LAB_0003b140;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_00067fa4 + 0xc0) goto LAB_0003b154;\n      goto LAB_0003b08c;\n    }\n    if (DAT_00070e90 == puVar3) {\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003b400;\nLAB_0003b46c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_00067fa4 + 0xc0)\n      goto LAB_0003af9e;\nLAB_0003b154:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003af9e;\n    }\nLAB_0003b140:\n    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) goto LAB_0003b154;\nLAB_0003afb2:\n    if (DAT_00070e90 == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003b290:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003b096;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00070e90 != puVar3) goto LAB_0003b0a8;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003b2c8;\nLAB_0003b3d2:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003b0a2;\n    }\n  }\n  else {\n    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_00067f64)) {\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_0003af9e:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003afb2;\n    }\nLAB_0003b08c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003b290;\nLAB_0003b096:\n    pbVar5 = pbVar6;\n    if ((pbVar6[1] & 4) != 0) {\nLAB_0003b2c8:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00070e90 == puVar3) goto LAB_0003b3d2;\n        goto LAB_0003b0a8;\n      }\n    }\nLAB_0003b0a2:\n    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\n  }\nLAB_0003b0a8:\n  fprintf(param_1," %s",*puVar3);\n  bVar1 = *pbVar6;\n  if ((bVar1 & 1) == 0) {\n    pbVar5 = pbVar6;\n    if ((bVar1 & 4) != 0) {\nLAB_0003b176:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003b0e3:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) &&\n         (DAT_00070de0 != puVar3)) {\n        uVar4 = FUN_00038c10();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003b117;\n    }\n    if (7 < DAT_000710cc) goto LAB_0003b117;\n    iVar2 = *(int *)(pbVar6 + 4);\nLAB_0003b198:\n    puVar3 = *(undefined4 **)(iVar2 + 0x14);\n  }\n  else {\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if (puVar3 == DAT_00070e90) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003b176;\n      if (7 < DAT_000710cc) goto LAB_0003b117;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003b198;\n    }\n    if ((bVar1 & 4) != 0) goto LAB_0003b0e3;\n    if (7 < DAT_000710cc) goto LAB_0003b117;\n  }\n  if (puVar3 == (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) goto LAB_0003b117;\n  DAT_000710cc = DAT_000710cc + 1;\n  puVar8 = &DAT_0004cb05;\n  fprintf(param_1,"\n%*s<",DAT_000710cc * 4,&DAT_0004cb05);\n  if ((*pbVar6 & 1) == 0) {\nLAB_0003b493:\n    FUN_0003aa00(param_1,pbVar6 + 8);\n  }\n  else {\n    if (*(undefined4 **)(pbVar6 + 4) == DAT_00070e90) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003b493;\n    }\n    fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);\n  }\n  fputc(0x3e,param_1);\n  DAT_000710cc = DAT_000710cc + -1;\nLAB_0003b117:\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_0003aee6:\n    pcVar7 = (char *)puVar3[1];\n    if (pcVar7 == (char *)0x0) goto LAB_0003aed3;\nLAB_0003aeed:\n    if (*pcVar7 == '\0') {\n      pcVar7 = "(unnamed)";\n    }\n  }\n  else {\n    if (DAT_00070e90 == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003aee6;\n    }\n    pcVar7 = *(char **)(param_2 + 8);\n    if (pcVar7 != (char *)0x0) goto LAB_0003aeed;\nLAB_0003aed3:\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_0003aee6:\n    pcVar7 = (char *)puVar3[1];\n    if (pcVar7 == (char *)0x0) goto LAB_0003aed3;\nLAB_0003aeed:\n    if (*pcVar7 == '\0') {\n      pcVar7 = "(unnamed)";\n    }\n  }" { (labeled_statement "LAB_0003aee6:\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_0003aed3;" 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_0003aed3;" goto statement_identifier ;)) (labeled_statement "LAB_0003aeed:\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_00070e90 == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003aee6;\n    }\n    pcVar7 = *(char **)(param_2 + 8);\n    if (pcVar7 != (char *)0x0) goto LAB_0003aeed;\nLAB_0003aed3:\n    pcVar7 = "(unnamed)";\n  }" else (compound_statement "{\n    if (DAT_00070e90 == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003aee6;\n    }\n    pcVar7 = *(char **)(param_2 + 8);\n    if (pcVar7 != (char *)0x0) goto LAB_0003aeed;\nLAB_0003aed3:\n    pcVar7 = "(unnamed)";\n  }" { (if_statement "if (DAT_00070e90 == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003aee6;\n    }" if (parenthesized_expression "(DAT_00070e90 == puVar3)" ( (binary_expression "DAT_00070e90 == puVar3" identifier == identifier) )) (compound_statement "{\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003aee6;\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_0003aee6;" 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_0003aeed;" 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_0003aeed;" goto statement_identifier ;)) (labeled_statement "LAB_0003aed3:\n    pcVar7 = "(unnamed)";" statement_identifier : (expression_statement "pcVar7 = "(unnamed)";" (assignment_expression "pcVar7 = "(unnamed)"" identifier = (string_literal ""(unnamed)"" " string_content ")) ;)) }))) (expression_statement "fwrite(&DAT_0004fe00,1,4,param_1);" (call_expression "fwrite(&DAT_0004fe00,1,4,param_1)" identifier (argument_list "(&DAT_0004fe00,1,4,param_1)" ( (pointer_expression "&DAT_0004fe00" & 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_00070e90)) {\n    if (*(undefined **)(pbVar6 + 0x24) != &DAT_00070e20) {\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_0003b025;\nLAB_0003b1bf:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_000371e0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003b1e7;\nLAB_0003b039:\n      iVar2 = FUN_00036f00(pbVar6);\n      if (iVar2 == 0) goto LAB_0003b04d;\nLAB_0003b20f:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00036f70(pbVar6);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003b1bf;\nLAB_0003b025:\n      iVar2 = FUN_000371e0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003b039;\nLAB_0003b1e7:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_00036f00(pbVar6);\n      if (iVar2 != 0) goto LAB_0003b20f;\nLAB_0003b04d:\n      iVar2 = FUN_00036f70(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_0003b400:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00070e90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003b46c;\n          }\n          goto LAB_0003b140;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_00067fa4 + 0xc0) goto LAB_0003b154;\n      goto LAB_0003b08c;\n    }\n    if (DAT_00070e90 == puVar3) {\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003b400;\nLAB_0003b46c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_00067fa4 + 0xc0)\n      goto LAB_0003af9e;\nLAB_0003b154:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003af9e;\n    }\nLAB_0003b140:\n    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) goto LAB_0003b154;\nLAB_0003afb2:\n    if (DAT_00070e90 == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003b290:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003b096;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00070e90 != puVar3) goto LAB_0003b0a8;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003b2c8;\nLAB_0003b3d2:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003b0a2;\n    }\n  }\n  else {\n    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_00067f64)) {\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_0003af9e:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003afb2;\n    }\nLAB_0003b08c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003b290;\nLAB_0003b096:\n    pbVar5 = pbVar6;\n    if ((pbVar6[1] & 4) != 0) {\nLAB_0003b2c8:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00070e90 == puVar3) goto LAB_0003b3d2;\n        goto LAB_0003b0a8;\n      }\n    }\nLAB_0003b0a2:\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_00070e90))" ( (binary_expression "((bVar1 & 1) == 0) ||\n     (pbVar6 = *(byte **)(param_2 + 0xc), *(undefined4 **)(param_2 + 4) == DAT_00070e90)" (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_00070e90)" ( (comma_expression "pbVar6 = *(byte **)(param_2 + 0xc), *(undefined4 **)(param_2 + 4) == DAT_00070e90" (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_00070e90" (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_00070e20) {\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_0003b025;\nLAB_0003b1bf:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_000371e0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003b1e7;\nLAB_0003b039:\n      iVar2 = FUN_00036f00(pbVar6);\n      if (iVar2 == 0) goto LAB_0003b04d;\nLAB_0003b20f:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00036f70(pbVar6);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003b1bf;\nLAB_0003b025:\n      iVar2 = FUN_000371e0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003b039;\nLAB_0003b1e7:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_00036f00(pbVar6);\n      if (iVar2 != 0) goto LAB_0003b20f;\nLAB_0003b04d:\n      iVar2 = FUN_00036f70(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_0003b400:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00070e90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003b46c;\n          }\n          goto LAB_0003b140;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_00067fa4 + 0xc0) goto LAB_0003b154;\n      goto LAB_0003b08c;\n    }\n    if (DAT_00070e90 == puVar3) {\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003b400;\nLAB_0003b46c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_00067fa4 + 0xc0)\n      goto LAB_0003af9e;\nLAB_0003b154:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003af9e;\n    }\nLAB_0003b140:\n    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) goto LAB_0003b154;\nLAB_0003afb2:\n    if (DAT_00070e90 == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003b290:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003b096;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00070e90 != puVar3) goto LAB_0003b0a8;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003b2c8;\nLAB_0003b3d2:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003b0a2;\n    }\n  }" { (if_statement "if (*(undefined **)(pbVar6 + 0x24) != &DAT_00070e20) {\n      fwrite(" frag ",1,6,param_1);\n      fprintf(param_1,"%016llx",*(undefined4 *)(pbVar6 + 0x24),0);\n    }" if (parenthesized_expression "(*(undefined **)(pbVar6 + 0x24) != &DAT_00070e20)" ( (binary_expression "*(undefined **)(pbVar6 + 0x24) != &DAT_00070e20" (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_00070e20" & 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_0003b025;\nLAB_0003b1bf:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_000371e0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003b1e7;\nLAB_0003b039:\n      iVar2 = FUN_00036f00(pbVar6);\n      if (iVar2 == 0) goto LAB_0003b04d;\nLAB_0003b20f:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00036f70(pbVar6);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003b1bf;\nLAB_0003b025:\n      iVar2 = FUN_000371e0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003b039;\nLAB_0003b1e7:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_00036f00(pbVar6);\n      if (iVar2 != 0) goto LAB_0003b20f;\nLAB_0003b04d:\n      iVar2 = FUN_00036f70(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_0003b025;\nLAB_0003b1bf:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_000371e0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003b1e7;\nLAB_0003b039:\n      iVar2 = FUN_00036f00(pbVar6);\n      if (iVar2 == 0) goto LAB_0003b04d;\nLAB_0003b20f:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00036f70(pbVar6);\n    }" { (if_statement "if ((bVar1 & 0x20) == 0) goto LAB_0003b025;" 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_0003b025;" goto statement_identifier ;)) (labeled_statement "LAB_0003b1bf:\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_000371e0(pbVar6);" (assignment_expression "iVar2 = FUN_000371e0(pbVar6)" identifier = (call_expression "FUN_000371e0(pbVar6)" identifier (argument_list "(pbVar6)" ( identifier )))) ;) (if_statement "if (iVar2 != 0) goto LAB_0003b1e7;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0003b1e7;" goto statement_identifier ;)) (labeled_statement "LAB_0003b039:\n      iVar2 = FUN_00036f00(pbVar6);" statement_identifier : (expression_statement "iVar2 = FUN_00036f00(pbVar6);" (assignment_expression "iVar2 = FUN_00036f00(pbVar6)" identifier = (call_expression "FUN_00036f00(pbVar6)" identifier (argument_list "(pbVar6)" ( identifier )))) ;)) (if_statement "if (iVar2 == 0) goto LAB_0003b04d;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0003b04d;" goto statement_identifier ;)) (labeled_statement "LAB_0003b20f:\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_00036f70(pbVar6);" (assignment_expression "iVar2 = FUN_00036f70(pbVar6)" identifier = (call_expression "FUN_00036f70(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_0003b1bf;\nLAB_0003b025:\n      iVar2 = FUN_000371e0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003b039;\nLAB_0003b1e7:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_00036f00(pbVar6);\n      if (iVar2 != 0) goto LAB_0003b20f;\nLAB_0003b04d:\n      iVar2 = FUN_00036f70(pbVar6);\n    }" else (compound_statement "{\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003b1bf;\nLAB_0003b025:\n      iVar2 = FUN_000371e0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003b039;\nLAB_0003b1e7:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_00036f00(pbVar6);\n      if (iVar2 != 0) goto LAB_0003b20f;\nLAB_0003b04d:\n      iVar2 = FUN_00036f70(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_0003b1bf;" 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_0003b1bf;" goto statement_identifier ;)) (labeled_statement "LAB_0003b025:\n      iVar2 = FUN_000371e0(pbVar6);" statement_identifier : (expression_statement "iVar2 = FUN_000371e0(pbVar6);" (assignment_expression "iVar2 = FUN_000371e0(pbVar6)" identifier = (call_expression "FUN_000371e0(pbVar6)" identifier (argument_list "(pbVar6)" ( identifier )))) ;)) (if_statement "if (iVar2 == 0) goto LAB_0003b039;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0003b039;" goto statement_identifier ;)) (labeled_statement "LAB_0003b1e7:\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_00036f00(pbVar6);" (assignment_expression "iVar2 = FUN_00036f00(pbVar6)" identifier = (call_expression "FUN_00036f00(pbVar6)" identifier (argument_list "(pbVar6)" ( identifier )))) ;) (if_statement "if (iVar2 != 0) goto LAB_0003b20f;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0003b20f;" goto statement_identifier ;)) (labeled_statement "LAB_0003b04d:\n      iVar2 = FUN_00036f70(pbVar6);" statement_identifier : (expression_statement "iVar2 = FUN_00036f70(pbVar6);" (assignment_expression "iVar2 = FUN_00036f70(pbVar6)" identifier = (call_expression "FUN_00036f70(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_0003b400:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00070e90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003b46c;\n          }\n          goto LAB_0003b140;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_00067fa4 + 0xc0) goto LAB_0003b154;\n      goto LAB_0003b08c;\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_0003b400:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00070e90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003b46c;\n          }\n          goto LAB_0003b140;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_00067fa4 + 0xc0) goto LAB_0003b154;\n      goto LAB_0003b08c;\n    }" { (if_statement "if ((*(byte *)(puVar3 + 4) & 4) != 0) {\nLAB_0003b400:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00070e90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003b46c;\n          }\n          goto LAB_0003b140;\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_0003b400:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00070e90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003b46c;\n          }\n          goto LAB_0003b140;\n        }\n      }" { (labeled_statement "LAB_0003b400:\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_00070e90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003b46c;\n          }\n          goto LAB_0003b140;\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_00070e90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003b46c;\n          }\n          goto LAB_0003b140;\n        }" { (if_statement "if (puVar3 == DAT_00070e90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003b46c;\n          }" if (parenthesized_expression "(puVar3 == DAT_00070e90)" ( (binary_expression "puVar3 == DAT_00070e90" identifier == identifier) )) (compound_statement "{\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003b46c;\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_0003b46c;" goto statement_identifier ;) })) (goto_statement "goto LAB_0003b140;" goto statement_identifier ;) })) })) (if_statement "if ((undefined *)puVar3[5] != PTR__bfd_std_section_00067fa4 + 0xc0) goto LAB_0003b154;" if (parenthesized_expression "((undefined *)puVar3[5] != PTR__bfd_std_section_00067fa4 + 0xc0)" ( (binary_expression "(undefined *)puVar3[5] != PTR__bfd_std_section_00067fa4 + 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_00067fa4 + 0xc0" identifier + number_literal)) )) (goto_statement "goto LAB_0003b154;" goto statement_identifier ;)) (goto_statement "goto LAB_0003b08c;" goto statement_identifier ;) })) (if_statement "if (DAT_00070e90 == puVar3) {\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003b400;\nLAB_0003b46c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_00067fa4 + 0xc0)\n      goto LAB_0003af9e;\nLAB_0003b154:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003af9e;\n    }" if (parenthesized_expression "(DAT_00070e90 == puVar3)" ( (binary_expression "DAT_00070e90 == puVar3" identifier == identifier) )) (compound_statement "{\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003b400;\nLAB_0003b46c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_00067fa4 + 0xc0)\n      goto LAB_0003af9e;\nLAB_0003b154:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003af9e;\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_0003b400;" 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_0003b400;" goto statement_identifier ;)) (labeled_statement "LAB_0003b46c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_00067fa4 + 0xc0)\n      goto LAB_0003af9e;" statement_identifier : (if_statement "if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_00067fa4 + 0xc0)\n      goto LAB_0003af9e;" if (parenthesized_expression "(*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_00067fa4 + 0xc0)" ( (binary_expression "*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_00067fa4 + 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_00067fa4 + 0xc0" identifier + number_literal)) )) (goto_statement "goto LAB_0003af9e;" goto statement_identifier ;))) (labeled_statement "LAB_0003b154:\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_0003af9e;" goto statement_identifier ;) })) (labeled_statement "LAB_0003b140:\n    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) goto LAB_0003b154;" statement_identifier : (if_statement "if (puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) goto LAB_0003b154;" if (parenthesized_expression "(puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0))" ( (binary_expression "puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)" identifier != (cast_expression "(undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__bfd_std_section_00067fa4 + 0xc0)" ( (binary_expression "PTR__bfd_std_section_00067fa4 + 0xc0" identifier + number_literal) )))) )) (goto_statement "goto LAB_0003b154;" goto statement_identifier ;))) (labeled_statement "LAB_0003afb2:\n    if (DAT_00070e90 == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003b290:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003b096;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00070e90 != puVar3) goto LAB_0003b0a8;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003b2c8;\nLAB_0003b3d2:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003b0a2;\n    }" statement_identifier : (if_statement "if (DAT_00070e90 == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003b290:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003b096;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00070e90 != puVar3) goto LAB_0003b0a8;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003b2c8;\nLAB_0003b3d2:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003b0a2;\n    }" if (parenthesized_expression "(DAT_00070e90 == puVar3)" ( (binary_expression "DAT_00070e90 == puVar3" identifier == identifier) )) (compound_statement "{\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003b290:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003b096;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00070e90 != puVar3) goto LAB_0003b0a8;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003b2c8;\nLAB_0003b3d2:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003b0a2;\n    }" { (if_statement "if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003b290:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003b096;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00070e90 != puVar3) goto LAB_0003b0a8;\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_0003b290:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003b096;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00070e90 != puVar3) goto LAB_0003b0a8;\n      }" { (labeled_statement "LAB_0003b290:\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_0003b096;" 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_0003b096;" 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_00070e90 != puVar3) goto LAB_0003b0a8;" if (parenthesized_expression "(DAT_00070e90 != puVar3)" ( (binary_expression "DAT_00070e90 != puVar3" identifier != identifier) )) (goto_statement "goto LAB_0003b0a8;" goto statement_identifier ;)) })) (if_statement "if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003b2c8;" 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_0003b2c8;" goto statement_identifier ;)) (labeled_statement "LAB_0003b3d2:\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_0003b0a2;" goto statement_identifier ;) }))) }) (else_clause "else {\n    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_00067f64)) {\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_0003af9e:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003afb2;\n    }\nLAB_0003b08c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003b290;\nLAB_0003b096:\n    pbVar5 = pbVar6;\n    if ((pbVar6[1] & 4) != 0) {\nLAB_0003b2c8:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00070e90 == puVar3) goto LAB_0003b3d2;\n        goto LAB_0003b0a8;\n      }\n    }\nLAB_0003b0a2:\n    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\n  }" else (compound_statement "{\n    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_00067f64)) {\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_0003af9e:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003afb2;\n    }\nLAB_0003b08c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003b290;\nLAB_0003b096:\n    pbVar5 = pbVar6;\n    if ((pbVar6[1] & 4) != 0) {\nLAB_0003b2c8:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00070e90 == puVar3) goto LAB_0003b3d2;\n        goto LAB_0003b0a8;\n      }\n    }\nLAB_0003b0a2:\n    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\n  }" { (if_statement "if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_00067f64)) {\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_00067f64))" ( (binary_expression "(pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_00067f64)" (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_00067f64)" ( (binary_expression "pbVar6 != PTR_DAT_00067f64" 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_0003af9e:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003afb2;\n    }" statement_identifier : (if_statement "if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003afb2;\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_0003afb2;\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_0003afb2;" goto statement_identifier ;) }))) (labeled_statement "LAB_0003b08c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003b290;" statement_identifier : (if_statement "if ((pbVar6[1] & 2) != 0) goto LAB_0003b290;" 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_0003b290;" goto statement_identifier ;))) (labeled_statement "LAB_0003b096:\n    pbVar5 = pbVar6;" statement_identifier : (expression_statement "pbVar5 = pbVar6;" (assignment_expression "pbVar5 = pbVar6" identifier = identifier) ;)) (if_statement "if ((pbVar6[1] & 4) != 0) {\nLAB_0003b2c8:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00070e90 == puVar3) goto LAB_0003b3d2;\n        goto LAB_0003b0a8;\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_0003b2c8:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00070e90 == puVar3) goto LAB_0003b3d2;\n        goto LAB_0003b0a8;\n      }\n    }" { (labeled_statement "LAB_0003b2c8:\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_00070e90 == puVar3) goto LAB_0003b3d2;\n        goto LAB_0003b0a8;\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_00070e90 == puVar3) goto LAB_0003b3d2;\n        goto LAB_0003b0a8;\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_00070e90 == puVar3) goto LAB_0003b3d2;" if (parenthesized_expression "(DAT_00070e90 == puVar3)" ( (binary_expression "DAT_00070e90 == puVar3" identifier == identifier) )) (goto_statement "goto LAB_0003b3d2;" goto statement_identifier ;)) (goto_statement "goto LAB_0003b0a8;" goto statement_identifier ;) })) })) (labeled_statement "LAB_0003b0a2:\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_0003b0a8:\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_0003b176:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003b0e3:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) &&\n         (DAT_00070de0 != puVar3)) {\n        uVar4 = FUN_00038c10();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003b117;\n    }\n    if (7 < DAT_000710cc) goto LAB_0003b117;\n    iVar2 = *(int *)(pbVar6 + 4);\nLAB_0003b198:\n    puVar3 = *(undefined4 **)(iVar2 + 0x14);\n  }\n  else {\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if (puVar3 == DAT_00070e90) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003b176;\n      if (7 < DAT_000710cc) goto LAB_0003b117;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003b198;\n    }\n    if ((bVar1 & 4) != 0) goto LAB_0003b0e3;\n    if (7 < DAT_000710cc) goto LAB_0003b117;\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_0003b176:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003b0e3:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) &&\n         (DAT_00070de0 != puVar3)) {\n        uVar4 = FUN_00038c10();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003b117;\n    }\n    if (7 < DAT_000710cc) goto LAB_0003b117;\n    iVar2 = *(int *)(pbVar6 + 4);\nLAB_0003b198:\n    puVar3 = *(undefined4 **)(iVar2 + 0x14);\n  }" { (expression_statement "pbVar5 = pbVar6;" (assignment_expression "pbVar5 = pbVar6" identifier = identifier) ;) (if_statement "if ((bVar1 & 4) != 0) {\nLAB_0003b176:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003b0e3:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) &&\n         (DAT_00070de0 != puVar3)) {\n        uVar4 = FUN_00038c10();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003b117;\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_0003b176:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003b0e3:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) &&\n         (DAT_00070de0 != puVar3)) {\n        uVar4 = FUN_00038c10();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003b117;\n    }" { (labeled_statement "LAB_0003b176:\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_0003b0e3:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) &&\n         (DAT_00070de0 != puVar3)) {\n        uVar4 = FUN_00038c10();\n        fprintf(param_1," %lx",uVar4);\n      }" statement_identifier : (if_statement "if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) &&\n         (DAT_00070de0 != puVar3)) {\n        uVar4 = FUN_00038c10();\n        fprintf(param_1," %lx",uVar4);\n      }" if (parenthesized_expression "((puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) &&\n         (DAT_00070de0 != puVar3))" ( (binary_expression "(puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) &&\n         (DAT_00070de0 != puVar3)" (parenthesized_expression "(puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0))" ( (binary_expression "puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)" identifier != (cast_expression "(undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__bfd_std_section_00067fa4 + 0xc0)" ( (binary_expression "PTR__bfd_std_section_00067fa4 + 0xc0" identifier + number_literal) )))) )) && (parenthesized_expression "(DAT_00070de0 != puVar3)" ( (binary_expression "DAT_00070de0 != puVar3" identifier != identifier) ))) )) (compound_statement "{\n        uVar4 = FUN_00038c10();\n        fprintf(param_1," %lx",uVar4);\n      }" { (expression_statement "uVar4 = FUN_00038c10();" (assignment_expression "uVar4 = FUN_00038c10()" identifier = (call_expression "FUN_00038c10()" 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_0003b117;" goto statement_identifier ;) })) (if_statement "if (7 < DAT_000710cc) goto LAB_0003b117;" if (parenthesized_expression "(7 < DAT_000710cc)" ( (binary_expression "7 < DAT_000710cc" number_literal < identifier) )) (goto_statement "goto LAB_0003b117;" 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_0003b198:\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_00070e90) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003b176;\n      if (7 < DAT_000710cc) goto LAB_0003b117;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003b198;\n    }\n    if ((bVar1 & 4) != 0) goto LAB_0003b0e3;\n    if (7 < DAT_000710cc) goto LAB_0003b117;\n  }" else (compound_statement "{\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if (puVar3 == DAT_00070e90) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003b176;\n      if (7 < DAT_000710cc) goto LAB_0003b117;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003b198;\n    }\n    if ((bVar1 & 4) != 0) goto LAB_0003b0e3;\n    if (7 < DAT_000710cc) goto LAB_0003b117;\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_00070e90) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003b176;\n      if (7 < DAT_000710cc) goto LAB_0003b117;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003b198;\n    }" if (parenthesized_expression "(puVar3 == DAT_00070e90)" ( (binary_expression "puVar3 == DAT_00070e90" identifier == identifier) )) (compound_statement "{\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003b176;\n      if (7 < DAT_000710cc) goto LAB_0003b117;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003b198;\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_0003b176;" 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_0003b176;" goto statement_identifier ;)) (if_statement "if (7 < DAT_000710cc) goto LAB_0003b117;" if (parenthesized_expression "(7 < DAT_000710cc)" ( (binary_expression "7 < DAT_000710cc" number_literal < identifier) )) (goto_statement "goto LAB_0003b117;" 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_0003b198;" goto statement_identifier ;) })) (if_statement "if ((bVar1 & 4) != 0) goto LAB_0003b0e3;" 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_0003b0e3;" goto statement_identifier ;)) (if_statement "if (7 < DAT_000710cc) goto LAB_0003b117;" if (parenthesized_expression "(7 < DAT_000710cc)" ( (binary_expression "7 < DAT_000710cc" number_literal < identifier) )) (goto_statement "goto LAB_0003b117;" goto statement_identifier ;)) }))) (if_statement "if (puVar3 == (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) goto LAB_0003b117;" if (parenthesized_expression "(puVar3 == (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0))" ( (binary_expression "puVar3 == (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)" identifier == (cast_expression "(undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__bfd_std_section_00067fa4 + 0xc0)" ( (binary_expression "PTR__bfd_std_section_00067fa4 + 0xc0" identifier + number_literal) )))) )) (goto_statement "goto LAB_0003b117;" goto statement_identifier ;)) (expression_statement "DAT_000710cc = DAT_000710cc + 1;" (assignment_expression "DAT_000710cc = DAT_000710cc + 1" identifier = (binary_expression "DAT_000710cc + 1" identifier + number_literal)) ;) (expression_statement "puVar8 = &DAT_0004cb05;" (assignment_expression "puVar8 = &DAT_0004cb05" identifier = (pointer_expression "&DAT_0004cb05" & identifier)) ;) (expression_statement "fprintf(param_1,"\n%*s<",DAT_000710cc * 4,&DAT_0004cb05);" (call_expression "fprintf(param_1,"\n%*s<",DAT_000710cc * 4,&DAT_0004cb05)" identifier (argument_list "(param_1,"\n%*s<",DAT_000710cc * 4,&DAT_0004cb05)" ( identifier , (string_literal ""\n%*s<"" " escape_sequence string_content ") , (binary_expression "DAT_000710cc * 4" identifier * number_literal) , (pointer_expression "&DAT_0004cb05" & identifier) ))) ;) (if_statement "if ((*pbVar6 & 1) == 0) {\nLAB_0003b493:\n    FUN_0003aa00(param_1,pbVar6 + 8);\n  }\n  else {\n    if (*(undefined4 **)(pbVar6 + 4) == DAT_00070e90) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003b493;\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_0003b493:\n    FUN_0003aa00(param_1,pbVar6 + 8);\n  }" { (labeled_statement "LAB_0003b493:\n    FUN_0003aa00(param_1,pbVar6 + 8);" statement_identifier : (expression_statement "FUN_0003aa00(param_1,pbVar6 + 8);" (call_expression "FUN_0003aa00(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_00070e90) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003b493;\n    }\n    fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);\n  }" else (compound_statement "{\n    if (*(undefined4 **)(pbVar6 + 4) == DAT_00070e90) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003b493;\n    }\n    fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);\n  }" { (if_statement "if (*(undefined4 **)(pbVar6 + 4) == DAT_00070e90) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003b493;\n    }" if (parenthesized_expression "(*(undefined4 **)(pbVar6 + 4) == DAT_00070e90)" ( (binary_expression "*(undefined4 **)(pbVar6 + 4) == DAT_00070e90" (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_0003b493;\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_0003b493;" 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_000710cc = DAT_000710cc + -1;" (assignment_expression "DAT_000710cc = DAT_000710cc + -1" identifier = (binary_expression "DAT_000710cc + -1" identifier + number_literal)) ;) (labeled_statement "LAB_0003b117:\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_0003aee6:\n    psVar7 = (symbolS *)paVar4->id;\n    if (psVar7 == (symbolS *)0x0) goto LAB_0003aed3;\nLAB_0003aeed:\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_0003aee6;\n    }\n    psVar7 = (sym->sy_value).X_add_symbol;\n    if (psVar7 != (symbolS *)0x0) goto LAB_0003aeed;\nLAB_0003aed3:\n    psVar7 = (symbolS *)"(unnamed)";\n  }\n  fwrite(&DAT_0004fe00,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_0003b025;\nLAB_0003b1bf:\n      fwrite(" used",1,5,(FILE *)file);\n      iVar3 = S_IS_LOCAL(psVar7);\n      if (iVar3 != 0) goto LAB_0003b1e7;\nLAB_0003b039:\n      iVar3 = S_IS_EXTERNAL(psVar7);\n      if (iVar3 == 0) goto LAB_0003b04d;\nLAB_0003b20f:\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_0003b1bf;\nLAB_0003b025:\n      iVar3 = S_IS_LOCAL(psVar7);\n      if (iVar3 == 0) goto LAB_0003b039;\nLAB_0003b1e7:\n      fwrite(" local",1,6,(FILE *)file);\n      iVar3 = S_IS_EXTERNAL(psVar7);\n      if (iVar3 != 0) goto LAB_0003b20f;\nLAB_0003b04d:\n      iVar3 = S_IS_WEAK(psVar7);\n    }\n    if (iVar3 != 0) {\n      fwrite(&DAT_0004fe4e,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_0003b400:\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_0003b46c;\n          }\n          goto LAB_0003b140;\n        }\n      }\n      if ((undefined *)paVar4->flags != PTR__bfd_std_section_00067fa4 + 0xc0) goto LAB_0003b154;\n      goto LAB_0003b08c;\n    }\n    if (reg_section == paVar4) {\n      psVar5 = (psVar7->sy_value).X_op_symbol;\n      if ((psVar5->bsym->flags & 4) != 0) goto LAB_0003b400;\nLAB_0003b46c:\n      if (psVar5->bsym->section == (bfd_section *)(PTR__bfd_std_section_00067fa4 + 0xc0))\n      goto LAB_0003af9e;\nLAB_0003b154:\n      fwrite(" defined",1,8,(FILE *)file);\n      goto LAB_0003af9e;\n    }\nLAB_0003b140:\n    if (paVar4 != (segT)(PTR__bfd_std_section_00067fa4 + 0xc0)) goto LAB_0003b154;\nLAB_0003afb2:\n    if (reg_section == paVar4) {\n      if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 2) != 0) {\nLAB_0003b290:\n        fwrite(" weakrefr",1,9,(FILE *)file);\n        if (((uint)psVar7->sy_flags & 1) == 0) goto LAB_0003b096;\n        paVar4 = (segT)psVar7->bsym;\n        if (reg_section != paVar4) goto LAB_0003b0a8;\n      }\n      if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 4) != 0) goto LAB_0003b2c8;\nLAB_0003b3d2:\n      psVar5 = (psVar7->sy_value).X_op_symbol;\n      goto LAB_0003b0a2;\n    }\n  }\n  else {\n    if ((psVar7 != (symbolS *)0x0) && (psVar7 != (symbolS *)PTR_zero_address_frag_00067f64)) {\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_0003af9e:\n    if (((uint)psVar7->sy_flags & 1) != 0) {\n      paVar4 = (segT)psVar7->bsym;\n      goto LAB_0003afb2;\n    }\nLAB_0003b08c:\n    if (((psVar7->sy_flags).field_0x1 & 2) != 0) goto LAB_0003b290;\nLAB_0003b096:\n    psVar5 = psVar7;\n    if (((psVar7->sy_flags).field_0x1 & 4) != 0) {\nLAB_0003b2c8:\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_0003b3d2;\n        goto LAB_0003b0a8;\n      }\n    }\nLAB_0003b0a2:\n    paVar4 = psVar5->bsym->section;\n  }\nLAB_0003b0a8:\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_0003b176:\n      paVar4 = psVar5->bsym->section;\nLAB_0003b0e3:\n      if ((paVar4 != (segT)(PTR__bfd_std_section_00067fa4 + 0xc0)) && (expr_section != paVar4)) {\n        vVar8 = S_GET_VALUE(psVar7);\n        fprintf((FILE *)file," %lx",(int)vVar8);\n      }\n      goto LAB_0003b117;\n    }\n    if (7 < indent_level) goto LAB_0003b117;\n    paVar6 = psVar7->bsym;\nLAB_0003b198:\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_0003b176;\n      if (7 < indent_level) goto LAB_0003b117;\n      paVar6 = psVar5->bsym;\n      goto LAB_0003b198;\n    }\n    if (((uint)sVar1 & 4) != 0) goto LAB_0003b0e3;\n    if (7 < indent_level) goto LAB_0003b117;\n  }\n  if (paVar4 == (segT)(PTR__bfd_std_section_00067fa4 + 0xc0)) goto LAB_0003b117;\n  indent_level = indent_level + 1;\n  puVar9 = &DAT_0004cb05;\n  fprintf((FILE *)file,"\n%*s<",indent_level * 4,&DAT_0004cb05);\n  if (((uint)psVar7->sy_flags & 1) == 0) {\nLAB_0003b493:\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_0003b493;\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_0003b117:\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_0003aee6:\n    psVar7 = (symbolS *)paVar4->id;\n    if (psVar7 == (symbolS *)0x0) goto LAB_0003aed3;\nLAB_0003aeed:\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_0003aee6;\n    }\n    psVar7 = (sym->sy_value).X_add_symbol;\n    if (psVar7 != (symbolS *)0x0) goto LAB_0003aeed;\nLAB_0003aed3:\n    psVar7 = (symbolS *)"(unnamed)";\n  }\n  fwrite(&DAT_0004fe00,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_0003b025;\nLAB_0003b1bf:\n      fwrite(" used",1,5,(FILE *)file);\n      iVar3 = S_IS_LOCAL(psVar7);\n      if (iVar3 != 0) goto LAB_0003b1e7;\nLAB_0003b039:\n      iVar3 = S_IS_EXTERNAL(psVar7);\n      if (iVar3 == 0) goto LAB_0003b04d;\nLAB_0003b20f:\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_0003b1bf;\nLAB_0003b025:\n      iVar3 = S_IS_LOCAL(psVar7);\n      if (iVar3 == 0) goto LAB_0003b039;\nLAB_0003b1e7:\n      fwrite(" local",1,6,(FILE *)file);\n      iVar3 = S_IS_EXTERNAL(psVar7);\n      if (iVar3 != 0) goto LAB_0003b20f;\nLAB_0003b04d:\n      iVar3 = S_IS_WEAK(psVar7);\n    }\n    if (iVar3 != 0) {\n      fwrite(&DAT_0004fe4e,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_0003b400:\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_0003b46c;\n          }\n          goto LAB_0003b140;\n        }\n      }\n      if ((undefined *)paVar4->flags != PTR__bfd_std_section_00067fa4 + 0xc0) goto LAB_0003b154;\n      goto LAB_0003b08c;\n    }\n    if (reg_section == paVar4) {\n      psVar5 = (psVar7->sy_value).X_op_symbol;\n      if ((psVar5->bsym->flags & 4) != 0) goto LAB_0003b400;\nLAB_0003b46c:\n      if (psVar5->bsym->section == (bfd_section *)(PTR__bfd_std_section_00067fa4 + 0xc0))\n      goto LAB_0003af9e;\nLAB_0003b154:\n      fwrite(" defined",1,8,(FILE *)file);\n      goto LAB_0003af9e;\n    }\nLAB_0003b140:\n    if (paVar4 != (segT)(PTR__bfd_std_section_00067fa4 + 0xc0)) goto LAB_0003b154;\nLAB_0003afb2:\n    if (reg_section == paVar4) {\n      if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 2) != 0) {\nLAB_0003b290:\n        fwrite(" weakrefr",1,9,(FILE *)file);\n        if (((uint)psVar7->sy_flags & 1) == 0) goto LAB_0003b096;\n        paVar4 = (segT)psVar7->bsym;\n        if (reg_section != paVar4) goto LAB_0003b0a8;\n      }\n      if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 4) != 0) goto LAB_0003b2c8;\nLAB_0003b3d2:\n      psVar5 = (psVar7->sy_value).X_op_symbol;\n      goto LAB_0003b0a2;\n    }\n  }\n  else {\n    if ((psVar7 != (symbolS *)0x0) && (psVar7 != (symbolS *)PTR_zero_address_frag_00067f64)) {\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_0003af9e:\n    if (((uint)psVar7->sy_flags & 1) != 0) {\n      paVar4 = (segT)psVar7->bsym;\n      goto LAB_0003afb2;\n    }\nLAB_0003b08c:\n    if (((psVar7->sy_flags).field_0x1 & 2) != 0) goto LAB_0003b290;\nLAB_0003b096:\n    psVar5 = psVar7;\n    if (((psVar7->sy_flags).field_0x1 & 4) != 0) {\nLAB_0003b2c8:\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_0003b3d2;\n        goto LAB_0003b0a8;\n      }\n    }\nLAB_0003b0a2:\n    paVar4 = psVar5->bsym->section;\n  }\nLAB_0003b0a8:\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_0003b176:\n      paVar4 = psVar5->bsym->section;\nLAB_0003b0e3:\n      if ((paVar4 != (segT)(PTR__bfd_std_section_00067fa4 + 0xc0)) && (expr_section != paVar4)) {\n        vVar8 = S_GET_VALUE(psVar7);\n        fprintf((FILE *)file," %lx",(int)vVar8);\n      }\n      goto LAB_0003b117;\n    }\n    if (7 < indent_level) goto LAB_0003b117;\n    paVar6 = psVar7->bsym;\nLAB_0003b198:\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_0003b176;\n      if (7 < indent_level) goto LAB_0003b117;\n      paVar6 = psVar5->bsym;\n      goto LAB_0003b198;\n    }\n    if (((uint)sVar1 & 4) != 0) goto LAB_0003b0e3;\n    if (7 < indent_level) goto LAB_0003b117;\n  }\n  if (paVar4 == (segT)(PTR__bfd_std_section_00067fa4 + 0xc0)) goto LAB_0003b117;\n  indent_level = indent_level + 1;\n  puVar9 = &DAT_0004cb05;\n  fprintf((FILE *)file,"\n%*s<",indent_level * 4,&DAT_0004cb05);\n  if (((uint)psVar7->sy_flags & 1) == 0) {\nLAB_0003b493:\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_0003b493;\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_0003b117:\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_0003aee6:\n    psVar7 = (symbolS *)paVar4->id;\n    if (psVar7 == (symbolS *)0x0) goto LAB_0003aed3;\nLAB_0003aeed:\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_0003aee6;\n    }\n    psVar7 = (sym->sy_value).X_add_symbol;\n    if (psVar7 != (symbolS *)0x0) goto LAB_0003aeed;\nLAB_0003aed3:\n    psVar7 = (symbolS *)"(unnamed)";\n  }\n  fwrite(&DAT_0004fe00,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_0003b025;\nLAB_0003b1bf:\n      fwrite(" used",1,5,(FILE *)file);\n      iVar3 = S_IS_LOCAL(psVar7);\n      if (iVar3 != 0) goto LAB_0003b1e7;\nLAB_0003b039:\n      iVar3 = S_IS_EXTERNAL(psVar7);\n      if (iVar3 == 0) goto LAB_0003b04d;\nLAB_0003b20f:\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_0003b1bf;\nLAB_0003b025:\n      iVar3 = S_IS_LOCAL(psVar7);\n      if (iVar3 == 0) goto LAB_0003b039;\nLAB_0003b1e7:\n      fwrite(" local",1,6,(FILE *)file);\n      iVar3 = S_IS_EXTERNAL(psVar7);\n      if (iVar3 != 0) goto LAB_0003b20f;\nLAB_0003b04d:\n      iVar3 = S_IS_WEAK(psVar7);\n    }\n    if (iVar3 != 0) {\n      fwrite(&DAT_0004fe4e,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_0003b400:\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_0003b46c;\n          }\n          goto LAB_0003b140;\n        }\n      }\n      if ((undefined *)paVar4->flags != PTR__bfd_std_section_00067fa4 + 0xc0) goto LAB_0003b154;\n      goto LAB_0003b08c;\n    }\n    if (reg_section == paVar4) {\n      psVar5 = (psVar7->sy_value).X_op_symbol;\n      if ((psVar5->bsym->flags & 4) != 0) goto LAB_0003b400;\nLAB_0003b46c:\n      if (psVar5->bsym->section == (bfd_section *)(PTR__bfd_std_section_00067fa4 + 0xc0))\n      goto LAB_0003af9e;\nLAB_0003b154:\n      fwrite(" defined",1,8,(FILE *)file);\n      goto LAB_0003af9e;\n    }\nLAB_0003b140:\n    if (paVar4 != (segT)(PTR__bfd_std_section_00067fa4 + 0xc0)) goto LAB_0003b154;\nLAB_0003afb2:\n    if (reg_section == paVar4) {\n      if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 2) != 0) {\nLAB_0003b290:\n        fwrite(" weakrefr",1,9,(FILE *)file);\n        if (((uint)psVar7->sy_flags & 1) == 0) goto LAB_0003b096;\n        paVar4 = (segT)psVar7->bsym;\n        if (reg_section != paVar4) goto LAB_0003b0a8;\n      }\n      if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 4) != 0) goto LAB_0003b2c8;\nLAB_0003b3d2:\n      psVar5 = (psVar7->sy_value).X_op_symbol;\n      goto LAB_0003b0a2;\n    }\n  }\n  else {\n    if ((psVar7 != (symbolS *)0x0) && (psVar7 != (symbolS *)PTR_zero_address_frag_00067f64)) {\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_0003af9e:\n    if (((uint)psVar7->sy_flags & 1) != 0) {\n      paVar4 = (segT)psVar7->bsym;\n      goto LAB_0003afb2;\n    }\nLAB_0003b08c:\n    if (((psVar7->sy_flags).field_0x1 & 2) != 0) goto LAB_0003b290;\nLAB_0003b096:\n    psVar5 = psVar7;\n    if (((psVar7->sy_flags).field_0x1 & 4) != 0) {\nLAB_0003b2c8:\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_0003b3d2;\n        goto LAB_0003b0a8;\n      }\n    }\nLAB_0003b0a2:\n    paVar4 = psVar5->bsym->section;\n  }\nLAB_0003b0a8:\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_0003b176:\n      paVar4 = psVar5->bsym->section;\nLAB_0003b0e3:\n      if ((paVar4 != (segT)(PTR__bfd_std_section_00067fa4 + 0xc0)) && (expr_section != paVar4)) {\n        vVar8 = S_GET_VALUE(psVar7);\n        fprintf((FILE *)file," %lx",(int)vVar8);\n      }\n      goto LAB_0003b117;\n    }\n    if (7 < indent_level) goto LAB_0003b117;\n    paVar6 = psVar7->bsym;\nLAB_0003b198:\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_0003b176;\n      if (7 < indent_level) goto LAB_0003b117;\n      paVar6 = psVar5->bsym;\n      goto LAB_0003b198;\n    }\n    if (((uint)sVar1 & 4) != 0) goto LAB_0003b0e3;\n    if (7 < indent_level) goto LAB_0003b117;\n  }\n  if (paVar4 == (segT)(PTR__bfd_std_section_00067fa4 + 0xc0)) goto LAB_0003b117;\n  indent_level = indent_level + 1;\n  puVar9 = &DAT_0004cb05;\n  fprintf((FILE *)file,"\n%*s<",indent_level * 4,&DAT_0004cb05);\n  if (((uint)psVar7->sy_flags & 1) == 0) {\nLAB_0003b493:\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_0003b493;\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_0003b117:\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_0003aee6:\n    psVar7 = (symbolS *)paVar4->id;\n    if (psVar7 == (symbolS *)0x0) goto LAB_0003aed3;\nLAB_0003aeed:\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_0003aee6;\n    }\n    psVar7 = (sym->sy_value).X_add_symbol;\n    if (psVar7 != (symbolS *)0x0) goto LAB_0003aeed;\nLAB_0003aed3:\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_0003aee6:\n    psVar7 = (symbolS *)paVar4->id;\n    if (psVar7 == (symbolS *)0x0) goto LAB_0003aed3;\nLAB_0003aeed:\n    if (*(char *)&psVar7->sy_flags == '\0') {\n      psVar7 = (symbolS *)"(unnamed)";\n    }\n  }" { (labeled_statement "LAB_0003aee6:\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_0003aed3;" 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_0003aed3;" goto statement_identifier ;)) (labeled_statement "LAB_0003aeed:\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_0003aee6;\n    }\n    psVar7 = (sym->sy_value).X_add_symbol;\n    if (psVar7 != (symbolS *)0x0) goto LAB_0003aeed;\nLAB_0003aed3:\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_0003aee6;\n    }\n    psVar7 = (sym->sy_value).X_add_symbol;\n    if (psVar7 != (symbolS *)0x0) goto LAB_0003aeed;\nLAB_0003aed3:\n    psVar7 = (symbolS *)"(unnamed)";\n  }" { (if_statement "if (reg_section == paVar4) {\n      paVar4 = (segT)((sym->sy_value).X_op_symbol)->bsym;\n      goto LAB_0003aee6;\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_0003aee6;\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_0003aee6;" 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_0003aeed;" 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_0003aeed;" goto statement_identifier ;)) (labeled_statement "LAB_0003aed3:\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_0004fe00,1,4,(FILE *)file);" (call_expression "fwrite(&DAT_0004fe00,1,4,(FILE *)file)" identifier (argument_list "(&DAT_0004fe00,1,4,(FILE *)file)" ( (pointer_expression "&DAT_0004fe00" & 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_0003b025;\nLAB_0003b1bf:\n      fwrite(" used",1,5,(FILE *)file);\n      iVar3 = S_IS_LOCAL(psVar7);\n      if (iVar3 != 0) goto LAB_0003b1e7;\nLAB_0003b039:\n      iVar3 = S_IS_EXTERNAL(psVar7);\n      if (iVar3 == 0) goto LAB_0003b04d;\nLAB_0003b20f:\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_0003b1bf;\nLAB_0003b025:\n      iVar3 = S_IS_LOCAL(psVar7);\n      if (iVar3 == 0) goto LAB_0003b039;\nLAB_0003b1e7:\n      fwrite(" local",1,6,(FILE *)file);\n      iVar3 = S_IS_EXTERNAL(psVar7);\n      if (iVar3 != 0) goto LAB_0003b20f;\nLAB_0003b04d:\n      iVar3 = S_IS_WEAK(psVar7);\n    }\n    if (iVar3 != 0) {\n      fwrite(&DAT_0004fe4e,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_0003b400:\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_0003b46c;\n          }\n          goto LAB_0003b140;\n        }\n      }\n      if ((undefined *)paVar4->flags != PTR__bfd_std_section_00067fa4 + 0xc0) goto LAB_0003b154;\n      goto LAB_0003b08c;\n    }\n    if (reg_section == paVar4) {\n      psVar5 = (psVar7->sy_value).X_op_symbol;\n      if ((psVar5->bsym->flags & 4) != 0) goto LAB_0003b400;\nLAB_0003b46c:\n      if (psVar5->bsym->section == (bfd_section *)(PTR__bfd_std_section_00067fa4 + 0xc0))\n      goto LAB_0003af9e;\nLAB_0003b154:\n      fwrite(" defined",1,8,(FILE *)file);\n      goto LAB_0003af9e;\n    }\nLAB_0003b140:\n    if (paVar4 != (segT)(PTR__bfd_std_section_00067fa4 + 0xc0)) goto LAB_0003b154;\nLAB_0003afb2:\n    if (reg_section == paVar4) {\n      if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 2) != 0) {\nLAB_0003b290:\n        fwrite(" weakrefr",1,9,(FILE *)file);\n        if (((uint)psVar7->sy_flags & 1) == 0) goto LAB_0003b096;\n        paVar4 = (segT)psVar7->bsym;\n        if (reg_section != paVar4) goto LAB_0003b0a8;\n      }\n      if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 4) != 0) goto LAB_0003b2c8;\nLAB_0003b3d2:\n      psVar5 = (psVar7->sy_value).X_op_symbol;\n      goto LAB_0003b0a2;\n    }\n  }\n  else {\n    if ((psVar7 != (symbolS *)0x0) && (psVar7 != (symbolS *)PTR_zero_address_frag_00067f64)) {\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_0003af9e:\n    if (((uint)psVar7->sy_flags & 1) != 0) {\n      paVar4 = (segT)psVar7->bsym;\n      goto LAB_0003afb2;\n    }\nLAB_0003b08c:\n    if (((psVar7->sy_flags).field_0x1 & 2) != 0) goto LAB_0003b290;\nLAB_0003b096:\n    psVar5 = psVar7;\n    if (((psVar7->sy_flags).field_0x1 & 4) != 0) {\nLAB_0003b2c8:\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_0003b3d2;\n        goto LAB_0003b0a8;\n      }\n    }\nLAB_0003b0a2:\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_0003b025;\nLAB_0003b1bf:\n      fwrite(" used",1,5,(FILE *)file);\n      iVar3 = S_IS_LOCAL(psVar7);\n      if (iVar3 != 0) goto LAB_0003b1e7;\nLAB_0003b039:\n      iVar3 = S_IS_EXTERNAL(psVar7);\n      if (iVar3 == 0) goto LAB_0003b04d;\nLAB_0003b20f:\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_0003b1bf;\nLAB_0003b025:\n      iVar3 = S_IS_LOCAL(psVar7);\n      if (iVar3 == 0) goto LAB_0003b039;\nLAB_0003b1e7:\n      fwrite(" local",1,6,(FILE *)file);\n      iVar3 = S_IS_EXTERNAL(psVar7);\n      if (iVar3 != 0) goto LAB_0003b20f;\nLAB_0003b04d:\n      iVar3 = S_IS_WEAK(psVar7);\n    }\n    if (iVar3 != 0) {\n      fwrite(&DAT_0004fe4e,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_0003b400:\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_0003b46c;\n          }\n          goto LAB_0003b140;\n        }\n      }\n      if ((undefined *)paVar4->flags != PTR__bfd_std_section_00067fa4 + 0xc0) goto LAB_0003b154;\n      goto LAB_0003b08c;\n    }\n    if (reg_section == paVar4) {\n      psVar5 = (psVar7->sy_value).X_op_symbol;\n      if ((psVar5->bsym->flags & 4) != 0) goto LAB_0003b400;\nLAB_0003b46c:\n      if (psVar5->bsym->section == (bfd_section *)(PTR__bfd_std_section_00067fa4 + 0xc0))\n      goto LAB_0003af9e;\nLAB_0003b154:\n      fwrite(" defined",1,8,(FILE *)file);\n      goto LAB_0003af9e;\n    }\nLAB_0003b140:\n    if (paVar4 != (segT)(PTR__bfd_std_section_00067fa4 + 0xc0)) goto LAB_0003b154;\nLAB_0003afb2:\n    if (reg_section == paVar4) {\n      if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 2) != 0) {\nLAB_0003b290:\n        fwrite(" weakrefr",1,9,(FILE *)file);\n        if (((uint)psVar7->sy_flags & 1) == 0) goto LAB_0003b096;\n        paVar4 = (segT)psVar7->bsym;\n        if (reg_section != paVar4) goto LAB_0003b0a8;\n      }\n      if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 4) != 0) goto LAB_0003b2c8;\nLAB_0003b3d2:\n      psVar5 = (psVar7->sy_value).X_op_symbol;\n      goto LAB_0003b0a2;\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_0003b025;\nLAB_0003b1bf:\n      fwrite(" used",1,5,(FILE *)file);\n      iVar3 = S_IS_LOCAL(psVar7);\n      if (iVar3 != 0) goto LAB_0003b1e7;\nLAB_0003b039:\n      iVar3 = S_IS_EXTERNAL(psVar7);\n      if (iVar3 == 0) goto LAB_0003b04d;\nLAB_0003b20f:\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_0003b1bf;\nLAB_0003b025:\n      iVar3 = S_IS_LOCAL(psVar7);\n      if (iVar3 == 0) goto LAB_0003b039;\nLAB_0003b1e7:\n      fwrite(" local",1,6,(FILE *)file);\n      iVar3 = S_IS_EXTERNAL(psVar7);\n      if (iVar3 != 0) goto LAB_0003b20f;\nLAB_0003b04d:\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_0003b025;\nLAB_0003b1bf:\n      fwrite(" used",1,5,(FILE *)file);\n      iVar3 = S_IS_LOCAL(psVar7);\n      if (iVar3 != 0) goto LAB_0003b1e7;\nLAB_0003b039:\n      iVar3 = S_IS_EXTERNAL(psVar7);\n      if (iVar3 == 0) goto LAB_0003b04d;\nLAB_0003b20f:\n      fwrite(" extern",1,7,(FILE *)file);\n      iVar3 = S_IS_WEAK(psVar7);\n    }" { (if_statement "if ((bVar2 & 0x20) == 0) goto LAB_0003b025;" 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_0003b025;" goto statement_identifier ;)) (labeled_statement "LAB_0003b1bf:\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_0003b1e7;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0003b1e7;" goto statement_identifier ;)) (labeled_statement "LAB_0003b039:\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_0003b04d;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0003b04d;" goto statement_identifier ;)) (labeled_statement "LAB_0003b20f:\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_0003b1bf;\nLAB_0003b025:\n      iVar3 = S_IS_LOCAL(psVar7);\n      if (iVar3 == 0) goto LAB_0003b039;\nLAB_0003b1e7:\n      fwrite(" local",1,6,(FILE *)file);\n      iVar3 = S_IS_EXTERNAL(psVar7);\n      if (iVar3 != 0) goto LAB_0003b20f;\nLAB_0003b04d:\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_0003b1bf;\nLAB_0003b025:\n      iVar3 = S_IS_LOCAL(psVar7);\n      if (iVar3 == 0) goto LAB_0003b039;\nLAB_0003b1e7:\n      fwrite(" local",1,6,(FILE *)file);\n      iVar3 = S_IS_EXTERNAL(psVar7);\n      if (iVar3 != 0) goto LAB_0003b20f;\nLAB_0003b04d:\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_0003b1bf;" 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_0003b1bf;" goto statement_identifier ;)) (labeled_statement "LAB_0003b025:\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_0003b039;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0003b039;" goto statement_identifier ;)) (labeled_statement "LAB_0003b1e7:\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_0003b20f;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0003b20f;" goto statement_identifier ;)) (labeled_statement "LAB_0003b04d:\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_0004fe4e,1,5,(FILE *)file);\n    }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n      fwrite(&DAT_0004fe4e,1,5,(FILE *)file);\n    }" { (expression_statement "fwrite(&DAT_0004fe4e,1,5,(FILE *)file);" (call_expression "fwrite(&DAT_0004fe4e,1,5,(FILE *)file)" identifier (argument_list "(&DAT_0004fe4e,1,5,(FILE *)file)" ( (pointer_expression "&DAT_0004fe4e" & 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_0003b400:\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_0003b46c;\n          }\n          goto LAB_0003b140;\n        }\n      }\n      if ((undefined *)paVar4->flags != PTR__bfd_std_section_00067fa4 + 0xc0) goto LAB_0003b154;\n      goto LAB_0003b08c;\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_0003b400:\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_0003b46c;\n          }\n          goto LAB_0003b140;\n        }\n      }\n      if ((undefined *)paVar4->flags != PTR__bfd_std_section_00067fa4 + 0xc0) goto LAB_0003b154;\n      goto LAB_0003b08c;\n    }" { (if_statement "if (((uint)paVar4->prev & 4) != 0) {\nLAB_0003b400:\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_0003b46c;\n          }\n          goto LAB_0003b140;\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_0003b400:\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_0003b46c;\n          }\n          goto LAB_0003b140;\n        }\n      }" { (labeled_statement "LAB_0003b400:\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_0003b46c;\n          }\n          goto LAB_0003b140;\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_0003b46c;\n          }\n          goto LAB_0003b140;\n        }" { (if_statement "if (paVar4 == reg_section) {\n            psVar5 = (psVar7->sy_value).X_op_symbol;\n            goto LAB_0003b46c;\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_0003b46c;\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_0003b46c;" goto statement_identifier ;) })) (goto_statement "goto LAB_0003b140;" goto statement_identifier ;) })) })) (if_statement "if ((undefined *)paVar4->flags != PTR__bfd_std_section_00067fa4 + 0xc0) goto LAB_0003b154;" if (parenthesized_expression "((undefined *)paVar4->flags != PTR__bfd_std_section_00067fa4 + 0xc0)" ( (binary_expression "(undefined *)paVar4->flags != PTR__bfd_std_section_00067fa4 + 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_00067fa4 + 0xc0" identifier + number_literal)) )) (goto_statement "goto LAB_0003b154;" goto statement_identifier ;)) (goto_statement "goto LAB_0003b08c;" 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_0003b400;\nLAB_0003b46c:\n      if (psVar5->bsym->section == (bfd_section *)(PTR__bfd_std_section_00067fa4 + 0xc0))\n      goto LAB_0003af9e;\nLAB_0003b154:\n      fwrite(" defined",1,8,(FILE *)file);\n      goto LAB_0003af9e;\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_0003b400;\nLAB_0003b46c:\n      if (psVar5->bsym->section == (bfd_section *)(PTR__bfd_std_section_00067fa4 + 0xc0))\n      goto LAB_0003af9e;\nLAB_0003b154:\n      fwrite(" defined",1,8,(FILE *)file);\n      goto LAB_0003af9e;\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_0003b400;" 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_0003b400;" goto statement_identifier ;)) (labeled_statement "LAB_0003b46c:\n      if (psVar5->bsym->section == (bfd_section *)(PTR__bfd_std_section_00067fa4 + 0xc0))\n      goto LAB_0003af9e;" statement_identifier : (if_statement "if (psVar5->bsym->section == (bfd_section *)(PTR__bfd_std_section_00067fa4 + 0xc0))\n      goto LAB_0003af9e;" if (parenthesized_expression "(psVar5->bsym->section == (bfd_section *)(PTR__bfd_std_section_00067fa4 + 0xc0))" ( (binary_expression "psVar5->bsym->section == (bfd_section *)(PTR__bfd_std_section_00067fa4 + 0xc0)" (field_expression "psVar5->bsym->section" (field_expression "psVar5->bsym" identifier -> field_identifier) -> field_identifier) == (cast_expression "(bfd_section *)(PTR__bfd_std_section_00067fa4 + 0xc0)" ( (type_descriptor "bfd_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__bfd_std_section_00067fa4 + 0xc0)" ( (binary_expression "PTR__bfd_std_section_00067fa4 + 0xc0" identifier + number_literal) )))) )) (goto_statement "goto LAB_0003af9e;" goto statement_identifier ;))) (labeled_statement "LAB_0003b154:\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_0003af9e;" goto statement_identifier ;) })) (labeled_statement "LAB_0003b140:\n    if (paVar4 != (segT)(PTR__bfd_std_section_00067fa4 + 0xc0)) goto LAB_0003b154;" statement_identifier : (if_statement "if (paVar4 != (segT)(PTR__bfd_std_section_00067fa4 + 0xc0)) goto LAB_0003b154;" if (parenthesized_expression "(paVar4 != (segT)(PTR__bfd_std_section_00067fa4 + 0xc0))" ( (binary_expression "paVar4 != (segT)(PTR__bfd_std_section_00067fa4 + 0xc0)" identifier != (call_expression "(segT)(PTR__bfd_std_section_00067fa4 + 0xc0)" (parenthesized_expression "(segT)" ( identifier )) (argument_list "(PTR__bfd_std_section_00067fa4 + 0xc0)" ( (binary_expression "PTR__bfd_std_section_00067fa4 + 0xc0" identifier + number_literal) )))) )) (goto_statement "goto LAB_0003b154;" goto statement_identifier ;))) (labeled_statement "LAB_0003afb2:\n    if (reg_section == paVar4) {\n      if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 2) != 0) {\nLAB_0003b290:\n        fwrite(" weakrefr",1,9,(FILE *)file);\n        if (((uint)psVar7->sy_flags & 1) == 0) goto LAB_0003b096;\n        paVar4 = (segT)psVar7->bsym;\n        if (reg_section != paVar4) goto LAB_0003b0a8;\n      }\n      if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 4) != 0) goto LAB_0003b2c8;\nLAB_0003b3d2:\n      psVar5 = (psVar7->sy_value).X_op_symbol;\n      goto LAB_0003b0a2;\n    }" statement_identifier : (if_statement "if (reg_section == paVar4) {\n      if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 2) != 0) {\nLAB_0003b290:\n        fwrite(" weakrefr",1,9,(FILE *)file);\n        if (((uint)psVar7->sy_flags & 1) == 0) goto LAB_0003b096;\n        paVar4 = (segT)psVar7->bsym;\n        if (reg_section != paVar4) goto LAB_0003b0a8;\n      }\n      if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 4) != 0) goto LAB_0003b2c8;\nLAB_0003b3d2:\n      psVar5 = (psVar7->sy_value).X_op_symbol;\n      goto LAB_0003b0a2;\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_0003b290:\n        fwrite(" weakrefr",1,9,(FILE *)file);\n        if (((uint)psVar7->sy_flags & 1) == 0) goto LAB_0003b096;\n        paVar4 = (segT)psVar7->bsym;\n        if (reg_section != paVar4) goto LAB_0003b0a8;\n      }\n      if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 4) != 0) goto LAB_0003b2c8;\nLAB_0003b3d2:\n      psVar5 = (psVar7->sy_value).X_op_symbol;\n      goto LAB_0003b0a2;\n    }" { (if_statement "if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 2) != 0) {\nLAB_0003b290:\n        fwrite(" weakrefr",1,9,(FILE *)file);\n        if (((uint)psVar7->sy_flags & 1) == 0) goto LAB_0003b096;\n        paVar4 = (segT)psVar7->bsym;\n        if (reg_section != paVar4) goto LAB_0003b0a8;\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_0003b290:\n        fwrite(" weakrefr",1,9,(FILE *)file);\n        if (((uint)psVar7->sy_flags & 1) == 0) goto LAB_0003b096;\n        paVar4 = (segT)psVar7->bsym;\n        if (reg_section != paVar4) goto LAB_0003b0a8;\n      }" { (labeled_statement "LAB_0003b290:\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_0003b096;" 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_0003b096;" 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_0003b0a8;" if (parenthesized_expression "(reg_section != paVar4)" ( (binary_expression "reg_section != paVar4" identifier != identifier) )) (goto_statement "goto LAB_0003b0a8;" goto statement_identifier ;)) })) (if_statement "if (((((psVar7->sy_value).X_op_symbol)->sy_flags).field_0x1 & 4) != 0) goto LAB_0003b2c8;" 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_0003b2c8;" goto statement_identifier ;)) (labeled_statement "LAB_0003b3d2:\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_0003b0a2;" goto statement_identifier ;) }))) }) (else_clause "else {\n    if ((psVar7 != (symbolS *)0x0) && (psVar7 != (symbolS *)PTR_zero_address_frag_00067f64)) {\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_0003af9e:\n    if (((uint)psVar7->sy_flags & 1) != 0) {\n      paVar4 = (segT)psVar7->bsym;\n      goto LAB_0003afb2;\n    }\nLAB_0003b08c:\n    if (((psVar7->sy_flags).field_0x1 & 2) != 0) goto LAB_0003b290;\nLAB_0003b096:\n    psVar5 = psVar7;\n    if (((psVar7->sy_flags).field_0x1 & 4) != 0) {\nLAB_0003b2c8:\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_0003b3d2;\n        goto LAB_0003b0a8;\n      }\n    }\nLAB_0003b0a2:\n    paVar4 = psVar5->bsym->section;\n  }" else (compound_statement "{\n    if ((psVar7 != (symbolS *)0x0) && (psVar7 != (symbolS *)PTR_zero_address_frag_00067f64)) {\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_0003af9e:\n    if (((uint)psVar7->sy_flags & 1) != 0) {\n      paVar4 = (segT)psVar7->bsym;\n      goto LAB_0003afb2;\n    }\nLAB_0003b08c:\n    if (((psVar7->sy_flags).field_0x1 & 2) != 0) goto LAB_0003b290;\nLAB_0003b096:\n    psVar5 = psVar7;\n    if (((psVar7->sy_flags).field_0x1 & 4) != 0) {\nLAB_0003b2c8:\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_0003b3d2;\n        goto LAB_0003b0a8;\n      }\n    }\nLAB_0003b0a2:\n    paVar4 = psVar5->bsym->section;\n  }" { (if_statement "if ((psVar7 != (symbolS *)0x0) && (psVar7 != (symbolS *)PTR_zero_address_frag_00067f64)) {\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_00067f64))" ( (binary_expression "(psVar7 != (symbolS *)0x0) && (psVar7 != (symbolS *)PTR_zero_address_frag_00067f64)" (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_00067f64)" ( (binary_expression "psVar7 != (symbolS *)PTR_zero_address_frag_00067f64" identifier != (cast_expression "(symbolS *)PTR_zero_address_frag_00067f64" ( (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_0003af9e:\n    if (((uint)psVar7->sy_flags & 1) != 0) {\n      paVar4 = (segT)psVar7->bsym;\n      goto LAB_0003afb2;\n    }" statement_identifier : (if_statement "if (((uint)psVar7->sy_flags & 1) != 0) {\n      paVar4 = (segT)psVar7->bsym;\n      goto LAB_0003afb2;\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_0003afb2;\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_0003afb2;" goto statement_identifier ;) }))) (labeled_statement "LAB_0003b08c:\n    if (((psVar7->sy_flags).field_0x1 & 2) != 0) goto LAB_0003b290;" statement_identifier : (if_statement "if (((psVar7->sy_flags).field_0x1 & 2) != 0) goto LAB_0003b290;" 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_0003b290;" goto statement_identifier ;))) (labeled_statement "LAB_0003b096:\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_0003b2c8:\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_0003b3d2;\n        goto LAB_0003b0a8;\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_0003b2c8:\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_0003b3d2;\n        goto LAB_0003b0a8;\n      }\n    }" { (labeled_statement "LAB_0003b2c8:\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_0003b3d2;\n        goto LAB_0003b0a8;\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_0003b3d2;\n        goto LAB_0003b0a8;\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_0003b3d2;" if (parenthesized_expression "(reg_section == paVar4)" ( (binary_expression "reg_section == paVar4" identifier == identifier) )) (goto_statement "goto LAB_0003b3d2;" goto statement_identifier ;)) (goto_statement "goto LAB_0003b0a8;" goto statement_identifier ;) })) })) (labeled_statement "LAB_0003b0a2:\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_0003b0a8:\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_0003b176:\n      paVar4 = psVar5->bsym->section;\nLAB_0003b0e3:\n      if ((paVar4 != (segT)(PTR__bfd_std_section_00067fa4 + 0xc0)) && (expr_section != paVar4)) {\n        vVar8 = S_GET_VALUE(psVar7);\n        fprintf((FILE *)file," %lx",(int)vVar8);\n      }\n      goto LAB_0003b117;\n    }\n    if (7 < indent_level) goto LAB_0003b117;\n    paVar6 = psVar7->bsym;\nLAB_0003b198:\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_0003b176;\n      if (7 < indent_level) goto LAB_0003b117;\n      paVar6 = psVar5->bsym;\n      goto LAB_0003b198;\n    }\n    if (((uint)sVar1 & 4) != 0) goto LAB_0003b0e3;\n    if (7 < indent_level) goto LAB_0003b117;\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_0003b176:\n      paVar4 = psVar5->bsym->section;\nLAB_0003b0e3:\n      if ((paVar4 != (segT)(PTR__bfd_std_section_00067fa4 + 0xc0)) && (expr_section != paVar4)) {\n        vVar8 = S_GET_VALUE(psVar7);\n        fprintf((FILE *)file," %lx",(int)vVar8);\n      }\n      goto LAB_0003b117;\n    }\n    if (7 < indent_level) goto LAB_0003b117;\n    paVar6 = psVar7->bsym;\nLAB_0003b198:\n    paVar4 = paVar6->section;\n  }" { (expression_statement "psVar5 = psVar7;" (assignment_expression "psVar5 = psVar7" identifier = identifier) ;) (if_statement "if (((uint)sVar1 & 4) != 0) {\nLAB_0003b176:\n      paVar4 = psVar5->bsym->section;\nLAB_0003b0e3:\n      if ((paVar4 != (segT)(PTR__bfd_std_section_00067fa4 + 0xc0)) && (expr_section != paVar4)) {\n        vVar8 = S_GET_VALUE(psVar7);\n        fprintf((FILE *)file," %lx",(int)vVar8);\n      }\n      goto LAB_0003b117;\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_0003b176:\n      paVar4 = psVar5->bsym->section;\nLAB_0003b0e3:\n      if ((paVar4 != (segT)(PTR__bfd_std_section_00067fa4 + 0xc0)) && (expr_section != paVar4)) {\n        vVar8 = S_GET_VALUE(psVar7);\n        fprintf((FILE *)file," %lx",(int)vVar8);\n      }\n      goto LAB_0003b117;\n    }" { (labeled_statement "LAB_0003b176:\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_0003b0e3:\n      if ((paVar4 != (segT)(PTR__bfd_std_section_00067fa4 + 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_00067fa4 + 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_00067fa4 + 0xc0)) && (expr_section != paVar4))" ( (binary_expression "(paVar4 != (segT)(PTR__bfd_std_section_00067fa4 + 0xc0)) && (expr_section != paVar4)" (parenthesized_expression "(paVar4 != (segT)(PTR__bfd_std_section_00067fa4 + 0xc0))" ( (binary_expression "paVar4 != (segT)(PTR__bfd_std_section_00067fa4 + 0xc0)" identifier != (call_expression "(segT)(PTR__bfd_std_section_00067fa4 + 0xc0)" (parenthesized_expression "(segT)" ( identifier )) (argument_list "(PTR__bfd_std_section_00067fa4 + 0xc0)" ( (binary_expression "PTR__bfd_std_section_00067fa4 + 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_0003b117;" goto statement_identifier ;) })) (if_statement "if (7 < indent_level) goto LAB_0003b117;" if (parenthesized_expression "(7 < indent_level)" ( (binary_expression "7 < indent_level" number_literal < identifier) )) (goto_statement "goto LAB_0003b117;" goto statement_identifier ;)) (expression_statement "paVar6 = psVar7->bsym;" (assignment_expression "paVar6 = psVar7->bsym" identifier = (field_expression "psVar7->bsym" identifier -> field_identifier)) ;) (labeled_statement "LAB_0003b198:\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_0003b176;\n      if (7 < indent_level) goto LAB_0003b117;\n      paVar6 = psVar5->bsym;\n      goto LAB_0003b198;\n    }\n    if (((uint)sVar1 & 4) != 0) goto LAB_0003b0e3;\n    if (7 < indent_level) goto LAB_0003b117;\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_0003b176;\n      if (7 < indent_level) goto LAB_0003b117;\n      paVar6 = psVar5->bsym;\n      goto LAB_0003b198;\n    }\n    if (((uint)sVar1 & 4) != 0) goto LAB_0003b0e3;\n    if (7 < indent_level) goto LAB_0003b117;\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_0003b176;\n      if (7 < indent_level) goto LAB_0003b117;\n      paVar6 = psVar5->bsym;\n      goto LAB_0003b198;\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_0003b176;\n      if (7 < indent_level) goto LAB_0003b117;\n      paVar6 = psVar5->bsym;\n      goto LAB_0003b198;\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_0003b176;" 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_0003b176;" goto statement_identifier ;)) (if_statement "if (7 < indent_level) goto LAB_0003b117;" if (parenthesized_expression "(7 < indent_level)" ( (binary_expression "7 < indent_level" number_literal < identifier) )) (goto_statement "goto LAB_0003b117;" 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_0003b198;" goto statement_identifier ;) })) (if_statement "if (((uint)sVar1 & 4) != 0) goto LAB_0003b0e3;" 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_0003b0e3;" goto statement_identifier ;)) (if_statement "if (7 < indent_level) goto LAB_0003b117;" if (parenthesized_expression "(7 < indent_level)" ( (binary_expression "7 < indent_level" number_literal < identifier) )) (goto_statement "goto LAB_0003b117;" goto statement_identifier ;)) }))) (if_statement "if (paVar4 == (segT)(PTR__bfd_std_section_00067fa4 + 0xc0)) goto LAB_0003b117;" if (parenthesized_expression "(paVar4 == (segT)(PTR__bfd_std_section_00067fa4 + 0xc0))" ( (binary_expression "paVar4 == (segT)(PTR__bfd_std_section_00067fa4 + 0xc0)" identifier == (call_expression "(segT)(PTR__bfd_std_section_00067fa4 + 0xc0)" (parenthesized_expression "(segT)" ( identifier )) (argument_list "(PTR__bfd_std_section_00067fa4 + 0xc0)" ( (binary_expression "PTR__bfd_std_section_00067fa4 + 0xc0" identifier + number_literal) )))) )) (goto_statement "goto LAB_0003b117;" 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_0004cb05;" (assignment_expression "puVar9 = &DAT_0004cb05" identifier = (pointer_expression "&DAT_0004cb05" & identifier)) ;) (expression_statement "fprintf((FILE *)file,"\n%*s<",indent_level * 4,&DAT_0004cb05);" (call_expression "fprintf((FILE *)file,"\n%*s<",indent_level * 4,&DAT_0004cb05)" identifier (argument_list "((FILE *)file,"\n%*s<",indent_level * 4,&DAT_0004cb05)" ( (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_0004cb05" & identifier) ))) ;) (if_statement "if (((uint)psVar7->sy_flags & 1) == 0) {\nLAB_0003b493:\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_0003b493;\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_0003b493:\n    print_expr_1(file,&psVar7->sy_value);\n  }" { (labeled_statement "LAB_0003b493:\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_0003b493;\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_0003b493;\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_0003b493;\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_0003b493;\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_0003b493;" 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_0003b117:\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_0003aea0(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_0003aee6:\n    pcVar7 = (char *)puVar3[1];\n    if (pcVar7 == (char *)0x0) goto LAB_0003aed3;\nLAB_0003aeed:\n    if (*pcVar7 == '\0') {\n      pcVar7 = "(unnamed)";\n    }\n  }\n  else {\n    if (DAT_00070e90 == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003aee6;\n    }\n    pcVar7 = *(char **)(param_2 + 8);\n    if (pcVar7 != (char *)0x0) goto LAB_0003aeed;\nLAB_0003aed3:\n    pcVar7 = "(unnamed)";\n  }\n  fwrite(&DAT_0004fe00,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_00070e90)) {\n    if (*(undefined **)(pbVar6 + 0x24) != &DAT_00070e20) {\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_0003b025;\nLAB_0003b1bf:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_000371e0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003b1e7;\nLAB_0003b039:\n      iVar2 = FUN_00036f00(pbVar6);\n      if (iVar2 == 0) goto LAB_0003b04d;\nLAB_0003b20f:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00036f70(pbVar6);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003b1bf;\nLAB_0003b025:\n      iVar2 = FUN_000371e0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003b039;\nLAB_0003b1e7:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_00036f00(pbVar6);\n      if (iVar2 != 0) goto LAB_0003b20f;\nLAB_0003b04d:\n      iVar2 = FUN_00036f70(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_0003b400:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00070e90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003b46c;\n          }\n          goto LAB_0003b140;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_00067fa4 + 0xc0) goto LAB_0003b154;\n      goto LAB_0003b08c;\n    }\n    if (DAT_00070e90 == puVar3) {\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003b400;\nLAB_0003b46c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_00067fa4 + 0xc0)\n      goto LAB_0003af9e;\nLAB_0003b154:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003af9e;\n    }\nLAB_0003b140:\n    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) goto LAB_0003b154;\nLAB_0003afb2:\n    if (DAT_00070e90 == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003b290:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003b096;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00070e90 != puVar3) goto LAB_0003b0a8;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003b2c8;\nLAB_0003b3d2:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003b0a2;\n    }\n  }\n  else {\n    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_00067f64)) {\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_0003af9e:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003afb2;\n    }\nLAB_0003b08c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003b290;\nLAB_0003b096:\n    pbVar5 = pbVar6;\n    if ((pbVar6[1] & 4) != 0) {\nLAB_0003b2c8:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00070e90 == puVar3) goto LAB_0003b3d2;\n        goto LAB_0003b0a8;\n      }\n    }\nLAB_0003b0a2:\n    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\n  }\nLAB_0003b0a8:\n  fprintf(param_1," %s",*puVar3);\n  bVar1 = *pbVar6;\n  if ((bVar1 & 1) == 0) {\n    pbVar5 = pbVar6;\n    if ((bVar1 & 4) != 0) {\nLAB_0003b176:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003b0e3:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) &&\n         (DAT_00070de0 != puVar3)) {\n        uVar4 = FUN_00038c10();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003b117;\n    }\n    if (7 < DAT_000710cc) goto LAB_0003b117;\n    iVar2 = *(int *)(pbVar6 + 4);\nLAB_0003b198:\n    puVar3 = *(undefined4 **)(iVar2 + 0x14);\n  }\n  else {\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if (puVar3 == DAT_00070e90) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003b176;\n      if (7 < DAT_000710cc) goto LAB_0003b117;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003b198;\n    }\n    if ((bVar1 & 4) != 0) goto LAB_0003b0e3;\n    if (7 < DAT_000710cc) goto LAB_0003b117;\n  }\n  if (puVar3 == (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) goto LAB_0003b117;\n  DAT_000710cc = DAT_000710cc + 1;\n  puVar8 = &DAT_0004cb05;\n  fprintf(param_1,"\n%*s<",DAT_000710cc * 4,&DAT_0004cb05);\n  if ((*pbVar6 & 1) == 0) {\nLAB_0003b493:\n    FUN_0003aa00(param_1,pbVar6 + 8);\n  }\n  else {\n    if (*(undefined4 **)(pbVar6 + 4) == DAT_00070e90) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003b493;\n    }\n    fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);\n  }\n  fputc(0x3e,param_1);\n  DAT_000710cc = DAT_000710cc + -1;\nLAB_0003b117:\n  fflush(param_1);\n  return;\n}\n\n" (function_definition "void FUN_0003aea0(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_0003aee6:\n    pcVar7 = (char *)puVar3[1];\n    if (pcVar7 == (char *)0x0) goto LAB_0003aed3;\nLAB_0003aeed:\n    if (*pcVar7 == '\0') {\n      pcVar7 = "(unnamed)";\n    }\n  }\n  else {\n    if (DAT_00070e90 == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003aee6;\n    }\n    pcVar7 = *(char **)(param_2 + 8);\n    if (pcVar7 != (char *)0x0) goto LAB_0003aeed;\nLAB_0003aed3:\n    pcVar7 = "(unnamed)";\n  }\n  fwrite(&DAT_0004fe00,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_00070e90)) {\n    if (*(undefined **)(pbVar6 + 0x24) != &DAT_00070e20) {\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_0003b025;\nLAB_0003b1bf:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_000371e0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003b1e7;\nLAB_0003b039:\n      iVar2 = FUN_00036f00(pbVar6);\n      if (iVar2 == 0) goto LAB_0003b04d;\nLAB_0003b20f:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00036f70(pbVar6);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003b1bf;\nLAB_0003b025:\n      iVar2 = FUN_000371e0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003b039;\nLAB_0003b1e7:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_00036f00(pbVar6);\n      if (iVar2 != 0) goto LAB_0003b20f;\nLAB_0003b04d:\n      iVar2 = FUN_00036f70(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_0003b400:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00070e90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003b46c;\n          }\n          goto LAB_0003b140;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_00067fa4 + 0xc0) goto LAB_0003b154;\n      goto LAB_0003b08c;\n    }\n    if (DAT_00070e90 == puVar3) {\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003b400;\nLAB_0003b46c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_00067fa4 + 0xc0)\n      goto LAB_0003af9e;\nLAB_0003b154:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003af9e;\n    }\nLAB_0003b140:\n    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) goto LAB_0003b154;\nLAB_0003afb2:\n    if (DAT_00070e90 == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003b290:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003b096;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00070e90 != puVar3) goto LAB_0003b0a8;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003b2c8;\nLAB_0003b3d2:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003b0a2;\n    }\n  }\n  else {\n    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_00067f64)) {\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_0003af9e:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003afb2;\n    }\nLAB_0003b08c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003b290;\nLAB_0003b096:\n    pbVar5 = pbVar6;\n    if ((pbVar6[1] & 4) != 0) {\nLAB_0003b2c8:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00070e90 == puVar3) goto LAB_0003b3d2;\n        goto LAB_0003b0a8;\n      }\n    }\nLAB_0003b0a2:\n    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\n  }\nLAB_0003b0a8:\n  fprintf(param_1," %s",*puVar3);\n  bVar1 = *pbVar6;\n  if ((bVar1 & 1) == 0) {\n    pbVar5 = pbVar6;\n    if ((bVar1 & 4) != 0) {\nLAB_0003b176:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003b0e3:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) &&\n         (DAT_00070de0 != puVar3)) {\n        uVar4 = FUN_00038c10();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003b117;\n    }\n    if (7 < DAT_000710cc) goto LAB_0003b117;\n    iVar2 = *(int *)(pbVar6 + 4);\nLAB_0003b198:\n    puVar3 = *(undefined4 **)(iVar2 + 0x14);\n  }\n  else {\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if (puVar3 == DAT_00070e90) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003b176;\n      if (7 < DAT_000710cc) goto LAB_0003b117;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003b198;\n    }\n    if ((bVar1 & 4) != 0) goto LAB_0003b0e3;\n    if (7 < DAT_000710cc) goto LAB_0003b117;\n  }\n  if (puVar3 == (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) goto LAB_0003b117;\n  DAT_000710cc = DAT_000710cc + 1;\n  puVar8 = &DAT_0004cb05;\n  fprintf(param_1,"\n%*s<",DAT_000710cc * 4,&DAT_0004cb05);\n  if ((*pbVar6 & 1) == 0) {\nLAB_0003b493:\n    FUN_0003aa00(param_1,pbVar6 + 8);\n  }\n  else {\n    if (*(undefined4 **)(pbVar6 + 4) == DAT_00070e90) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003b493;\n    }\n    fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);\n  }\n  fputc(0x3e,param_1);\n  DAT_000710cc = DAT_000710cc + -1;\nLAB_0003b117:\n  fflush(param_1);\n  return;\n}" primitive_type (function_declarator "FUN_0003aea0(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_0003aee6:\n    pcVar7 = (char *)puVar3[1];\n    if (pcVar7 == (char *)0x0) goto LAB_0003aed3;\nLAB_0003aeed:\n    if (*pcVar7 == '\0') {\n      pcVar7 = "(unnamed)";\n    }\n  }\n  else {\n    if (DAT_00070e90 == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003aee6;\n    }\n    pcVar7 = *(char **)(param_2 + 8);\n    if (pcVar7 != (char *)0x0) goto LAB_0003aeed;\nLAB_0003aed3:\n    pcVar7 = "(unnamed)";\n  }\n  fwrite(&DAT_0004fe00,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_00070e90)) {\n    if (*(undefined **)(pbVar6 + 0x24) != &DAT_00070e20) {\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_0003b025;\nLAB_0003b1bf:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_000371e0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003b1e7;\nLAB_0003b039:\n      iVar2 = FUN_00036f00(pbVar6);\n      if (iVar2 == 0) goto LAB_0003b04d;\nLAB_0003b20f:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00036f70(pbVar6);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003b1bf;\nLAB_0003b025:\n      iVar2 = FUN_000371e0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003b039;\nLAB_0003b1e7:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_00036f00(pbVar6);\n      if (iVar2 != 0) goto LAB_0003b20f;\nLAB_0003b04d:\n      iVar2 = FUN_00036f70(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_0003b400:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00070e90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003b46c;\n          }\n          goto LAB_0003b140;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_00067fa4 + 0xc0) goto LAB_0003b154;\n      goto LAB_0003b08c;\n    }\n    if (DAT_00070e90 == puVar3) {\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003b400;\nLAB_0003b46c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_00067fa4 + 0xc0)\n      goto LAB_0003af9e;\nLAB_0003b154:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003af9e;\n    }\nLAB_0003b140:\n    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) goto LAB_0003b154;\nLAB_0003afb2:\n    if (DAT_00070e90 == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003b290:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003b096;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00070e90 != puVar3) goto LAB_0003b0a8;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003b2c8;\nLAB_0003b3d2:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003b0a2;\n    }\n  }\n  else {\n    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_00067f64)) {\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_0003af9e:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003afb2;\n    }\nLAB_0003b08c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003b290;\nLAB_0003b096:\n    pbVar5 = pbVar6;\n    if ((pbVar6[1] & 4) != 0) {\nLAB_0003b2c8:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00070e90 == puVar3) goto LAB_0003b3d2;\n        goto LAB_0003b0a8;\n      }\n    }\nLAB_0003b0a2:\n    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\n  }\nLAB_0003b0a8:\n  fprintf(param_1," %s",*puVar3);\n  bVar1 = *pbVar6;\n  if ((bVar1 & 1) == 0) {\n    pbVar5 = pbVar6;\n    if ((bVar1 & 4) != 0) {\nLAB_0003b176:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003b0e3:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) &&\n         (DAT_00070de0 != puVar3)) {\n        uVar4 = FUN_00038c10();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003b117;\n    }\n    if (7 < DAT_000710cc) goto LAB_0003b117;\n    iVar2 = *(int *)(pbVar6 + 4);\nLAB_0003b198:\n    puVar3 = *(undefined4 **)(iVar2 + 0x14);\n  }\n  else {\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if (puVar3 == DAT_00070e90) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003b176;\n      if (7 < DAT_000710cc) goto LAB_0003b117;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003b198;\n    }\n    if ((bVar1 & 4) != 0) goto LAB_0003b0e3;\n    if (7 < DAT_000710cc) goto LAB_0003b117;\n  }\n  if (puVar3 == (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) goto LAB_0003b117;\n  DAT_000710cc = DAT_000710cc + 1;\n  puVar8 = &DAT_0004cb05;\n  fprintf(param_1,"\n%*s<",DAT_000710cc * 4,&DAT_0004cb05);\n  if ((*pbVar6 & 1) == 0) {\nLAB_0003b493:\n    FUN_0003aa00(param_1,pbVar6 + 8);\n  }\n  else {\n    if (*(undefined4 **)(pbVar6 + 4) == DAT_00070e90) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003b493;\n    }\n    fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);\n  }\n  fputc(0x3e,param_1);\n  DAT_000710cc = DAT_000710cc + -1;\nLAB_0003b117:\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_0003aee6:\n    pcVar7 = (char *)puVar3[1];\n    if (pcVar7 == (char *)0x0) goto LAB_0003aed3;\nLAB_0003aeed:\n    if (*pcVar7 == '\0') {\n      pcVar7 = "(unnamed)";\n    }\n  }\n  else {\n    if (DAT_00070e90 == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003aee6;\n    }\n    pcVar7 = *(char **)(param_2 + 8);\n    if (pcVar7 != (char *)0x0) goto LAB_0003aeed;\nLAB_0003aed3:\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_0003aee6:\n    pcVar7 = (char *)puVar3[1];\n    if (pcVar7 == (char *)0x0) goto LAB_0003aed3;\nLAB_0003aeed:\n    if (*pcVar7 == '\0') {\n      pcVar7 = "(unnamed)";\n    }\n  }" { (labeled_statement "LAB_0003aee6:\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_0003aed3;" 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_0003aed3;" goto statement_identifier ;)) (labeled_statement "LAB_0003aeed:\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_00070e90 == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003aee6;\n    }\n    pcVar7 = *(char **)(param_2 + 8);\n    if (pcVar7 != (char *)0x0) goto LAB_0003aeed;\nLAB_0003aed3:\n    pcVar7 = "(unnamed)";\n  }" else (compound_statement "{\n    if (DAT_00070e90 == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003aee6;\n    }\n    pcVar7 = *(char **)(param_2 + 8);\n    if (pcVar7 != (char *)0x0) goto LAB_0003aeed;\nLAB_0003aed3:\n    pcVar7 = "(unnamed)";\n  }" { (if_statement "if (DAT_00070e90 == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003aee6;\n    }" if (parenthesized_expression "(DAT_00070e90 == puVar3)" ( (binary_expression "DAT_00070e90 == puVar3" identifier == identifier) )) (compound_statement "{\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003aee6;\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_0003aee6;" 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_0003aeed;" 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_0003aeed;" goto statement_identifier ;)) (labeled_statement "LAB_0003aed3:\n    pcVar7 = "(unnamed)";" statement_identifier : (expression_statement "pcVar7 = "(unnamed)";" (assignment_expression "pcVar7 = "(unnamed)"" identifier = (string_literal ""(unnamed)"" " string_content ")) ;)) }))) (expression_statement "fwrite(&DAT_0004fe00,1,4,param_1);" (call_expression "fwrite(&DAT_0004fe00,1,4,param_1)" identifier (argument_list "(&DAT_0004fe00,1,4,param_1)" ( (pointer_expression "&DAT_0004fe00" & 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_00070e90)) {\n    if (*(undefined **)(pbVar6 + 0x24) != &DAT_00070e20) {\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_0003b025;\nLAB_0003b1bf:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_000371e0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003b1e7;\nLAB_0003b039:\n      iVar2 = FUN_00036f00(pbVar6);\n      if (iVar2 == 0) goto LAB_0003b04d;\nLAB_0003b20f:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00036f70(pbVar6);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003b1bf;\nLAB_0003b025:\n      iVar2 = FUN_000371e0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003b039;\nLAB_0003b1e7:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_00036f00(pbVar6);\n      if (iVar2 != 0) goto LAB_0003b20f;\nLAB_0003b04d:\n      iVar2 = FUN_00036f70(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_0003b400:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00070e90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003b46c;\n          }\n          goto LAB_0003b140;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_00067fa4 + 0xc0) goto LAB_0003b154;\n      goto LAB_0003b08c;\n    }\n    if (DAT_00070e90 == puVar3) {\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003b400;\nLAB_0003b46c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_00067fa4 + 0xc0)\n      goto LAB_0003af9e;\nLAB_0003b154:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003af9e;\n    }\nLAB_0003b140:\n    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) goto LAB_0003b154;\nLAB_0003afb2:\n    if (DAT_00070e90 == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003b290:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003b096;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00070e90 != puVar3) goto LAB_0003b0a8;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003b2c8;\nLAB_0003b3d2:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003b0a2;\n    }\n  }\n  else {\n    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_00067f64)) {\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_0003af9e:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003afb2;\n    }\nLAB_0003b08c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003b290;\nLAB_0003b096:\n    pbVar5 = pbVar6;\n    if ((pbVar6[1] & 4) != 0) {\nLAB_0003b2c8:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00070e90 == puVar3) goto LAB_0003b3d2;\n        goto LAB_0003b0a8;\n      }\n    }\nLAB_0003b0a2:\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_00070e90))" ( (binary_expression "((bVar1 & 1) == 0) ||\n     (pbVar6 = *(byte **)(param_2 + 0xc), *(undefined4 **)(param_2 + 4) == DAT_00070e90)" (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_00070e90)" ( (comma_expression "pbVar6 = *(byte **)(param_2 + 0xc), *(undefined4 **)(param_2 + 4) == DAT_00070e90" (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_00070e90" (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_00070e20) {\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_0003b025;\nLAB_0003b1bf:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_000371e0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003b1e7;\nLAB_0003b039:\n      iVar2 = FUN_00036f00(pbVar6);\n      if (iVar2 == 0) goto LAB_0003b04d;\nLAB_0003b20f:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00036f70(pbVar6);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003b1bf;\nLAB_0003b025:\n      iVar2 = FUN_000371e0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003b039;\nLAB_0003b1e7:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_00036f00(pbVar6);\n      if (iVar2 != 0) goto LAB_0003b20f;\nLAB_0003b04d:\n      iVar2 = FUN_00036f70(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_0003b400:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00070e90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003b46c;\n          }\n          goto LAB_0003b140;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_00067fa4 + 0xc0) goto LAB_0003b154;\n      goto LAB_0003b08c;\n    }\n    if (DAT_00070e90 == puVar3) {\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003b400;\nLAB_0003b46c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_00067fa4 + 0xc0)\n      goto LAB_0003af9e;\nLAB_0003b154:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003af9e;\n    }\nLAB_0003b140:\n    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) goto LAB_0003b154;\nLAB_0003afb2:\n    if (DAT_00070e90 == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003b290:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003b096;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00070e90 != puVar3) goto LAB_0003b0a8;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003b2c8;\nLAB_0003b3d2:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003b0a2;\n    }\n  }" { (if_statement "if (*(undefined **)(pbVar6 + 0x24) != &DAT_00070e20) {\n      fwrite(" frag ",1,6,param_1);\n      fprintf(param_1,"%016llx",*(undefined4 *)(pbVar6 + 0x24),0);\n    }" if (parenthesized_expression "(*(undefined **)(pbVar6 + 0x24) != &DAT_00070e20)" ( (binary_expression "*(undefined **)(pbVar6 + 0x24) != &DAT_00070e20" (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_00070e20" & 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_0003b025;\nLAB_0003b1bf:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_000371e0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003b1e7;\nLAB_0003b039:\n      iVar2 = FUN_00036f00(pbVar6);\n      if (iVar2 == 0) goto LAB_0003b04d;\nLAB_0003b20f:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00036f70(pbVar6);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003b1bf;\nLAB_0003b025:\n      iVar2 = FUN_000371e0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003b039;\nLAB_0003b1e7:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_00036f00(pbVar6);\n      if (iVar2 != 0) goto LAB_0003b20f;\nLAB_0003b04d:\n      iVar2 = FUN_00036f70(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_0003b025;\nLAB_0003b1bf:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_000371e0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003b1e7;\nLAB_0003b039:\n      iVar2 = FUN_00036f00(pbVar6);\n      if (iVar2 == 0) goto LAB_0003b04d;\nLAB_0003b20f:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00036f70(pbVar6);\n    }" { (if_statement "if ((bVar1 & 0x20) == 0) goto LAB_0003b025;" 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_0003b025;" goto statement_identifier ;)) (labeled_statement "LAB_0003b1bf:\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_000371e0(pbVar6);" (assignment_expression "iVar2 = FUN_000371e0(pbVar6)" identifier = (call_expression "FUN_000371e0(pbVar6)" identifier (argument_list "(pbVar6)" ( identifier )))) ;) (if_statement "if (iVar2 != 0) goto LAB_0003b1e7;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0003b1e7;" goto statement_identifier ;)) (labeled_statement "LAB_0003b039:\n      iVar2 = FUN_00036f00(pbVar6);" statement_identifier : (expression_statement "iVar2 = FUN_00036f00(pbVar6);" (assignment_expression "iVar2 = FUN_00036f00(pbVar6)" identifier = (call_expression "FUN_00036f00(pbVar6)" identifier (argument_list "(pbVar6)" ( identifier )))) ;)) (if_statement "if (iVar2 == 0) goto LAB_0003b04d;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0003b04d;" goto statement_identifier ;)) (labeled_statement "LAB_0003b20f:\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_00036f70(pbVar6);" (assignment_expression "iVar2 = FUN_00036f70(pbVar6)" identifier = (call_expression "FUN_00036f70(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_0003b1bf;\nLAB_0003b025:\n      iVar2 = FUN_000371e0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003b039;\nLAB_0003b1e7:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_00036f00(pbVar6);\n      if (iVar2 != 0) goto LAB_0003b20f;\nLAB_0003b04d:\n      iVar2 = FUN_00036f70(pbVar6);\n    }" else (compound_statement "{\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003b1bf;\nLAB_0003b025:\n      iVar2 = FUN_000371e0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003b039;\nLAB_0003b1e7:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_00036f00(pbVar6);\n      if (iVar2 != 0) goto LAB_0003b20f;\nLAB_0003b04d:\n      iVar2 = FUN_00036f70(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_0003b1bf;" 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_0003b1bf;" goto statement_identifier ;)) (labeled_statement "LAB_0003b025:\n      iVar2 = FUN_000371e0(pbVar6);" statement_identifier : (expression_statement "iVar2 = FUN_000371e0(pbVar6);" (assignment_expression "iVar2 = FUN_000371e0(pbVar6)" identifier = (call_expression "FUN_000371e0(pbVar6)" identifier (argument_list "(pbVar6)" ( identifier )))) ;)) (if_statement "if (iVar2 == 0) goto LAB_0003b039;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0003b039;" goto statement_identifier ;)) (labeled_statement "LAB_0003b1e7:\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_00036f00(pbVar6);" (assignment_expression "iVar2 = FUN_00036f00(pbVar6)" identifier = (call_expression "FUN_00036f00(pbVar6)" identifier (argument_list "(pbVar6)" ( identifier )))) ;) (if_statement "if (iVar2 != 0) goto LAB_0003b20f;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0003b20f;" goto statement_identifier ;)) (labeled_statement "LAB_0003b04d:\n      iVar2 = FUN_00036f70(pbVar6);" statement_identifier : (expression_statement "iVar2 = FUN_00036f70(pbVar6);" (assignment_expression "iVar2 = FUN_00036f70(pbVar6)" identifier = (call_expression "FUN_00036f70(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_0003b400:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00070e90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003b46c;\n          }\n          goto LAB_0003b140;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_00067fa4 + 0xc0) goto LAB_0003b154;\n      goto LAB_0003b08c;\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_0003b400:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00070e90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003b46c;\n          }\n          goto LAB_0003b140;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_00067fa4 + 0xc0) goto LAB_0003b154;\n      goto LAB_0003b08c;\n    }" { (if_statement "if ((*(byte *)(puVar3 + 4) & 4) != 0) {\nLAB_0003b400:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00070e90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003b46c;\n          }\n          goto LAB_0003b140;\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_0003b400:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00070e90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003b46c;\n          }\n          goto LAB_0003b140;\n        }\n      }" { (labeled_statement "LAB_0003b400:\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_00070e90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003b46c;\n          }\n          goto LAB_0003b140;\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_00070e90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003b46c;\n          }\n          goto LAB_0003b140;\n        }" { (if_statement "if (puVar3 == DAT_00070e90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003b46c;\n          }" if (parenthesized_expression "(puVar3 == DAT_00070e90)" ( (binary_expression "puVar3 == DAT_00070e90" identifier == identifier) )) (compound_statement "{\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003b46c;\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_0003b46c;" goto statement_identifier ;) })) (goto_statement "goto LAB_0003b140;" goto statement_identifier ;) })) })) (if_statement "if ((undefined *)puVar3[5] != PTR__bfd_std_section_00067fa4 + 0xc0) goto LAB_0003b154;" if (parenthesized_expression "((undefined *)puVar3[5] != PTR__bfd_std_section_00067fa4 + 0xc0)" ( (binary_expression "(undefined *)puVar3[5] != PTR__bfd_std_section_00067fa4 + 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_00067fa4 + 0xc0" identifier + number_literal)) )) (goto_statement "goto LAB_0003b154;" goto statement_identifier ;)) (goto_statement "goto LAB_0003b08c;" goto statement_identifier ;) })) (if_statement "if (DAT_00070e90 == puVar3) {\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003b400;\nLAB_0003b46c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_00067fa4 + 0xc0)\n      goto LAB_0003af9e;\nLAB_0003b154:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003af9e;\n    }" if (parenthesized_expression "(DAT_00070e90 == puVar3)" ( (binary_expression "DAT_00070e90 == puVar3" identifier == identifier) )) (compound_statement "{\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003b400;\nLAB_0003b46c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_00067fa4 + 0xc0)\n      goto LAB_0003af9e;\nLAB_0003b154:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003af9e;\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_0003b400;" 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_0003b400;" goto statement_identifier ;)) (labeled_statement "LAB_0003b46c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_00067fa4 + 0xc0)\n      goto LAB_0003af9e;" statement_identifier : (if_statement "if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_00067fa4 + 0xc0)\n      goto LAB_0003af9e;" if (parenthesized_expression "(*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_00067fa4 + 0xc0)" ( (binary_expression "*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_00067fa4 + 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_00067fa4 + 0xc0" identifier + number_literal)) )) (goto_statement "goto LAB_0003af9e;" goto statement_identifier ;))) (labeled_statement "LAB_0003b154:\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_0003af9e;" goto statement_identifier ;) })) (labeled_statement "LAB_0003b140:\n    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) goto LAB_0003b154;" statement_identifier : (if_statement "if (puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) goto LAB_0003b154;" if (parenthesized_expression "(puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0))" ( (binary_expression "puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)" identifier != (cast_expression "(undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__bfd_std_section_00067fa4 + 0xc0)" ( (binary_expression "PTR__bfd_std_section_00067fa4 + 0xc0" identifier + number_literal) )))) )) (goto_statement "goto LAB_0003b154;" goto statement_identifier ;))) (labeled_statement "LAB_0003afb2:\n    if (DAT_00070e90 == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003b290:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003b096;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00070e90 != puVar3) goto LAB_0003b0a8;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003b2c8;\nLAB_0003b3d2:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003b0a2;\n    }" statement_identifier : (if_statement "if (DAT_00070e90 == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003b290:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003b096;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00070e90 != puVar3) goto LAB_0003b0a8;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003b2c8;\nLAB_0003b3d2:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003b0a2;\n    }" if (parenthesized_expression "(DAT_00070e90 == puVar3)" ( (binary_expression "DAT_00070e90 == puVar3" identifier == identifier) )) (compound_statement "{\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003b290:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003b096;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00070e90 != puVar3) goto LAB_0003b0a8;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003b2c8;\nLAB_0003b3d2:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003b0a2;\n    }" { (if_statement "if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003b290:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003b096;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00070e90 != puVar3) goto LAB_0003b0a8;\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_0003b290:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003b096;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00070e90 != puVar3) goto LAB_0003b0a8;\n      }" { (labeled_statement "LAB_0003b290:\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_0003b096;" 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_0003b096;" 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_00070e90 != puVar3) goto LAB_0003b0a8;" if (parenthesized_expression "(DAT_00070e90 != puVar3)" ( (binary_expression "DAT_00070e90 != puVar3" identifier != identifier) )) (goto_statement "goto LAB_0003b0a8;" goto statement_identifier ;)) })) (if_statement "if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003b2c8;" 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_0003b2c8;" goto statement_identifier ;)) (labeled_statement "LAB_0003b3d2:\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_0003b0a2;" goto statement_identifier ;) }))) }) (else_clause "else {\n    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_00067f64)) {\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_0003af9e:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003afb2;\n    }\nLAB_0003b08c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003b290;\nLAB_0003b096:\n    pbVar5 = pbVar6;\n    if ((pbVar6[1] & 4) != 0) {\nLAB_0003b2c8:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00070e90 == puVar3) goto LAB_0003b3d2;\n        goto LAB_0003b0a8;\n      }\n    }\nLAB_0003b0a2:\n    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\n  }" else (compound_statement "{\n    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_00067f64)) {\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_0003af9e:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003afb2;\n    }\nLAB_0003b08c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003b290;\nLAB_0003b096:\n    pbVar5 = pbVar6;\n    if ((pbVar6[1] & 4) != 0) {\nLAB_0003b2c8:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00070e90 == puVar3) goto LAB_0003b3d2;\n        goto LAB_0003b0a8;\n      }\n    }\nLAB_0003b0a2:\n    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\n  }" { (if_statement "if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_00067f64)) {\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_00067f64))" ( (binary_expression "(pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_00067f64)" (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_00067f64)" ( (binary_expression "pbVar6 != PTR_DAT_00067f64" 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_0003af9e:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003afb2;\n    }" statement_identifier : (if_statement "if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003afb2;\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_0003afb2;\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_0003afb2;" goto statement_identifier ;) }))) (labeled_statement "LAB_0003b08c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003b290;" statement_identifier : (if_statement "if ((pbVar6[1] & 2) != 0) goto LAB_0003b290;" 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_0003b290;" goto statement_identifier ;))) (labeled_statement "LAB_0003b096:\n    pbVar5 = pbVar6;" statement_identifier : (expression_statement "pbVar5 = pbVar6;" (assignment_expression "pbVar5 = pbVar6" identifier = identifier) ;)) (if_statement "if ((pbVar6[1] & 4) != 0) {\nLAB_0003b2c8:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00070e90 == puVar3) goto LAB_0003b3d2;\n        goto LAB_0003b0a8;\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_0003b2c8:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00070e90 == puVar3) goto LAB_0003b3d2;\n        goto LAB_0003b0a8;\n      }\n    }" { (labeled_statement "LAB_0003b2c8:\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_00070e90 == puVar3) goto LAB_0003b3d2;\n        goto LAB_0003b0a8;\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_00070e90 == puVar3) goto LAB_0003b3d2;\n        goto LAB_0003b0a8;\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_00070e90 == puVar3) goto LAB_0003b3d2;" if (parenthesized_expression "(DAT_00070e90 == puVar3)" ( (binary_expression "DAT_00070e90 == puVar3" identifier == identifier) )) (goto_statement "goto LAB_0003b3d2;" goto statement_identifier ;)) (goto_statement "goto LAB_0003b0a8;" goto statement_identifier ;) })) })) (labeled_statement "LAB_0003b0a2:\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_0003b0a8:\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_0003b176:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003b0e3:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) &&\n         (DAT_00070de0 != puVar3)) {\n        uVar4 = FUN_00038c10();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003b117;\n    }\n    if (7 < DAT_000710cc) goto LAB_0003b117;\n    iVar2 = *(int *)(pbVar6 + 4);\nLAB_0003b198:\n    puVar3 = *(undefined4 **)(iVar2 + 0x14);\n  }\n  else {\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if (puVar3 == DAT_00070e90) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003b176;\n      if (7 < DAT_000710cc) goto LAB_0003b117;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003b198;\n    }\n    if ((bVar1 & 4) != 0) goto LAB_0003b0e3;\n    if (7 < DAT_000710cc) goto LAB_0003b117;\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_0003b176:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003b0e3:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) &&\n         (DAT_00070de0 != puVar3)) {\n        uVar4 = FUN_00038c10();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003b117;\n    }\n    if (7 < DAT_000710cc) goto LAB_0003b117;\n    iVar2 = *(int *)(pbVar6 + 4);\nLAB_0003b198:\n    puVar3 = *(undefined4 **)(iVar2 + 0x14);\n  }" { (expression_statement "pbVar5 = pbVar6;" (assignment_expression "pbVar5 = pbVar6" identifier = identifier) ;) (if_statement "if ((bVar1 & 4) != 0) {\nLAB_0003b176:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003b0e3:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) &&\n         (DAT_00070de0 != puVar3)) {\n        uVar4 = FUN_00038c10();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003b117;\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_0003b176:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003b0e3:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) &&\n         (DAT_00070de0 != puVar3)) {\n        uVar4 = FUN_00038c10();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003b117;\n    }" { (labeled_statement "LAB_0003b176:\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_0003b0e3:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) &&\n         (DAT_00070de0 != puVar3)) {\n        uVar4 = FUN_00038c10();\n        fprintf(param_1," %lx",uVar4);\n      }" statement_identifier : (if_statement "if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) &&\n         (DAT_00070de0 != puVar3)) {\n        uVar4 = FUN_00038c10();\n        fprintf(param_1," %lx",uVar4);\n      }" if (parenthesized_expression "((puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) &&\n         (DAT_00070de0 != puVar3))" ( (binary_expression "(puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) &&\n         (DAT_00070de0 != puVar3)" (parenthesized_expression "(puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0))" ( (binary_expression "puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)" identifier != (cast_expression "(undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__bfd_std_section_00067fa4 + 0xc0)" ( (binary_expression "PTR__bfd_std_section_00067fa4 + 0xc0" identifier + number_literal) )))) )) && (parenthesized_expression "(DAT_00070de0 != puVar3)" ( (binary_expression "DAT_00070de0 != puVar3" identifier != identifier) ))) )) (compound_statement "{\n        uVar4 = FUN_00038c10();\n        fprintf(param_1," %lx",uVar4);\n      }" { (expression_statement "uVar4 = FUN_00038c10();" (assignment_expression "uVar4 = FUN_00038c10()" identifier = (call_expression "FUN_00038c10()" 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_0003b117;" goto statement_identifier ;) })) (if_statement "if (7 < DAT_000710cc) goto LAB_0003b117;" if (parenthesized_expression "(7 < DAT_000710cc)" ( (binary_expression "7 < DAT_000710cc" number_literal < identifier) )) (goto_statement "goto LAB_0003b117;" 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_0003b198:\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_00070e90) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003b176;\n      if (7 < DAT_000710cc) goto LAB_0003b117;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003b198;\n    }\n    if ((bVar1 & 4) != 0) goto LAB_0003b0e3;\n    if (7 < DAT_000710cc) goto LAB_0003b117;\n  }" else (compound_statement "{\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if (puVar3 == DAT_00070e90) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003b176;\n      if (7 < DAT_000710cc) goto LAB_0003b117;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003b198;\n    }\n    if ((bVar1 & 4) != 0) goto LAB_0003b0e3;\n    if (7 < DAT_000710cc) goto LAB_0003b117;\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_00070e90) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003b176;\n      if (7 < DAT_000710cc) goto LAB_0003b117;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003b198;\n    }" if (parenthesized_expression "(puVar3 == DAT_00070e90)" ( (binary_expression "puVar3 == DAT_00070e90" identifier == identifier) )) (compound_statement "{\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003b176;\n      if (7 < DAT_000710cc) goto LAB_0003b117;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003b198;\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_0003b176;" 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_0003b176;" goto statement_identifier ;)) (if_statement "if (7 < DAT_000710cc) goto LAB_0003b117;" if (parenthesized_expression "(7 < DAT_000710cc)" ( (binary_expression "7 < DAT_000710cc" number_literal < identifier) )) (goto_statement "goto LAB_0003b117;" 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_0003b198;" goto statement_identifier ;) })) (if_statement "if ((bVar1 & 4) != 0) goto LAB_0003b0e3;" 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_0003b0e3;" goto statement_identifier ;)) (if_statement "if (7 < DAT_000710cc) goto LAB_0003b117;" if (parenthesized_expression "(7 < DAT_000710cc)" ( (binary_expression "7 < DAT_000710cc" number_literal < identifier) )) (goto_statement "goto LAB_0003b117;" goto statement_identifier ;)) }))) (if_statement "if (puVar3 == (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) goto LAB_0003b117;" if (parenthesized_expression "(puVar3 == (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0))" ( (binary_expression "puVar3 == (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)" identifier == (cast_expression "(undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__bfd_std_section_00067fa4 + 0xc0)" ( (binary_expression "PTR__bfd_std_section_00067fa4 + 0xc0" identifier + number_literal) )))) )) (goto_statement "goto LAB_0003b117;" goto statement_identifier ;)) (expression_statement "DAT_000710cc = DAT_000710cc + 1;" (assignment_expression "DAT_000710cc = DAT_000710cc + 1" identifier = (binary_expression "DAT_000710cc + 1" identifier + number_literal)) ;) (expression_statement "puVar8 = &DAT_0004cb05;" (assignment_expression "puVar8 = &DAT_0004cb05" identifier = (pointer_expression "&DAT_0004cb05" & identifier)) ;) (expression_statement "fprintf(param_1,"\n%*s<",DAT_000710cc * 4,&DAT_0004cb05);" (call_expression "fprintf(param_1,"\n%*s<",DAT_000710cc * 4,&DAT_0004cb05)" identifier (argument_list "(param_1,"\n%*s<",DAT_000710cc * 4,&DAT_0004cb05)" ( identifier , (string_literal ""\n%*s<"" " escape_sequence string_content ") , (binary_expression "DAT_000710cc * 4" identifier * number_literal) , (pointer_expression "&DAT_0004cb05" & identifier) ))) ;) (if_statement "if ((*pbVar6 & 1) == 0) {\nLAB_0003b493:\n    FUN_0003aa00(param_1,pbVar6 + 8);\n  }\n  else {\n    if (*(undefined4 **)(pbVar6 + 4) == DAT_00070e90) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003b493;\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_0003b493:\n    FUN_0003aa00(param_1,pbVar6 + 8);\n  }" { (labeled_statement "LAB_0003b493:\n    FUN_0003aa00(param_1,pbVar6 + 8);" statement_identifier : (expression_statement "FUN_0003aa00(param_1,pbVar6 + 8);" (call_expression "FUN_0003aa00(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_00070e90) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003b493;\n    }\n    fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);\n  }" else (compound_statement "{\n    if (*(undefined4 **)(pbVar6 + 4) == DAT_00070e90) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003b493;\n    }\n    fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);\n  }" { (if_statement "if (*(undefined4 **)(pbVar6 + 4) == DAT_00070e90) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003b493;\n    }" if (parenthesized_expression "(*(undefined4 **)(pbVar6 + 4) == DAT_00070e90)" ( (binary_expression "*(undefined4 **)(pbVar6 + 4) == DAT_00070e90" (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_0003b493;\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_0003b493;" 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_000710cc = DAT_000710cc + -1;" (assignment_expression "DAT_000710cc = DAT_000710cc + -1" identifier = (binary_expression "DAT_000710cc + -1" identifier + number_literal)) ;) (labeled_statement "LAB_0003b117:\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_0003aea0(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_0003aee6:\n    pcVar7 = (char *)puVar3[1];\n    if (pcVar7 == (char *)0x0) goto LAB_0003aed3;\nLAB_0003aeed:\n    if (*pcVar7 == '\0') {\n      pcVar7 = "(unnamed)";\n    }\n  }\n  else {\n    if (DAT_00070e90 == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003aee6;\n    }\n    pcVar7 = *(char **)(param_2 + 8);\n    if (pcVar7 != (char *)0x0) goto LAB_0003aeed;\nLAB_0003aed3:\n    pcVar7 = "(unnamed)";\n  }\n  fwrite(&DAT_0004fe00,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_00070e90)) {\n    if (*(undefined **)(pbVar6 + 0x24) != &DAT_00070e20) {\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_0003b025;\nLAB_0003b1bf:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_000371e0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003b1e7;\nLAB_0003b039:\n      iVar2 = FUN_00036f00(pbVar6);\n      if (iVar2 == 0) goto LAB_0003b04d;\nLAB_0003b20f:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00036f70(pbVar6);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003b1bf;\nLAB_0003b025:\n      iVar2 = FUN_000371e0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003b039;\nLAB_0003b1e7:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_00036f00(pbVar6);\n      if (iVar2 != 0) goto LAB_0003b20f;\nLAB_0003b04d:\n      iVar2 = FUN_00036f70(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_0003b400:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00070e90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003b46c;\n          }\n          goto LAB_0003b140;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_00067fa4 + 0xc0) goto LAB_0003b154;\n      goto LAB_0003b08c;\n    }\n    if (DAT_00070e90 == puVar3) {\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003b400;\nLAB_0003b46c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_00067fa4 + 0xc0)\n      goto LAB_0003af9e;\nLAB_0003b154:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003af9e;\n    }\nLAB_0003b140:\n    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) goto LAB_0003b154;\nLAB_0003afb2:\n    if (DAT_00070e90 == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003b290:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003b096;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00070e90 != puVar3) goto LAB_0003b0a8;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003b2c8;\nLAB_0003b3d2:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003b0a2;\n    }\n  }\n  else {\n    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_00067f64)) {\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_0003af9e:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003afb2;\n    }\nLAB_0003b08c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003b290;\nLAB_0003b096:\n    pbVar5 = pbVar6;\n    if ((pbVar6[1] & 4) != 0) {\nLAB_0003b2c8:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00070e90 == puVar3) goto LAB_0003b3d2;\n        goto LAB_0003b0a8;\n      }\n    }\nLAB_0003b0a2:\n    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\n  }\nLAB_0003b0a8:\n  fprintf(param_1," %s",*puVar3);\n  bVar1 = *pbVar6;\n  if ((bVar1 & 1) == 0) {\n    pbVar5 = pbVar6;\n    if ((bVar1 & 4) != 0) {\nLAB_0003b176:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003b0e3:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) &&\n         (DAT_00070de0 != puVar3)) {\n        uVar4 = FUN_00038c10();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003b117;\n    }\n    if (7 < DAT_000710cc) goto LAB_0003b117;\n    iVar2 = *(int *)(pbVar6 + 4);\nLAB_0003b198:\n    puVar3 = *(undefined4 **)(iVar2 + 0x14);\n  }\n  else {\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if (puVar3 == DAT_00070e90) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003b176;\n      if (7 < DAT_000710cc) goto LAB_0003b117;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003b198;\n    }\n    if ((bVar1 & 4) != 0) goto LAB_0003b0e3;\n    if (7 < DAT_000710cc) goto LAB_0003b117;\n  }\n  if (puVar3 == (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) goto LAB_0003b117;\n  DAT_000710cc = DAT_000710cc + 1;\n  puVar8 = &DAT_0004cb05;\n  fprintf(param_1,"\n%*s<",DAT_000710cc * 4,&DAT_0004cb05);\n  if ((*pbVar6 & 1) == 0) {\nLAB_0003b493:\n    FUN_0003aa00(param_1,pbVar6 + 8);\n  }\n  else {\n    if (*(undefined4 **)(pbVar6 + 4) == DAT_00070e90) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003b493;\n    }\n    fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);\n  }\n  fputc(0x3e,param_1);\n  DAT_000710cc = DAT_000710cc + -1;\nLAB_0003b117:\n  fflush(param_1);\n  return;\n}" (primitive_type "void") (function_declarator "FUN_0003aea0(FILE *param_1,byte *param_2)" (identifier "FUN_0003aea0") (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_0003aee6:\n    pcVar7 = (char *)puVar3[1];\n    if (pcVar7 == (char *)0x0) goto LAB_0003aed3;\nLAB_0003aeed:\n    if (*pcVar7 == '\0') {\n      pcVar7 = "(unnamed)";\n    }\n  }\n  else {\n    if (DAT_00070e90 == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003aee6;\n    }\n    pcVar7 = *(char **)(param_2 + 8);\n    if (pcVar7 != (char *)0x0) goto LAB_0003aeed;\nLAB_0003aed3:\n    pcVar7 = "(unnamed)";\n  }\n  fwrite(&DAT_0004fe00,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_00070e90)) {\n    if (*(undefined **)(pbVar6 + 0x24) != &DAT_00070e20) {\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_0003b025;\nLAB_0003b1bf:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_000371e0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003b1e7;\nLAB_0003b039:\n      iVar2 = FUN_00036f00(pbVar6);\n      if (iVar2 == 0) goto LAB_0003b04d;\nLAB_0003b20f:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00036f70(pbVar6);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003b1bf;\nLAB_0003b025:\n      iVar2 = FUN_000371e0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003b039;\nLAB_0003b1e7:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_00036f00(pbVar6);\n      if (iVar2 != 0) goto LAB_0003b20f;\nLAB_0003b04d:\n      iVar2 = FUN_00036f70(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_0003b400:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00070e90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003b46c;\n          }\n          goto LAB_0003b140;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_00067fa4 + 0xc0) goto LAB_0003b154;\n      goto LAB_0003b08c;\n    }\n    if (DAT_00070e90 == puVar3) {\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003b400;\nLAB_0003b46c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_00067fa4 + 0xc0)\n      goto LAB_0003af9e;\nLAB_0003b154:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003af9e;\n    }\nLAB_0003b140:\n    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) goto LAB_0003b154;\nLAB_0003afb2:\n    if (DAT_00070e90 == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003b290:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003b096;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00070e90 != puVar3) goto LAB_0003b0a8;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003b2c8;\nLAB_0003b3d2:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003b0a2;\n    }\n  }\n  else {\n    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_00067f64)) {\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_0003af9e:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003afb2;\n    }\nLAB_0003b08c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003b290;\nLAB_0003b096:\n    pbVar5 = pbVar6;\n    if ((pbVar6[1] & 4) != 0) {\nLAB_0003b2c8:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00070e90 == puVar3) goto LAB_0003b3d2;\n        goto LAB_0003b0a8;\n      }\n    }\nLAB_0003b0a2:\n    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\n  }\nLAB_0003b0a8:\n  fprintf(param_1," %s",*puVar3);\n  bVar1 = *pbVar6;\n  if ((bVar1 & 1) == 0) {\n    pbVar5 = pbVar6;\n    if ((bVar1 & 4) != 0) {\nLAB_0003b176:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003b0e3:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) &&\n         (DAT_00070de0 != puVar3)) {\n        uVar4 = FUN_00038c10();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003b117;\n    }\n    if (7 < DAT_000710cc) goto LAB_0003b117;\n    iVar2 = *(int *)(pbVar6 + 4);\nLAB_0003b198:\n    puVar3 = *(undefined4 **)(iVar2 + 0x14);\n  }\n  else {\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if (puVar3 == DAT_00070e90) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003b176;\n      if (7 < DAT_000710cc) goto LAB_0003b117;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003b198;\n    }\n    if ((bVar1 & 4) != 0) goto LAB_0003b0e3;\n    if (7 < DAT_000710cc) goto LAB_0003b117;\n  }\n  if (puVar3 == (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) goto LAB_0003b117;\n  DAT_000710cc = DAT_000710cc + 1;\n  puVar8 = &DAT_0004cb05;\n  fprintf(param_1,"\n%*s<",DAT_000710cc * 4,&DAT_0004cb05);\n  if ((*pbVar6 & 1) == 0) {\nLAB_0003b493:\n    FUN_0003aa00(param_1,pbVar6 + 8);\n  }\n  else {\n    if (*(undefined4 **)(pbVar6 + 4) == DAT_00070e90) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003b493;\n    }\n    fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);\n  }\n  fputc(0x3e,param_1);\n  DAT_000710cc = DAT_000710cc + -1;\nLAB_0003b117:\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_0003aee6:\n    pcVar7 = (char *)puVar3[1];\n    if (pcVar7 == (char *)0x0) goto LAB_0003aed3;\nLAB_0003aeed:\n    if (*pcVar7 == '\0') {\n      pcVar7 = "(unnamed)";\n    }\n  }\n  else {\n    if (DAT_00070e90 == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003aee6;\n    }\n    pcVar7 = *(char **)(param_2 + 8);\n    if (pcVar7 != (char *)0x0) goto LAB_0003aeed;\nLAB_0003aed3:\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_0003aee6:\n    pcVar7 = (char *)puVar3[1];\n    if (pcVar7 == (char *)0x0) goto LAB_0003aed3;\nLAB_0003aeed:\n    if (*pcVar7 == '\0') {\n      pcVar7 = "(unnamed)";\n    }\n  }" ({ "{") (labeled_statement "LAB_0003aee6:\n    pcVar7 = (char *)puVar3[1];" (statement_identifier "LAB_0003aee6") (: ":") (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_0003aed3;" (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_0003aed3;" (goto "goto") (statement_identifier "LAB_0003aed3") (; ";"))) (labeled_statement "LAB_0003aeed:\n    if (*pcVar7 == '\0') {\n      pcVar7 = "(unnamed)";\n    }" (statement_identifier "LAB_0003aeed") (: ":") (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_00070e90 == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003aee6;\n    }\n    pcVar7 = *(char **)(param_2 + 8);\n    if (pcVar7 != (char *)0x0) goto LAB_0003aeed;\nLAB_0003aed3:\n    pcVar7 = "(unnamed)";\n  }" (else "else") (compound_statement "{\n    if (DAT_00070e90 == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003aee6;\n    }\n    pcVar7 = *(char **)(param_2 + 8);\n    if (pcVar7 != (char *)0x0) goto LAB_0003aeed;\nLAB_0003aed3:\n    pcVar7 = "(unnamed)";\n  }" ({ "{") (if_statement "if (DAT_00070e90 == puVar3) {\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003aee6;\n    }" (if "if") (parenthesized_expression "(DAT_00070e90 == puVar3)" (( "(") (binary_expression "DAT_00070e90 == puVar3" (identifier "DAT_00070e90") (== "==") (identifier "puVar3")) () ")")) (compound_statement "{\n      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);\n      goto LAB_0003aee6;\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_0003aee6;" (goto "goto") (statement_identifier "LAB_0003aee6") (; ";")) (} "}"))) (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_0003aeed;" (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_0003aeed;" (goto "goto") (statement_identifier "LAB_0003aeed") (; ";"))) (labeled_statement "LAB_0003aed3:\n    pcVar7 = "(unnamed)";" (statement_identifier "LAB_0003aed3") (: ":") (expression_statement "pcVar7 = "(unnamed)";" (assignment_expression "pcVar7 = "(unnamed)"" (identifier "pcVar7") (= "=") (string_literal ""(unnamed)"" (" """) (string_content "(unnamed)") (" """))) (; ";"))) (} "}")))) (expression_statement "fwrite(&DAT_0004fe00,1,4,param_1);" (call_expression "fwrite(&DAT_0004fe00,1,4,param_1)" (identifier "fwrite") (argument_list "(&DAT_0004fe00,1,4,param_1)" (( "(") (pointer_expression "&DAT_0004fe00" (& "&") (identifier "DAT_0004fe00")) (, ",") (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_00070e90)) {\n    if (*(undefined **)(pbVar6 + 0x24) != &DAT_00070e20) {\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_0003b025;\nLAB_0003b1bf:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_000371e0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003b1e7;\nLAB_0003b039:\n      iVar2 = FUN_00036f00(pbVar6);\n      if (iVar2 == 0) goto LAB_0003b04d;\nLAB_0003b20f:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00036f70(pbVar6);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003b1bf;\nLAB_0003b025:\n      iVar2 = FUN_000371e0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003b039;\nLAB_0003b1e7:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_00036f00(pbVar6);\n      if (iVar2 != 0) goto LAB_0003b20f;\nLAB_0003b04d:\n      iVar2 = FUN_00036f70(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_0003b400:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00070e90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003b46c;\n          }\n          goto LAB_0003b140;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_00067fa4 + 0xc0) goto LAB_0003b154;\n      goto LAB_0003b08c;\n    }\n    if (DAT_00070e90 == puVar3) {\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003b400;\nLAB_0003b46c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_00067fa4 + 0xc0)\n      goto LAB_0003af9e;\nLAB_0003b154:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003af9e;\n    }\nLAB_0003b140:\n    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) goto LAB_0003b154;\nLAB_0003afb2:\n    if (DAT_00070e90 == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003b290:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003b096;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00070e90 != puVar3) goto LAB_0003b0a8;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003b2c8;\nLAB_0003b3d2:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003b0a2;\n    }\n  }\n  else {\n    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_00067f64)) {\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_0003af9e:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003afb2;\n    }\nLAB_0003b08c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003b290;\nLAB_0003b096:\n    pbVar5 = pbVar6;\n    if ((pbVar6[1] & 4) != 0) {\nLAB_0003b2c8:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00070e90 == puVar3) goto LAB_0003b3d2;\n        goto LAB_0003b0a8;\n      }\n    }\nLAB_0003b0a2:\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_00070e90))" (( "(") (binary_expression "((bVar1 & 1) == 0) ||\n     (pbVar6 = *(byte **)(param_2 + 0xc), *(undefined4 **)(param_2 + 4) == DAT_00070e90)" (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_00070e90)" (( "(") (comma_expression "pbVar6 = *(byte **)(param_2 + 0xc), *(undefined4 **)(param_2 + 4) == DAT_00070e90" (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_00070e90" (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_00070e90"))) () ")"))) () ")")) (compound_statement "{\n    if (*(undefined **)(pbVar6 + 0x24) != &DAT_00070e20) {\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_0003b025;\nLAB_0003b1bf:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_000371e0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003b1e7;\nLAB_0003b039:\n      iVar2 = FUN_00036f00(pbVar6);\n      if (iVar2 == 0) goto LAB_0003b04d;\nLAB_0003b20f:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00036f70(pbVar6);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003b1bf;\nLAB_0003b025:\n      iVar2 = FUN_000371e0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003b039;\nLAB_0003b1e7:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_00036f00(pbVar6);\n      if (iVar2 != 0) goto LAB_0003b20f;\nLAB_0003b04d:\n      iVar2 = FUN_00036f70(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_0003b400:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00070e90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003b46c;\n          }\n          goto LAB_0003b140;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_00067fa4 + 0xc0) goto LAB_0003b154;\n      goto LAB_0003b08c;\n    }\n    if (DAT_00070e90 == puVar3) {\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003b400;\nLAB_0003b46c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_00067fa4 + 0xc0)\n      goto LAB_0003af9e;\nLAB_0003b154:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003af9e;\n    }\nLAB_0003b140:\n    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) goto LAB_0003b154;\nLAB_0003afb2:\n    if (DAT_00070e90 == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003b290:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003b096;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00070e90 != puVar3) goto LAB_0003b0a8;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003b2c8;\nLAB_0003b3d2:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003b0a2;\n    }\n  }" ({ "{") (if_statement "if (*(undefined **)(pbVar6 + 0x24) != &DAT_00070e20) {\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_00070e20)" (( "(") (binary_expression "*(undefined **)(pbVar6 + 0x24) != &DAT_00070e20" (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_00070e20" (& "&") (identifier "DAT_00070e20"))) () ")")) (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_0003b025;\nLAB_0003b1bf:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_000371e0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003b1e7;\nLAB_0003b039:\n      iVar2 = FUN_00036f00(pbVar6);\n      if (iVar2 == 0) goto LAB_0003b04d;\nLAB_0003b20f:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00036f70(pbVar6);\n    }\n    else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003b1bf;\nLAB_0003b025:\n      iVar2 = FUN_000371e0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003b039;\nLAB_0003b1e7:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_00036f00(pbVar6);\n      if (iVar2 != 0) goto LAB_0003b20f;\nLAB_0003b04d:\n      iVar2 = FUN_00036f70(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_0003b025;\nLAB_0003b1bf:\n      fwrite(" used",1,5,param_1);\n      iVar2 = FUN_000371e0(pbVar6);\n      if (iVar2 != 0) goto LAB_0003b1e7;\nLAB_0003b039:\n      iVar2 = FUN_00036f00(pbVar6);\n      if (iVar2 == 0) goto LAB_0003b04d;\nLAB_0003b20f:\n      fwrite(" extern",1,7,param_1);\n      iVar2 = FUN_00036f70(pbVar6);\n    }" ({ "{") (if_statement "if ((bVar1 & 0x20) == 0) goto LAB_0003b025;" (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_0003b025;" (goto "goto") (statement_identifier "LAB_0003b025") (; ";"))) (labeled_statement "LAB_0003b1bf:\n      fwrite(" used",1,5,param_1);" (statement_identifier "LAB_0003b1bf") (: ":") (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_000371e0(pbVar6);" (assignment_expression "iVar2 = FUN_000371e0(pbVar6)" (identifier "iVar2") (= "=") (call_expression "FUN_000371e0(pbVar6)" (identifier "FUN_000371e0") (argument_list "(pbVar6)" (( "(") (identifier "pbVar6") () ")")))) (; ";")) (if_statement "if (iVar2 != 0) goto LAB_0003b1e7;" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0003b1e7;" (goto "goto") (statement_identifier "LAB_0003b1e7") (; ";"))) (labeled_statement "LAB_0003b039:\n      iVar2 = FUN_00036f00(pbVar6);" (statement_identifier "LAB_0003b039") (: ":") (expression_statement "iVar2 = FUN_00036f00(pbVar6);" (assignment_expression "iVar2 = FUN_00036f00(pbVar6)" (identifier "iVar2") (= "=") (call_expression "FUN_00036f00(pbVar6)" (identifier "FUN_00036f00") (argument_list "(pbVar6)" (( "(") (identifier "pbVar6") () ")")))) (; ";"))) (if_statement "if (iVar2 == 0) goto LAB_0003b04d;" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0003b04d;" (goto "goto") (statement_identifier "LAB_0003b04d") (; ";"))) (labeled_statement "LAB_0003b20f:\n      fwrite(" extern",1,7,param_1);" (statement_identifier "LAB_0003b20f") (: ":") (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_00036f70(pbVar6);" (assignment_expression "iVar2 = FUN_00036f70(pbVar6)" (identifier "iVar2") (= "=") (call_expression "FUN_00036f70(pbVar6)" (identifier "FUN_00036f70") (argument_list "(pbVar6)" (( "(") (identifier "pbVar6") () ")")))) (; ";")) (} "}")) (else_clause "else {\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003b1bf;\nLAB_0003b025:\n      iVar2 = FUN_000371e0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003b039;\nLAB_0003b1e7:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_00036f00(pbVar6);\n      if (iVar2 != 0) goto LAB_0003b20f;\nLAB_0003b04d:\n      iVar2 = FUN_00036f70(pbVar6);\n    }" (else "else") (compound_statement "{\n      fwrite(" used-in-reloc",1,0xe,param_1);\n      if ((*pbVar6 & 0x20) != 0) goto LAB_0003b1bf;\nLAB_0003b025:\n      iVar2 = FUN_000371e0(pbVar6);\n      if (iVar2 == 0) goto LAB_0003b039;\nLAB_0003b1e7:\n      fwrite(" local",1,6,param_1);\n      iVar2 = FUN_00036f00(pbVar6);\n      if (iVar2 != 0) goto LAB_0003b20f;\nLAB_0003b04d:\n      iVar2 = FUN_00036f70(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_0003b1bf;" (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_0003b1bf;" (goto "goto") (statement_identifier "LAB_0003b1bf") (; ";"))) (labeled_statement "LAB_0003b025:\n      iVar2 = FUN_000371e0(pbVar6);" (statement_identifier "LAB_0003b025") (: ":") (expression_statement "iVar2 = FUN_000371e0(pbVar6);" (assignment_expression "iVar2 = FUN_000371e0(pbVar6)" (identifier "iVar2") (= "=") (call_expression "FUN_000371e0(pbVar6)" (identifier "FUN_000371e0") (argument_list "(pbVar6)" (( "(") (identifier "pbVar6") () ")")))) (; ";"))) (if_statement "if (iVar2 == 0) goto LAB_0003b039;" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0003b039;" (goto "goto") (statement_identifier "LAB_0003b039") (; ";"))) (labeled_statement "LAB_0003b1e7:\n      fwrite(" local",1,6,param_1);" (statement_identifier "LAB_0003b1e7") (: ":") (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_00036f00(pbVar6);" (assignment_expression "iVar2 = FUN_00036f00(pbVar6)" (identifier "iVar2") (= "=") (call_expression "FUN_00036f00(pbVar6)" (identifier "FUN_00036f00") (argument_list "(pbVar6)" (( "(") (identifier "pbVar6") () ")")))) (; ";")) (if_statement "if (iVar2 != 0) goto LAB_0003b20f;" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0003b20f;" (goto "goto") (statement_identifier "LAB_0003b20f") (; ";"))) (labeled_statement "LAB_0003b04d:\n      iVar2 = FUN_00036f70(pbVar6);" (statement_identifier "LAB_0003b04d") (: ":") (expression_statement "iVar2 = FUN_00036f70(pbVar6);" (assignment_expression "iVar2 = FUN_00036f70(pbVar6)" (identifier "iVar2") (= "=") (call_expression "FUN_00036f70(pbVar6)" (identifier "FUN_00036f70") (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_0003b400:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00070e90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003b46c;\n          }\n          goto LAB_0003b140;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_00067fa4 + 0xc0) goto LAB_0003b154;\n      goto LAB_0003b08c;\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_0003b400:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00070e90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003b46c;\n          }\n          goto LAB_0003b140;\n        }\n      }\n      if ((undefined *)puVar3[5] != PTR__bfd_std_section_00067fa4 + 0xc0) goto LAB_0003b154;\n      goto LAB_0003b08c;\n    }" ({ "{") (if_statement "if ((*(byte *)(puVar3 + 4) & 4) != 0) {\nLAB_0003b400:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00070e90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003b46c;\n          }\n          goto LAB_0003b140;\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_0003b400:\n        fwrite(" debug",1,6,param_1);\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if ((*pbVar6 & 1) != 0) {\n          if (puVar3 == DAT_00070e90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003b46c;\n          }\n          goto LAB_0003b140;\n        }\n      }" ({ "{") (labeled_statement "LAB_0003b400:\n        fwrite(" debug",1,6,param_1);" (statement_identifier "LAB_0003b400") (: ":") (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_00070e90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003b46c;\n          }\n          goto LAB_0003b140;\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_00070e90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003b46c;\n          }\n          goto LAB_0003b140;\n        }" ({ "{") (if_statement "if (puVar3 == DAT_00070e90) {\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003b46c;\n          }" (if "if") (parenthesized_expression "(puVar3 == DAT_00070e90)" (( "(") (binary_expression "puVar3 == DAT_00070e90" (identifier "puVar3") (== "==") (identifier "DAT_00070e90")) () ")")) (compound_statement "{\n            iVar2 = *(int *)(pbVar6 + 0xc);\n            goto LAB_0003b46c;\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_0003b46c;" (goto "goto") (statement_identifier "LAB_0003b46c") (; ";")) (} "}"))) (goto_statement "goto LAB_0003b140;" (goto "goto") (statement_identifier "LAB_0003b140") (; ";")) (} "}"))) (} "}"))) (if_statement "if ((undefined *)puVar3[5] != PTR__bfd_std_section_00067fa4 + 0xc0) goto LAB_0003b154;" (if "if") (parenthesized_expression "((undefined *)puVar3[5] != PTR__bfd_std_section_00067fa4 + 0xc0)" (( "(") (binary_expression "(undefined *)puVar3[5] != PTR__bfd_std_section_00067fa4 + 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_00067fa4 + 0xc0" (identifier "PTR__bfd_std_section_00067fa4") (+ "+") (number_literal "0xc0"))) () ")")) (goto_statement "goto LAB_0003b154;" (goto "goto") (statement_identifier "LAB_0003b154") (; ";"))) (goto_statement "goto LAB_0003b08c;" (goto "goto") (statement_identifier "LAB_0003b08c") (; ";")) (} "}"))) (if_statement "if (DAT_00070e90 == puVar3) {\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003b400;\nLAB_0003b46c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_00067fa4 + 0xc0)\n      goto LAB_0003af9e;\nLAB_0003b154:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003af9e;\n    }" (if "if") (parenthesized_expression "(DAT_00070e90 == puVar3)" (( "(") (binary_expression "DAT_00070e90 == puVar3" (identifier "DAT_00070e90") (== "==") (identifier "puVar3")) () ")")) (compound_statement "{\n      iVar2 = *(int *)(pbVar6 + 0xc);\n      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003b400;\nLAB_0003b46c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_00067fa4 + 0xc0)\n      goto LAB_0003af9e;\nLAB_0003b154:\n      fwrite(" defined",1,8,param_1);\n      goto LAB_0003af9e;\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_0003b400;" (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_0003b400;" (goto "goto") (statement_identifier "LAB_0003b400") (; ";"))) (labeled_statement "LAB_0003b46c:\n      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_00067fa4 + 0xc0)\n      goto LAB_0003af9e;" (statement_identifier "LAB_0003b46c") (: ":") (if_statement "if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_00067fa4 + 0xc0)\n      goto LAB_0003af9e;" (if "if") (parenthesized_expression "(*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_00067fa4 + 0xc0)" (( "(") (binary_expression "*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_00067fa4 + 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_00067fa4 + 0xc0" (identifier "PTR__bfd_std_section_00067fa4") (+ "+") (number_literal "0xc0"))) () ")")) (goto_statement "goto LAB_0003af9e;" (goto "goto") (statement_identifier "LAB_0003af9e") (; ";")))) (labeled_statement "LAB_0003b154:\n      fwrite(" defined",1,8,param_1);" (statement_identifier "LAB_0003b154") (: ":") (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_0003af9e;" (goto "goto") (statement_identifier "LAB_0003af9e") (; ";")) (} "}"))) (labeled_statement "LAB_0003b140:\n    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) goto LAB_0003b154;" (statement_identifier "LAB_0003b140") (: ":") (if_statement "if (puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) goto LAB_0003b154;" (if "if") (parenthesized_expression "(puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0))" (( "(") (binary_expression "puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)" (identifier "puVar3") (!= "!=") (cast_expression "(undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR__bfd_std_section_00067fa4 + 0xc0)" (( "(") (binary_expression "PTR__bfd_std_section_00067fa4 + 0xc0" (identifier "PTR__bfd_std_section_00067fa4") (+ "+") (number_literal "0xc0")) () ")")))) () ")")) (goto_statement "goto LAB_0003b154;" (goto "goto") (statement_identifier "LAB_0003b154") (; ";")))) (labeled_statement "LAB_0003afb2:\n    if (DAT_00070e90 == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003b290:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003b096;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00070e90 != puVar3) goto LAB_0003b0a8;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003b2c8;\nLAB_0003b3d2:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003b0a2;\n    }" (statement_identifier "LAB_0003afb2") (: ":") (if_statement "if (DAT_00070e90 == puVar3) {\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003b290:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003b096;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00070e90 != puVar3) goto LAB_0003b0a8;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003b2c8;\nLAB_0003b3d2:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003b0a2;\n    }" (if "if") (parenthesized_expression "(DAT_00070e90 == puVar3)" (( "(") (binary_expression "DAT_00070e90 == puVar3" (identifier "DAT_00070e90") (== "==") (identifier "puVar3")) () ")")) (compound_statement "{\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003b290:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003b096;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00070e90 != puVar3) goto LAB_0003b0a8;\n      }\n      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003b2c8;\nLAB_0003b3d2:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003b0a2;\n    }" ({ "{") (if_statement "if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {\nLAB_0003b290:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003b096;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00070e90 != puVar3) goto LAB_0003b0a8;\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_0003b290:\n        fwrite(" weakrefr",1,9,param_1);\n        if ((*pbVar6 & 1) == 0) goto LAB_0003b096;\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00070e90 != puVar3) goto LAB_0003b0a8;\n      }" ({ "{") (labeled_statement "LAB_0003b290:\n        fwrite(" weakrefr",1,9,param_1);" (statement_identifier "LAB_0003b290") (: ":") (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_0003b096;" (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_0003b096;" (goto "goto") (statement_identifier "LAB_0003b096") (; ";"))) (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_00070e90 != puVar3) goto LAB_0003b0a8;" (if "if") (parenthesized_expression "(DAT_00070e90 != puVar3)" (( "(") (binary_expression "DAT_00070e90 != puVar3" (identifier "DAT_00070e90") (!= "!=") (identifier "puVar3")) () ")")) (goto_statement "goto LAB_0003b0a8;" (goto "goto") (statement_identifier "LAB_0003b0a8") (; ";"))) (} "}"))) (if_statement "if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003b2c8;" (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_0003b2c8;" (goto "goto") (statement_identifier "LAB_0003b2c8") (; ";"))) (labeled_statement "LAB_0003b3d2:\n      pbVar5 = *(byte **)(pbVar6 + 0xc);" (statement_identifier "LAB_0003b3d2") (: ":") (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_0003b0a2;" (goto "goto") (statement_identifier "LAB_0003b0a2") (; ";")) (} "}")))) (} "}")) (else_clause "else {\n    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_00067f64)) {\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_0003af9e:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003afb2;\n    }\nLAB_0003b08c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003b290;\nLAB_0003b096:\n    pbVar5 = pbVar6;\n    if ((pbVar6[1] & 4) != 0) {\nLAB_0003b2c8:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00070e90 == puVar3) goto LAB_0003b3d2;\n        goto LAB_0003b0a8;\n      }\n    }\nLAB_0003b0a2:\n    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\n  }" (else "else") (compound_statement "{\n    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_00067f64)) {\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_0003af9e:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003afb2;\n    }\nLAB_0003b08c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003b290;\nLAB_0003b096:\n    pbVar5 = pbVar6;\n    if ((pbVar6[1] & 4) != 0) {\nLAB_0003b2c8:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00070e90 == puVar3) goto LAB_0003b3d2;\n        goto LAB_0003b0a8;\n      }\n    }\nLAB_0003b0a2:\n    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\n  }" ({ "{") (if_statement "if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_00067f64)) {\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_00067f64))" (( "(") (binary_expression "(pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_00067f64)" (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_00067f64)" (( "(") (binary_expression "pbVar6 != PTR_DAT_00067f64" (identifier "pbVar6") (!= "!=") (identifier "PTR_DAT_00067f64")) () ")"))) () ")")) (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_0003af9e:\n    if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003afb2;\n    }" (statement_identifier "LAB_0003af9e") (: ":") (if_statement "if ((*pbVar6 & 1) != 0) {\n      puVar3 = *(undefined4 **)(pbVar6 + 4);\n      goto LAB_0003afb2;\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_0003afb2;\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_0003afb2;" (goto "goto") (statement_identifier "LAB_0003afb2") (; ";")) (} "}")))) (labeled_statement "LAB_0003b08c:\n    if ((pbVar6[1] & 2) != 0) goto LAB_0003b290;" (statement_identifier "LAB_0003b08c") (: ":") (if_statement "if ((pbVar6[1] & 2) != 0) goto LAB_0003b290;" (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_0003b290;" (goto "goto") (statement_identifier "LAB_0003b290") (; ";")))) (labeled_statement "LAB_0003b096:\n    pbVar5 = pbVar6;" (statement_identifier "LAB_0003b096") (: ":") (expression_statement "pbVar5 = pbVar6;" (assignment_expression "pbVar5 = pbVar6" (identifier "pbVar5") (= "=") (identifier "pbVar6")) (; ";"))) (if_statement "if ((pbVar6[1] & 4) != 0) {\nLAB_0003b2c8:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00070e90 == puVar3) goto LAB_0003b3d2;\n        goto LAB_0003b0a8;\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_0003b2c8:\n      fwrite(" weakrefd",1,9,param_1);\n      pbVar5 = pbVar6;\n      if ((*pbVar6 & 1) != 0) {\n        puVar3 = *(undefined4 **)(pbVar6 + 4);\n        if (DAT_00070e90 == puVar3) goto LAB_0003b3d2;\n        goto LAB_0003b0a8;\n      }\n    }" ({ "{") (labeled_statement "LAB_0003b2c8:\n      fwrite(" weakrefd",1,9,param_1);" (statement_identifier "LAB_0003b2c8") (: ":") (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_00070e90 == puVar3) goto LAB_0003b3d2;\n        goto LAB_0003b0a8;\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_00070e90 == puVar3) goto LAB_0003b3d2;\n        goto LAB_0003b0a8;\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_00070e90 == puVar3) goto LAB_0003b3d2;" (if "if") (parenthesized_expression "(DAT_00070e90 == puVar3)" (( "(") (binary_expression "DAT_00070e90 == puVar3" (identifier "DAT_00070e90") (== "==") (identifier "puVar3")) () ")")) (goto_statement "goto LAB_0003b3d2;" (goto "goto") (statement_identifier "LAB_0003b3d2") (; ";"))) (goto_statement "goto LAB_0003b0a8;" (goto "goto") (statement_identifier "LAB_0003b0a8") (; ";")) (} "}"))) (} "}"))) (labeled_statement "LAB_0003b0a2:\n    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);" (statement_identifier "LAB_0003b0a2") (: ":") (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_0003b0a8:\n  fprintf(param_1," %s",*puVar3);" (statement_identifier "LAB_0003b0a8") (: ":") (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_0003b176:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003b0e3:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) &&\n         (DAT_00070de0 != puVar3)) {\n        uVar4 = FUN_00038c10();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003b117;\n    }\n    if (7 < DAT_000710cc) goto LAB_0003b117;\n    iVar2 = *(int *)(pbVar6 + 4);\nLAB_0003b198:\n    puVar3 = *(undefined4 **)(iVar2 + 0x14);\n  }\n  else {\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if (puVar3 == DAT_00070e90) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003b176;\n      if (7 < DAT_000710cc) goto LAB_0003b117;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003b198;\n    }\n    if ((bVar1 & 4) != 0) goto LAB_0003b0e3;\n    if (7 < DAT_000710cc) goto LAB_0003b117;\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_0003b176:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003b0e3:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) &&\n         (DAT_00070de0 != puVar3)) {\n        uVar4 = FUN_00038c10();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003b117;\n    }\n    if (7 < DAT_000710cc) goto LAB_0003b117;\n    iVar2 = *(int *)(pbVar6 + 4);\nLAB_0003b198:\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_0003b176:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003b0e3:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) &&\n         (DAT_00070de0 != puVar3)) {\n        uVar4 = FUN_00038c10();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003b117;\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_0003b176:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);\nLAB_0003b0e3:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) &&\n         (DAT_00070de0 != puVar3)) {\n        uVar4 = FUN_00038c10();\n        fprintf(param_1," %lx",uVar4);\n      }\n      goto LAB_0003b117;\n    }" ({ "{") (labeled_statement "LAB_0003b176:\n      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);" (statement_identifier "LAB_0003b176") (: ":") (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_0003b0e3:\n      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) &&\n         (DAT_00070de0 != puVar3)) {\n        uVar4 = FUN_00038c10();\n        fprintf(param_1," %lx",uVar4);\n      }" (statement_identifier "LAB_0003b0e3") (: ":") (if_statement "if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) &&\n         (DAT_00070de0 != puVar3)) {\n        uVar4 = FUN_00038c10();\n        fprintf(param_1," %lx",uVar4);\n      }" (if "if") (parenthesized_expression "((puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) &&\n         (DAT_00070de0 != puVar3))" (( "(") (binary_expression "(puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) &&\n         (DAT_00070de0 != puVar3)" (parenthesized_expression "(puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0))" (( "(") (binary_expression "puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)" (identifier "puVar3") (!= "!=") (cast_expression "(undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR__bfd_std_section_00067fa4 + 0xc0)" (( "(") (binary_expression "PTR__bfd_std_section_00067fa4 + 0xc0" (identifier "PTR__bfd_std_section_00067fa4") (+ "+") (number_literal "0xc0")) () ")")))) () ")")) (&& "&&") (parenthesized_expression "(DAT_00070de0 != puVar3)" (( "(") (binary_expression "DAT_00070de0 != puVar3" (identifier "DAT_00070de0") (!= "!=") (identifier "puVar3")) () ")"))) () ")")) (compound_statement "{\n        uVar4 = FUN_00038c10();\n        fprintf(param_1," %lx",uVar4);\n      }" ({ "{") (expression_statement "uVar4 = FUN_00038c10();" (assignment_expression "uVar4 = FUN_00038c10()" (identifier "uVar4") (= "=") (call_expression "FUN_00038c10()" (identifier "FUN_00038c10") (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_0003b117;" (goto "goto") (statement_identifier "LAB_0003b117") (; ";")) (} "}"))) (if_statement "if (7 < DAT_000710cc) goto LAB_0003b117;" (if "if") (parenthesized_expression "(7 < DAT_000710cc)" (( "(") (binary_expression "7 < DAT_000710cc" (number_literal "7") (< "<") (identifier "DAT_000710cc")) () ")")) (goto_statement "goto LAB_0003b117;" (goto "goto") (statement_identifier "LAB_0003b117") (; ";"))) (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_0003b198:\n    puVar3 = *(undefined4 **)(iVar2 + 0x14);" (statement_identifier "LAB_0003b198") (: ":") (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_00070e90) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003b176;\n      if (7 < DAT_000710cc) goto LAB_0003b117;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003b198;\n    }\n    if ((bVar1 & 4) != 0) goto LAB_0003b0e3;\n    if (7 < DAT_000710cc) goto LAB_0003b117;\n  }" (else "else") (compound_statement "{\n    puVar3 = *(undefined4 **)(pbVar6 + 4);\n    if (puVar3 == DAT_00070e90) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003b176;\n      if (7 < DAT_000710cc) goto LAB_0003b117;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003b198;\n    }\n    if ((bVar1 & 4) != 0) goto LAB_0003b0e3;\n    if (7 < DAT_000710cc) goto LAB_0003b117;\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_00070e90) {\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003b176;\n      if (7 < DAT_000710cc) goto LAB_0003b117;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003b198;\n    }" (if "if") (parenthesized_expression "(puVar3 == DAT_00070e90)" (( "(") (binary_expression "puVar3 == DAT_00070e90" (identifier "puVar3") (== "==") (identifier "DAT_00070e90")) () ")")) (compound_statement "{\n      pbVar5 = *(byte **)(pbVar6 + 0xc);\n      if ((*pbVar5 & 4) != 0) goto LAB_0003b176;\n      if (7 < DAT_000710cc) goto LAB_0003b117;\n      iVar2 = *(int *)(pbVar5 + 4);\n      goto LAB_0003b198;\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_0003b176;" (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_0003b176;" (goto "goto") (statement_identifier "LAB_0003b176") (; ";"))) (if_statement "if (7 < DAT_000710cc) goto LAB_0003b117;" (if "if") (parenthesized_expression "(7 < DAT_000710cc)" (( "(") (binary_expression "7 < DAT_000710cc" (number_literal "7") (< "<") (identifier "DAT_000710cc")) () ")")) (goto_statement "goto LAB_0003b117;" (goto "goto") (statement_identifier "LAB_0003b117") (; ";"))) (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_0003b198;" (goto "goto") (statement_identifier "LAB_0003b198") (; ";")) (} "}"))) (if_statement "if ((bVar1 & 4) != 0) goto LAB_0003b0e3;" (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_0003b0e3;" (goto "goto") (statement_identifier "LAB_0003b0e3") (; ";"))) (if_statement "if (7 < DAT_000710cc) goto LAB_0003b117;" (if "if") (parenthesized_expression "(7 < DAT_000710cc)" (( "(") (binary_expression "7 < DAT_000710cc" (number_literal "7") (< "<") (identifier "DAT_000710cc")) () ")")) (goto_statement "goto LAB_0003b117;" (goto "goto") (statement_identifier "LAB_0003b117") (; ";"))) (} "}")))) (if_statement "if (puVar3 == (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) goto LAB_0003b117;" (if "if") (parenthesized_expression "(puVar3 == (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0))" (( "(") (binary_expression "puVar3 == (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)" (identifier "puVar3") (== "==") (cast_expression "(undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR__bfd_std_section_00067fa4 + 0xc0)" (( "(") (binary_expression "PTR__bfd_std_section_00067fa4 + 0xc0" (identifier "PTR__bfd_std_section_00067fa4") (+ "+") (number_literal "0xc0")) () ")")))) () ")")) (goto_statement "goto LAB_0003b117;" (goto "goto") (statement_identifier "LAB_0003b117") (; ";"))) (expression_statement "DAT_000710cc = DAT_000710cc + 1;" (assignment_expression "DAT_000710cc = DAT_000710cc + 1" (identifier "DAT_000710cc") (= "=") (binary_expression "DAT_000710cc + 1" (identifier "DAT_000710cc") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar8 = &DAT_0004cb05;" (assignment_expression "puVar8 = &DAT_0004cb05" (identifier "puVar8") (= "=") (pointer_expression "&DAT_0004cb05" (& "&") (identifier "DAT_0004cb05"))) (; ";")) (expression_statement "fprintf(param_1,"\n%*s<",DAT_000710cc * 4,&DAT_0004cb05);" (call_expression "fprintf(param_1,"\n%*s<",DAT_000710cc * 4,&DAT_0004cb05)" (identifier "fprintf") (argument_list "(param_1,"\n%*s<",DAT_000710cc * 4,&DAT_0004cb05)" (( "(") (identifier "param_1") (, ",") (string_literal ""\n%*s<"" (" """) (escape_sequence "\n") (string_content "%*s<") (" """)) (, ",") (binary_expression "DAT_000710cc * 4" (identifier "DAT_000710cc") (* "*") (number_literal "4")) (, ",") (pointer_expression "&DAT_0004cb05" (& "&") (identifier "DAT_0004cb05")) () ")"))) (; ";")) (if_statement "if ((*pbVar6 & 1) == 0) {\nLAB_0003b493:\n    FUN_0003aa00(param_1,pbVar6 + 8);\n  }\n  else {\n    if (*(undefined4 **)(pbVar6 + 4) == DAT_00070e90) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003b493;\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_0003b493:\n    FUN_0003aa00(param_1,pbVar6 + 8);\n  }" ({ "{") (labeled_statement "LAB_0003b493:\n    FUN_0003aa00(param_1,pbVar6 + 8);" (statement_identifier "LAB_0003b493") (: ":") (expression_statement "FUN_0003aa00(param_1,pbVar6 + 8);" (call_expression "FUN_0003aa00(param_1,pbVar6 + 8)" (identifier "FUN_0003aa00") (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_00070e90) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003b493;\n    }\n    fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);\n  }" (else "else") (compound_statement "{\n    if (*(undefined4 **)(pbVar6 + 4) == DAT_00070e90) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003b493;\n    }\n    fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);\n  }" ({ "{") (if_statement "if (*(undefined4 **)(pbVar6 + 4) == DAT_00070e90) {\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003b493;\n    }" (if "if") (parenthesized_expression "(*(undefined4 **)(pbVar6 + 4) == DAT_00070e90)" (( "(") (binary_expression "*(undefined4 **)(pbVar6 + 4) == DAT_00070e90" (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_00070e90")) () ")")) (compound_statement "{\n      pbVar6 = *(byte **)(pbVar6 + 0xc);\n      goto LAB_0003b493;\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_0003b493;" (goto "goto") (statement_identifier "LAB_0003b493") (; ";")) (} "}"))) (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_000710cc = DAT_000710cc + -1;" (assignment_expression "DAT_000710cc = DAT_000710cc + -1" (identifier "DAT_000710cc") (= "=") (binary_expression "DAT_000710cc + -1" (identifier "DAT_000710cc") (+ "+") (number_literal "-1"))) (; ";")) (labeled_statement "LAB_0003b117:\n  fflush(param_1);" (statement_identifier "LAB_0003b117") (: ":") (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_0003aee6:
    var_1 = (type_2 *)var_3->id;
    if (var_1 == (type_2 *)0x0) goto LAB_0003aed3;
LAB_0003aeed:
    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_0003aee6;
    }
    var_1 = (sym->sy_value).X_add_symbol;
    if (var_1 != (type_2 *)0x0) goto LAB_0003aeed;
LAB_0003aed3:
    var_1 = (type_2 *)"(unnamed)";
  }
  var_4(&DAT_0004fe00,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_0003b025;
LAB_0003b1bf:
      var_4(" used",1,5,(type_1 *)file);
      var_8 = var_7(var_1);
      if (var_8 != 0) goto LAB_0003b1e7;
LAB_0003b039:
      var_8 = var_9(var_1);
      if (var_8 == 0) goto LAB_0003b04d;
LAB_0003b20f:
      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_0003b1bf;
LAB_0003b025:
      var_8 = var_7(var_1);
      if (var_8 == 0) goto LAB_0003b039;
LAB_0003b1e7:
      var_4(" local",1,6,(type_1 *)file);
      var_8 = var_9(var_1);
      if (var_8 != 0) goto LAB_0003b20f;
LAB_0003b04d:
      var_8 = var_10(var_1);
    }
    if (var_8 != 0) {
      var_4(&DAT_0004fe4e,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_0003b400:
        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_0003b46c;
          }
          goto LAB_0003b140;
        }
      }
      if ((type_8 *)var_3->flags != var_11 + 0xc0) goto LAB_0003b154;
      goto LAB_0003b08c;
    }
    if (var_2 == var_3) {
      psVar5 = (var_1->sy_value).X_op_symbol;
      if ((psVar5->bsym->flags & 4) != 0) goto LAB_0003b400;
LAB_0003b46c:
      if (psVar5->bsym->section == (type_10 *)(var_11 + 0xc0))
      goto LAB_0003af9e;
LAB_0003b154:
      var_4(" defined",1,8,(type_1 *)file);
      goto LAB_0003af9e;
    }
LAB_0003b140:
    if (var_3 != (type_5)(var_11 + 0xc0)) goto LAB_0003b154;
LAB_0003afb2:
    if (var_2 == var_3) {
      if (((((var_1->sy_value).X_op_symbol)->sy_flags).field_0x1 & 2) != 0) {
LAB_0003b290:
        var_4(" weakrefr",1,9,(type_1 *)file);
        if (((type_9)var_1->sy_flags & 1) == 0) goto LAB_0003b096;
        var_3 = (type_5)var_1->bsym;
        if (var_2 != var_3) goto LAB_0003b0a8;
      }
      if (((((var_1->sy_value).X_op_symbol)->sy_flags).field_0x1 & 4) != 0) goto LAB_0003b2c8;
LAB_0003b3d2:
      psVar5 = (var_1->sy_value).X_op_symbol;
      goto LAB_0003b0a2;
    }
  }
  else {
    if ((var_1 != (type_2 *)0x0) && (var_1 != (type_2 *)PTR_zero_address_frag_00067f64)) {
      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_0003af9e:
    if (((type_9)var_1->sy_flags & 1) != 0) {
      var_3 = (type_5)var_1->bsym;
      goto LAB_0003afb2;
    }
LAB_0003b08c:
    if (((var_1->sy_flags).field_0x1 & 2) != 0) goto LAB_0003b290;
LAB_0003b096:
    psVar5 = var_1;
    if (((var_1->sy_flags).field_0x1 & 4) != 0) {
LAB_0003b2c8:
      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_0003b3d2;
        goto LAB_0003b0a8;
      }
    }
LAB_0003b0a2:
    var_3 = psVar5->bsym->section;
  }
LAB_0003b0a8:
  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_0003b176:
      var_3 = psVar5->bsym->section;
LAB_0003b0e3:
      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_0003b117;
    }
    if (7 < var_14) goto LAB_0003b117;
    paVar6 = var_1->bsym;
LAB_0003b198:
    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_0003b176;
      if (7 < var_14) goto LAB_0003b117;
      paVar6 = psVar5->bsym;
      goto LAB_0003b198;
    }
    if (((type_9)sVar1 & 4) != 0) goto LAB_0003b0e3;
    if (7 < var_14) goto LAB_0003b117;
  }
  if (var_3 == (type_5)(var_11 + 0xc0)) goto LAB_0003b117;
  var_14 = var_14 + 1;
  puVar9 = &DAT_0004cb05;
  var_5((type_1 *)file,"\n%*s<",var_14 * 4,&DAT_0004cb05);
  if (((type_9)var_1->sy_flags & 1) == 0) {
LAB_0003b493:
    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_0003b493;
    }
    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_0003b117:
  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_0003aee6:
    pcVar7 = (char *)puVar3[1];
    if (pcVar7 == (char *)0x0) goto LAB_0003aed3;
LAB_0003aeed:
    if (*pcVar7 == '\0') {
      pcVar7 = "(unnamed)";
    }
  }
  else {
    if (DAT_00070e90 == puVar3) {
      puVar3 = *(undefined4 **)(*(int *)(param_2 + 0xc) + 4);
      goto LAB_0003aee6;
    }
    pcVar7 = *(char **)(param_2 + 8);
    if (pcVar7 != (char *)0x0) goto LAB_0003aeed;
LAB_0003aed3:
    pcVar7 = "(unnamed)";
  }
  fwrite(&DAT_0004fe00,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_00070e90)) {
    if (*(undefined **)(pbVar6 + 0x24) != &DAT_00070e20) {
      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_0003b025;
LAB_0003b1bf:
      fwrite(" used",1,5,param_1);
      iVar2 = FUN_000371e0(pbVar6);
      if (iVar2 != 0) goto LAB_0003b1e7;
LAB_0003b039:
      iVar2 = FUN_00036f00(pbVar6);
      if (iVar2 == 0) goto LAB_0003b04d;
LAB_0003b20f:
      fwrite(" extern",1,7,param_1);
      iVar2 = FUN_00036f70(pbVar6);
    }
    else {
      fwrite(" used-in-reloc",1,0xe,param_1);
      if ((*pbVar6 & 0x20) != 0) goto LAB_0003b1bf;
LAB_0003b025:
      iVar2 = FUN_000371e0(pbVar6);
      if (iVar2 == 0) goto LAB_0003b039;
LAB_0003b1e7:
      fwrite(" local",1,6,param_1);
      iVar2 = FUN_00036f00(pbVar6);
      if (iVar2 != 0) goto LAB_0003b20f;
LAB_0003b04d:
      iVar2 = FUN_00036f70(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_0003b400:
        fwrite(" debug",1,6,param_1);
        puVar3 = *(undefined4 **)(pbVar6 + 4);
        if ((*pbVar6 & 1) != 0) {
          if (puVar3 == DAT_00070e90) {
            iVar2 = *(int *)(pbVar6 + 0xc);
            goto LAB_0003b46c;
          }
          goto LAB_0003b140;
        }
      }
      if ((undefined *)puVar3[5] != PTR__bfd_std_section_00067fa4 + 0xc0) goto LAB_0003b154;
      goto LAB_0003b08c;
    }
    if (DAT_00070e90 == puVar3) {
      iVar2 = *(int *)(pbVar6 + 0xc);
      if ((*(byte *)(*(int *)(iVar2 + 4) + 0x10) & 4) != 0) goto LAB_0003b400;
LAB_0003b46c:
      if (*(undefined **)(*(int *)(iVar2 + 4) + 0x14) == PTR__bfd_std_section_00067fa4 + 0xc0)
      goto LAB_0003af9e;
LAB_0003b154:
      fwrite(" defined",1,8,param_1);
      goto LAB_0003af9e;
    }
LAB_0003b140:
    if (puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) goto LAB_0003b154;
LAB_0003afb2:
    if (DAT_00070e90 == puVar3) {
      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 2) != 0) {
LAB_0003b290:
        fwrite(" weakrefr",1,9,param_1);
        if ((*pbVar6 & 1) == 0) goto LAB_0003b096;
        puVar3 = *(undefined4 **)(pbVar6 + 4);
        if (DAT_00070e90 != puVar3) goto LAB_0003b0a8;
      }
      if ((*(byte *)(*(int *)(pbVar6 + 0xc) + 1) & 4) != 0) goto LAB_0003b2c8;
LAB_0003b3d2:
      pbVar5 = *(byte **)(pbVar6 + 0xc);
      goto LAB_0003b0a2;
    }
  }
  else {
    if ((pbVar6 != (byte *)0x0) && (pbVar6 != PTR_DAT_00067f64)) {
      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_0003af9e:
    if ((*pbVar6 & 1) != 0) {
      puVar3 = *(undefined4 **)(pbVar6 + 4);
      goto LAB_0003afb2;
    }
LAB_0003b08c:
    if ((pbVar6[1] & 2) != 0) goto LAB_0003b290;
LAB_0003b096:
    pbVar5 = pbVar6;
    if ((pbVar6[1] & 4) != 0) {
LAB_0003b2c8:
      fwrite(" weakrefd",1,9,param_1);
      pbVar5 = pbVar6;
      if ((*pbVar6 & 1) != 0) {
        puVar3 = *(undefined4 **)(pbVar6 + 4);
        if (DAT_00070e90 == puVar3) goto LAB_0003b3d2;
        goto LAB_0003b0a8;
      }
    }
LAB_0003b0a2:
    puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);
  }
LAB_0003b0a8:
  fprintf(param_1," %s",*puVar3);
  bVar1 = *pbVar6;
  if ((bVar1 & 1) == 0) {
    pbVar5 = pbVar6;
    if ((bVar1 & 4) != 0) {
LAB_0003b176:
      puVar3 = *(undefined4 **)(*(int *)(pbVar5 + 4) + 0x14);
LAB_0003b0e3:
      if ((puVar3 != (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) &&
         (DAT_00070de0 != puVar3)) {
        uVar4 = FUN_00038c10();
        fprintf(param_1," %lx",uVar4);
      }
      goto LAB_0003b117;
    }
    if (7 < DAT_000710cc) goto LAB_0003b117;
    iVar2 = *(int *)(pbVar6 + 4);
LAB_0003b198:
    puVar3 = *(undefined4 **)(iVar2 + 0x14);
  }
  else {
    puVar3 = *(undefined4 **)(pbVar6 + 4);
    if (puVar3 == DAT_00070e90) {
      pbVar5 = *(byte **)(pbVar6 + 0xc);
      if ((*pbVar5 & 4) != 0) goto LAB_0003b176;
      if (7 < DAT_000710cc) goto LAB_0003b117;
      iVar2 = *(int *)(pbVar5 + 4);
      goto LAB_0003b198;
    }
    if ((bVar1 & 4) != 0) goto LAB_0003b0e3;
    if (7 < DAT_000710cc) goto LAB_0003b117;
  }
  if (puVar3 == (undefined4 *)(PTR__bfd_std_section_00067fa4 + 0xc0)) goto LAB_0003b117;
  DAT_000710cc = DAT_000710cc + 1;
  puVar8 = &DAT_0004cb05;
  fprintf(param_1,"\n%*s<",DAT_000710cc * 4,&DAT_0004cb05);
  if ((*pbVar6 & 1) == 0) {
LAB_0003b493:
    FUN_0003aa00(param_1,pbVar6 + 8);
  }
  else {
    if (*(undefined4 **)(pbVar6 + 4) == DAT_00070e90) {
      pbVar6 = *(byte **)(pbVar6 + 0xc);
      goto LAB_0003b493;
    }
    fprintf(param_1,"constant %lx",*(undefined4 *)(pbVar6 + 0x10),puVar8);
  }
  fputc(0x3e,param_1);
  DAT_000710cc = DAT_000710cc + -1;
LAB_0003b117:
  fflush(param_1);
  return;
}

