
/* WARNING: Type propagation algorithm not settling */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original prototype: void do_write(Output_data_glink<32,_false> * this, Output_file * of) */

void __thiscall
anon_unknown.dwarf_6a1ea8::Output_data_glink<32,_false>::do_write
          (Output_data_glink<32,_false> *this,Output_file *of)

{
  byte bVar1;
  size_t size;
  long lVar2;
  Output_data_plt_powerpc<32,_false> *pOVar3;
  Output_data_got_powerpc<32,_false> *pOVar4;
  General_options *pGVar5;
  undefined8 uVar6;
  int iVar7;
  int iVar8;
  int *piVar9;
  int *piVar10;
  Output_file *in_RCX;
  int *piVar11;
  int *piVar12;
  uint uVar13;
  uint uVar14;
  int iVar15;
  
  bVar1 = this->field_0x20;
  if ((bVar1 & 4) == 0) {
                    /* WARNING: Subroutine does not return */
    gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");
  }
  size = *(size_t *)&this->field_0x18;
  if ((bVar1 & 2) == 0) {
                    /* WARNING: Subroutine does not return */
    gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");
  }
  lVar2 = *(long *)&this->field_0x10;
  if (((long)size < 0) || (of->file_size_ < (long)(size + lVar2))) {
    gold::Output_file::get_output_view((Output_file *)this,(off_t)of,size,in_RCX);
  }
  else {
    piVar11 = (int *)(of->base_ + size);
    pOVar3 = this->targ_->plt_;
    if (pOVar3 != (Output_data_plt_powerpc<32,_false> *)0x0) {
      if (((pOVar3->super_Output_section_data_build).super_Output_section_data.super_Output_data.
           field_0x20 & 1) != 0) {
        pOVar4 = this->targ_->got_;
        if (pOVar4 == (Output_data_got_powerpc<32,_false> *)0x0) {
                    /* WARNING: Subroutine does not return */
          Target_powerpc<32,_false>::got_section((Target_powerpc<32,_false> *)this);
        }
        if (((pOVar4->super_Output_data_got<32,_false>).super_Output_data_got_base.
             super_Output_section_data_build.super_Output_section_data.super_Output_data.field_0x20
            & 1) != 0) {
          iVar15 = (int)(pOVar4->super_Output_data_got<32,_false>).super_Output_data_got_base.
                        super_Output_section_data_build.super_Output_section_data.super_Output_data.
                        address_ + pOVar4->header_index_ * 4;
          iVar7 = (int)lVar2;
          piVar12 = (int *)((ulong)(iVar7 - 0x40) + (long)piVar11);
          piVar10 = piVar11;
          if (piVar11 < piVar12 + -8) {
            do {
              piVar9 = piVar10 + 1;
              *piVar10 = ((int)piVar12 + 0x48000000) - (int)piVar10;
              piVar10 = piVar9;
            } while (piVar9 < piVar12 + -8);
            piVar10 = (int *)((long)piVar11 +
                             ((long)piVar12 + (-0x21 - (long)piVar11) & 0xfffffffffffffffcU) + 4);
          }
          piVar9 = piVar10;
          if (piVar10 < piVar12) {
            do {
              *piVar9 = 0x60000000;
              piVar9 = piVar9 + 1;
            } while (piVar9 < piVar12);
            piVar10 = (int *)((long)piVar10 +
                             ((long)piVar12 + (-1 - (long)piVar10) & 0xfffffffffffffffcU) + 4);
          }
          pGVar5 = gold::parameters->options_;
          if (pGVar5 == (General_options *)0x0) {
                    /* WARNING: Subroutine does not return */
            gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
          }
          if (((pGVar5->shared_).value == false) && ((pGVar5->pie_).value == false)) {
            if ((bVar1 & 1) != 0) {
              uVar6 = *(undefined8 *)&this->field_0x8;
              uVar14 = iVar15 + 0x8004U >> 0x10;
              *piVar10 = uVar14 + 0x3d800000;
              iVar7 = (int)uVar6;
              iVar8 = (-iVar7 & 0xffffU) + 0x396b0000;
              piVar10[1] = (0x8000U - iVar7 >> 0x10) + 0x3d6b0000;
              uVar13 = (uint)(ushort)((short)iVar15 + 4);
              if (iVar15 + 0x8008U >> 0x10 == uVar14) {
                piVar10[3] = iVar8;
                piVar10[4] = 0x7c0903a6;
                piVar10[5] = 0x7c0b5a14;
                piVar10[2] = uVar13 + 0x800c0000;
                piVar10[6] = (iVar15 + 8U & 0xffff) + 0x818c0000;
              }
              else {
                piVar10[3] = iVar8;
                piVar10[2] = uVar13 + 0x840c0000;
                piVar10[4] = 0x7c0903a6;
                piVar10[5] = 0x7c0b5a14;
                piVar10[6] = -0x7e73fffc;
              }
              piVar10[7] = 0x7d605a14;
              piVar10[8] = 0x4e800420;
              piVar10 = piVar10 + 9;
joined_r0x001dd725:
              if ((int *)((long)piVar11 + lVar2) <= piVar10) {
                return;
              }
              do {
                *piVar10 = 0x60000000;
                piVar10 = piVar10 + 1;
              } while (piVar10 < (int *)((long)piVar11 + lVar2));
              return;
            }
          }
          else {
            piVar10[6] = 0x7d6c5850;
            piVar10[1] = 0x7c0802a6;
            piVar10[2] = 0x429f0005;
            piVar10[4] = 0x7d8802a6;
            piVar10[5] = 0x7c0803a6;
            *piVar10 = (iVar7 + 0x7fccU >> 0x10) + 0x3d6b0000;
            piVar10[3] = (iVar7 - 0x34U & 0xffff) + 0x396b0000;
            if ((bVar1 & 1) != 0) {
              iVar15 = iVar15 - ((iVar7 - 0x34U) + *(int *)&this->field_0x8);
              uVar14 = iVar15 + 0x8004U >> 0x10;
              piVar10[7] = uVar14 + 0x3d8c0000;
              uVar13 = (uint)(ushort)((short)iVar15 + 4);
              if (iVar15 + 0x8008U >> 0x10 == uVar14) {
                piVar10[8] = uVar13 + 0x800c0000;
                piVar10[9] = (iVar15 + 8U & 0xffff) + 0x818c0000;
              }
              else {
                piVar10[9] = -0x7e73fffc;
                piVar10[8] = uVar13 + 0x840c0000;
              }
              piVar10[0xc] = 0x7d605a14;
              piVar10[10] = 0x7c0903a6;
              piVar10[0xb] = 0x7c0b5a14;
              piVar10[0xd] = 0x4e800420;
              piVar10 = piVar10 + 0xe;
              goto joined_r0x001dd725;
            }
          }
        }
      }
                    /* WARNING: Subroutine does not return */
      gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");
    }
  }
                    /* WARNING: Subroutine does not return */
  gold::do_gold_unreachable("../../gold/powerpc.cc",0x36a,"plt_section");
}



void FUN_001dd4b0(long param_1,long param_2)

{
  byte bVar1;
  long lVar2;
  long lVar3;
  undefined8 uVar4;
  int iVar5;
  int iVar6;
  int *piVar7;
  int *piVar8;
  int *piVar9;
  int *piVar10;
  uint uVar11;
  uint uVar12;
  int iVar13;
  
  bVar1 = *(byte *)(param_1 + 0x20);
  if ((bVar1 & 4) == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_00352af0("../../gold/output.h",0xe3,"offset");
  }
  lVar2 = *(long *)(param_1 + 0x18);
  if ((bVar1 & 2) == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_00352af0("../../gold/output.h",0xcf,"data_size");
  }
  lVar3 = *(long *)(param_1 + 0x10);
  if ((lVar2 < 0) || (*(long *)(param_2 + 0x10) < lVar2 + lVar3)) {
    FUN_001dd100();
  }
  else {
    piVar9 = (int *)(lVar2 + *(long *)(param_2 + 0x18));
    lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x28);
    if (lVar2 != 0) {
      if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {
        lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x20);
        if (lVar2 == 0) {
          FUN_001dc950();
                    /* WARNING: Subroutine does not return */
          FUN_00352af0("../../gold/output.h",0xc5,"address");
        }
        if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {
          iVar13 = (int)*(undefined8 *)(lVar2 + 8) + *(int *)(lVar2 + 0x9c) * 4;
          iVar5 = (int)lVar3;
          piVar10 = (int *)((ulong)(iVar5 - 0x40) + (long)piVar9);
          piVar8 = piVar9;
          if (piVar9 < piVar10 + -8) {
            do {
              piVar7 = piVar8 + 1;
              *piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8;
              piVar8 = piVar7;
            } while (piVar7 < piVar10 + -8);
            piVar8 = (int *)((long)piVar9 +
                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4);
          }
          piVar7 = piVar8;
          if (piVar8 < piVar10) {
            do {
              *piVar7 = 0x60000000;
              piVar7 = piVar7 + 1;
            } while (piVar7 < piVar10);
            piVar8 = (int *)((long)piVar8 +
                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4);
          }
          lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);
          if (lVar2 == 0) {
                    /* WARNING: Subroutine does not return */
            FUN_00352af0("../../gold/parameters.h",0x5c,"options");
          }
          if ((*(char *)(lVar2 + 0x2a61) == '\0') && (*(char *)(lVar2 + 0x42d1) == '\0')) {
            if ((bVar1 & 1) != 0) {
              uVar4 = *(undefined8 *)(param_1 + 8);
              uVar12 = iVar13 + 0x8004U >> 0x10;
              *piVar8 = uVar12 + 0x3d800000;
              iVar5 = (int)uVar4;
              iVar6 = (-iVar5 & 0xffffU) + 0x396b0000;
              piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000;
              uVar11 = (uint)(ushort)((short)iVar13 + 4);
              if (iVar13 + 0x8008U >> 0x10 == uVar12) {
                piVar8[3] = iVar6;
                piVar8[4] = 0x7c0903a6;
                piVar8[5] = 0x7c0b5a14;
                piVar8[2] = uVar11 + 0x800c0000;
                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;
              }
              else {
                piVar8[3] = iVar6;
                piVar8[2] = uVar11 + 0x840c0000;
                piVar8[4] = 0x7c0903a6;
                piVar8[5] = 0x7c0b5a14;
                piVar8[6] = -0x7e73fffc;
              }
              piVar8[7] = 0x7d605a14;
              piVar8[8] = 0x4e800420;
              piVar8 = piVar8 + 9;
joined_r0x001dd725:
              if ((int *)((long)piVar9 + lVar3) <= piVar8) {
                return;
              }
              do {
                *piVar8 = 0x60000000;
                piVar8 = piVar8 + 1;
              } while (piVar8 < (int *)((long)piVar9 + lVar3));
              return;
            }
          }
          else {
            piVar8[6] = 0x7d6c5850;
            piVar8[1] = 0x7c0802a6;
            piVar8[2] = 0x429f0005;
            piVar8[4] = 0x7d8802a6;
            piVar8[5] = 0x7c0803a6;
            *piVar8 = (iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000;
            piVar8[3] = (iVar5 - 0x34U & 0xffff) + 0x396b0000;
            if ((bVar1 & 1) != 0) {
              iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));
              uVar12 = iVar13 + 0x8004U >> 0x10;
              piVar8[7] = uVar12 + 0x3d8c0000;
              uVar11 = (uint)(ushort)((short)iVar13 + 4);
              if (iVar13 + 0x8008U >> 0x10 == uVar12) {
                piVar8[8] = uVar11 + 0x800c0000;
                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;
              }
              else {
                piVar8[9] = -0x7e73fffc;
                piVar8[8] = uVar11 + 0x840c0000;
              }
              piVar8[0xc] = 0x7d605a14;
              piVar8[10] = 0x7c0903a6;
              piVar8[0xb] = 0x7c0b5a14;
              piVar8[0xd] = 0x4e800420;
              piVar8 = piVar8 + 0xe;
              goto joined_r0x001dd725;
            }
          }
        }
      }
                    /* WARNING: Subroutine does not return */
      FUN_00352af0("../../gold/output.h",0xc5,"address");
    }
  }
                    /* WARNING: Subroutine does not return */
  FUN_00352af0("../../gold/powerpc.cc",0x36a,"plt_section");
}


PUSH RBX
MOVZX R11D,byte ptr [RDI + 0x20]
TEST R11B,0x4
JZ 0x001dd7e5
MOV RDX,qword ptr [RDI + 0x18]
TEST R11B,0x2
JZ 0x001dd7cd
MOV R9,qword ptr [RDI + 0x10]
TEST RDX,RDX
JS 0x001dd7b0
LEA RAX,[RDX + R9*0x1]
CMP qword ptr [RSI + 0x10],RAX
JL 0x001dd7b0
MOV RAX,qword ptr [RDI + 0x38]
ADD RDX,qword ptr [RSI + 0x18]
MOV R8,RDX
MOV RDX,qword ptr [RAX + 0x28]
TEST RDX,RDX
JZ 0x001dd7b5
TEST byte ptr [RDX + 0x20],0x1
JZ 0x001dd798
MOV RAX,qword ptr [RAX + 0x20]
TEST RAX,RAX
JZ 0x001dd815
TEST byte ptr [RAX + 0x20],0x1
JZ 0x001dd798
MOV EDX,dword ptr [RAX + 0x9c]
MOV RAX,qword ptr [RAX + 0x8]
LEA R10D,[RAX + RDX*0x4]
LEA EDX,[R9 + -0x40]
MOV RAX,R8
ADD RDX,R8
LEA RSI,[RDX + -0x20]
LEA RBX,[RDX + 0x48000000]
CMP R8,RSI
JNC 0x001dd790
NOP
MOV RCX,RBX
SUB RCX,RAX
ADD RAX,0x4
MOV dword ptr [RAX + -0x4],ECX
CMP RAX,RSI
JC 0x001dd550
MOV RAX,RDX
SUB RAX,R8
SUB RAX,0x21
SHR RAX,0x2
LEA RCX,[R8 + RAX*0x4 + 0x4]
CMP RDX,RCX
JBE 0x001dd59f
MOV RAX,RCX
NOP dword ptr [RAX]
MOV dword ptr [RAX],0x60000000
ADD RAX,0x4
CMP RAX,RDX
JC 0x001dd580
SUB RDX,0x1
SUB RDX,RCX
SHR RDX,0x2
LEA RCX,[RCX + RDX*0x4 + 0x4]
MOV RAX,qword ptr [0x0067cb08]
LEA RDX,[R8 + R9*0x1]
MOV RAX,qword ptr [RAX + 0x10]
TEST RAX,RAX
JZ 0x001dd7fd
AND R11D,0x1
CMP byte ptr [RAX + 0x2a61],0x0
JNZ 0x001dd670
CMP byte ptr [RAX + 0x42d1],0x0
JNZ 0x001dd670
TEST R11B,R11B
JZ 0x001dd798
MOV RAX,qword ptr [RDI + 0x8]
LEA EDI,[R10 + 0x8004]
LEA R8D,[R10 + 0x8008]
SHR EDI,0x10
SHR R8D,0x10
LEA ESI,[RDI + 0x3d800000]
MOV dword ptr [RCX],ESI
MOV ESI,0x8000
SUB ESI,EAX
NEG EAX
SHR ESI,0x10
MOVZX EAX,AX
ADD ESI,0x3d6b0000
ADD EAX,0x396b0000
MOV dword ptr [RCX + 0x4],ESI
LEA ESI,[R10 + 0x4]
MOVZX ESI,SI
CMP R8D,EDI
JZ 0x001dd762
SUB ESI,0x7bf40000
MOV dword ptr [RCX + 0xc],EAX
MOV RAX,0x7c0b5a147c0903a6
MOV dword ptr [RCX + 0x8],ESI
MOV qword ptr [RCX + 0x10],RAX
MOV dword ptr [RCX + 0x18],0x818c0004
LEA RAX,[RCX + 0x1c]
MOV dword ptr [RCX + 0x1c],0x7d605a14
MOV dword ptr [RAX + 0x4],0x4e800420
ADD RAX,0x8
CMP RDX,RAX
JA 0x001dd730
POP RBX
RET
LEA EAX,[R9 + -0x34]
ADD R9D,0x7fcc
MOV RBX,0x429f00057c0802a6
MOV dword ptr [RCX + 0x18],0x7d6c5850
SHR R9D,0x10
MOVZX ESI,AX
MOV qword ptr [RCX + 0x4],RBX
MOV RBX,0x7c0803a67d8802a6
ADD R9D,0x3d6b0000
ADD ESI,0x396b0000
MOV qword ptr [RCX + 0x10],RBX
MOV dword ptr [RCX],R9D
MOV dword ptr [RCX + 0xc],ESI
TEST R11B,R11B
JZ 0x001dd798
ADD EAX,dword ptr [RDI + 0x8]
SUB R10D,EAX
LEA ESI,[R10 + 0x8004]
LEA EDI,[R10 + 0x8008]
SHR ESI,0x10
SHR EDI,0x10
LEA EAX,[RSI + 0x3d8c0000]
MOV dword ptr [RCX + 0x1c],EAX
LEA EAX,[R10 + 0x4]
MOVZX EAX,AX
CMP EDI,ESI
JZ 0x001dd748
SUB EAX,0x7bf40000
MOV dword ptr [RCX + 0x24],0x818c0004
MOV dword ptr [RCX + 0x20],EAX
LEA RAX,[RCX + 0x30]
MOV dword ptr [RCX + 0x30],0x7d605a14
MOV RDI,0x7c0b5a147c0903a6
MOV qword ptr [RCX + 0x28],RDI
MOV dword ptr [RAX + 0x4],0x4e800420
ADD RAX,0x8
CMP RDX,RAX
JBE 0x001dd66c
NOP dword ptr [RAX + RAX*0x1]
MOV dword ptr [RAX],0x60000000
ADD RAX,0x4
CMP RDX,RAX
JA 0x001dd730
POP RBX
RET
SUB EAX,0x7ff40000
ADD R10D,0x8
MOV dword ptr [RCX + 0x20],EAX
MOVZX EAX,R10W
SUB EAX,0x7e740000
MOV dword ptr [RCX + 0x24],EAX
JMP 0x001dd6fe
MOV dword ptr [RCX + 0xc],EAX
SUB ESI,0x7ff40000
MOV RAX,0x7c0b5a147c0903a6
MOV qword ptr [RCX + 0x10],RAX
LEA EAX,[R10 + 0x8]
MOVZX EAX,AX
MOV dword ptr [RCX + 0x8],ESI
SUB EAX,0x7e740000
MOV dword ptr [RCX + 0x18],EAX
JMP 0x001dd64d
MOV RCX,R8
JMP 0x001dd575
LEA RDX,[0x54c278]
MOV ESI,0xc5
LEA RDI,[0x533384]
CALL 0x00352af0
CALL 0x001dd100
LEA RDX,[0x54ae50]
MOV ESI,0x36a
LEA RDI,[0x54ce35]
CALL 0x00352af0
LEA RDX,[0x54c3a0]
MOV ESI,0xcf
LEA RDI,[0x533384]
CALL 0x00352af0
LEA RDX,[0x54bd30]
MOV ESI,0xe3
LEA RDI,[0x533384]
CALL 0x00352af0
LEA RDX,[0x54c348]
MOV ESI,0x5c
LEA RDI,[0x52e279]
CALL 0x00352af0
CALL 0x001dc950
NOP word ptr [RAX + RAX*0x1]
(translation_unit "void FUN_001dd4b0(long param_1,long param_2)\n\n{\n  byte bVar1;\n  long lVar2;\n  long lVar3;\n  undefined8 uVar4;\n  int iVar5;\n  int iVar6;\n  int *piVar7;\n  int *piVar8;\n  int *piVar9;\n  int *piVar10;\n  uint uVar11;\n  uint uVar12;\n  int iVar13;\n  \n  bVar1 = *(byte *)(param_1 + 0x20);\n  if ((bVar1 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/output.h",0xe3,"offset");\n  }\n  lVar2 = *(long *)(param_1 + 0x18);\n  if ((bVar1 & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n  }\n  lVar3 = *(long *)(param_1 + 0x10);\n  if ((lVar2 < 0) || (*(long *)(param_2 + 0x10) < lVar2 + lVar3)) {\n    FUN_001dd100();\n  }\n  else {\n    piVar9 = (int *)(lVar2 + *(long *)(param_2 + 0x18));\n    lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x28);\n    if (lVar2 != 0) {\n      if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n        lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x20);\n        if (lVar2 == 0) {\n          FUN_001dc950();\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/output.h",0xc5,"address");\n        }\n        if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n          iVar13 = (int)*(undefined8 *)(lVar2 + 8) + *(int *)(lVar2 + 0x9c) * 4;\n          iVar5 = (int)lVar3;\n          piVar10 = (int *)((ulong)(iVar5 - 0x40) + (long)piVar9);\n          piVar8 = piVar9;\n          if (piVar9 < piVar10 + -8) {\n            do {\n              piVar7 = piVar8 + 1;\n              *piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8;\n              piVar8 = piVar7;\n            } while (piVar7 < piVar10 + -8);\n            piVar8 = (int *)((long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4);\n          }\n          piVar7 = piVar8;\n          if (piVar8 < piVar10) {\n            do {\n              *piVar7 = 0x60000000;\n              piVar7 = piVar7 + 1;\n            } while (piVar7 < piVar10);\n            piVar8 = (int *)((long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4);\n          }\n          lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar2 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n          }\n          if ((*(char *)(lVar2 + 0x2a61) == '\0') && (*(char *)(lVar2 + 0x42d1) == '\0')) {\n            if ((bVar1 & 1) != 0) {\n              uVar4 = *(undefined8 *)(param_1 + 8);\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              *piVar8 = uVar12 + 0x3d800000;\n              iVar5 = (int)uVar4;\n              iVar6 = (-iVar5 & 0xffffU) + 0x396b0000;\n              piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[3] = iVar6;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[2] = uVar11 + 0x800c0000;\n                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }\n              piVar8[7] = 0x7d605a14;\n              piVar8[8] = 0x4e800420;\n              piVar8 = piVar8 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar9 + lVar3) <= piVar8) {\n                return;\n              }\n              do {\n                *piVar8 = 0x60000000;\n                piVar8 = piVar8 + 1;\n              } while (piVar8 < (int *)((long)piVar9 + lVar3));\n              return;\n            }\n          }\n          else {\n            piVar8[6] = 0x7d6c5850;\n            piVar8[1] = 0x7c0802a6;\n            piVar8[2] = 0x429f0005;\n            piVar8[4] = 0x7d8802a6;\n            piVar8[5] = 0x7c0803a6;\n            *piVar8 = (iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar8[3] = (iVar5 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              piVar8[7] = uVar12 + 0x3d8c0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }\n              piVar8[0xc] = 0x7d605a14;\n              piVar8[10] = 0x7c0903a6;\n              piVar8[0xb] = 0x7c0b5a14;\n              piVar8[0xd] = 0x4e800420;\n              piVar8 = piVar8 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }\n        }\n      }\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0xc5,"address");\n    }\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_00352af0("../../gold/powerpc.cc",0x36a,"plt_section");\n}\n\n" (function_definition "void FUN_001dd4b0(long param_1,long param_2)\n\n{\n  byte bVar1;\n  long lVar2;\n  long lVar3;\n  undefined8 uVar4;\n  int iVar5;\n  int iVar6;\n  int *piVar7;\n  int *piVar8;\n  int *piVar9;\n  int *piVar10;\n  uint uVar11;\n  uint uVar12;\n  int iVar13;\n  \n  bVar1 = *(byte *)(param_1 + 0x20);\n  if ((bVar1 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/output.h",0xe3,"offset");\n  }\n  lVar2 = *(long *)(param_1 + 0x18);\n  if ((bVar1 & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n  }\n  lVar3 = *(long *)(param_1 + 0x10);\n  if ((lVar2 < 0) || (*(long *)(param_2 + 0x10) < lVar2 + lVar3)) {\n    FUN_001dd100();\n  }\n  else {\n    piVar9 = (int *)(lVar2 + *(long *)(param_2 + 0x18));\n    lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x28);\n    if (lVar2 != 0) {\n      if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n        lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x20);\n        if (lVar2 == 0) {\n          FUN_001dc950();\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/output.h",0xc5,"address");\n        }\n        if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n          iVar13 = (int)*(undefined8 *)(lVar2 + 8) + *(int *)(lVar2 + 0x9c) * 4;\n          iVar5 = (int)lVar3;\n          piVar10 = (int *)((ulong)(iVar5 - 0x40) + (long)piVar9);\n          piVar8 = piVar9;\n          if (piVar9 < piVar10 + -8) {\n            do {\n              piVar7 = piVar8 + 1;\n              *piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8;\n              piVar8 = piVar7;\n            } while (piVar7 < piVar10 + -8);\n            piVar8 = (int *)((long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4);\n          }\n          piVar7 = piVar8;\n          if (piVar8 < piVar10) {\n            do {\n              *piVar7 = 0x60000000;\n              piVar7 = piVar7 + 1;\n            } while (piVar7 < piVar10);\n            piVar8 = (int *)((long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4);\n          }\n          lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar2 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n          }\n          if ((*(char *)(lVar2 + 0x2a61) == '\0') && (*(char *)(lVar2 + 0x42d1) == '\0')) {\n            if ((bVar1 & 1) != 0) {\n              uVar4 = *(undefined8 *)(param_1 + 8);\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              *piVar8 = uVar12 + 0x3d800000;\n              iVar5 = (int)uVar4;\n              iVar6 = (-iVar5 & 0xffffU) + 0x396b0000;\n              piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[3] = iVar6;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[2] = uVar11 + 0x800c0000;\n                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }\n              piVar8[7] = 0x7d605a14;\n              piVar8[8] = 0x4e800420;\n              piVar8 = piVar8 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar9 + lVar3) <= piVar8) {\n                return;\n              }\n              do {\n                *piVar8 = 0x60000000;\n                piVar8 = piVar8 + 1;\n              } while (piVar8 < (int *)((long)piVar9 + lVar3));\n              return;\n            }\n          }\n          else {\n            piVar8[6] = 0x7d6c5850;\n            piVar8[1] = 0x7c0802a6;\n            piVar8[2] = 0x429f0005;\n            piVar8[4] = 0x7d8802a6;\n            piVar8[5] = 0x7c0803a6;\n            *piVar8 = (iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar8[3] = (iVar5 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              piVar8[7] = uVar12 + 0x3d8c0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }\n              piVar8[0xc] = 0x7d605a14;\n              piVar8[10] = 0x7c0903a6;\n              piVar8[0xb] = 0x7c0b5a14;\n              piVar8[0xd] = 0x4e800420;\n              piVar8 = piVar8 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }\n        }\n      }\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0xc5,"address");\n    }\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_00352af0("../../gold/powerpc.cc",0x36a,"plt_section");\n}" primitive_type (function_declarator "FUN_001dd4b0(long param_1,long param_2)" identifier (parameter_list "(long param_1,long param_2)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long param_2" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  byte bVar1;\n  long lVar2;\n  long lVar3;\n  undefined8 uVar4;\n  int iVar5;\n  int iVar6;\n  int *piVar7;\n  int *piVar8;\n  int *piVar9;\n  int *piVar10;\n  uint uVar11;\n  uint uVar12;\n  int iVar13;\n  \n  bVar1 = *(byte *)(param_1 + 0x20);\n  if ((bVar1 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/output.h",0xe3,"offset");\n  }\n  lVar2 = *(long *)(param_1 + 0x18);\n  if ((bVar1 & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n  }\n  lVar3 = *(long *)(param_1 + 0x10);\n  if ((lVar2 < 0) || (*(long *)(param_2 + 0x10) < lVar2 + lVar3)) {\n    FUN_001dd100();\n  }\n  else {\n    piVar9 = (int *)(lVar2 + *(long *)(param_2 + 0x18));\n    lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x28);\n    if (lVar2 != 0) {\n      if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n        lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x20);\n        if (lVar2 == 0) {\n          FUN_001dc950();\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/output.h",0xc5,"address");\n        }\n        if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n          iVar13 = (int)*(undefined8 *)(lVar2 + 8) + *(int *)(lVar2 + 0x9c) * 4;\n          iVar5 = (int)lVar3;\n          piVar10 = (int *)((ulong)(iVar5 - 0x40) + (long)piVar9);\n          piVar8 = piVar9;\n          if (piVar9 < piVar10 + -8) {\n            do {\n              piVar7 = piVar8 + 1;\n              *piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8;\n              piVar8 = piVar7;\n            } while (piVar7 < piVar10 + -8);\n            piVar8 = (int *)((long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4);\n          }\n          piVar7 = piVar8;\n          if (piVar8 < piVar10) {\n            do {\n              *piVar7 = 0x60000000;\n              piVar7 = piVar7 + 1;\n            } while (piVar7 < piVar10);\n            piVar8 = (int *)((long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4);\n          }\n          lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar2 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n          }\n          if ((*(char *)(lVar2 + 0x2a61) == '\0') && (*(char *)(lVar2 + 0x42d1) == '\0')) {\n            if ((bVar1 & 1) != 0) {\n              uVar4 = *(undefined8 *)(param_1 + 8);\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              *piVar8 = uVar12 + 0x3d800000;\n              iVar5 = (int)uVar4;\n              iVar6 = (-iVar5 & 0xffffU) + 0x396b0000;\n              piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[3] = iVar6;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[2] = uVar11 + 0x800c0000;\n                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }\n              piVar8[7] = 0x7d605a14;\n              piVar8[8] = 0x4e800420;\n              piVar8 = piVar8 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar9 + lVar3) <= piVar8) {\n                return;\n              }\n              do {\n                *piVar8 = 0x60000000;\n                piVar8 = piVar8 + 1;\n              } while (piVar8 < (int *)((long)piVar9 + lVar3));\n              return;\n            }\n          }\n          else {\n            piVar8[6] = 0x7d6c5850;\n            piVar8[1] = 0x7c0802a6;\n            piVar8[2] = 0x429f0005;\n            piVar8[4] = 0x7d8802a6;\n            piVar8[5] = 0x7c0803a6;\n            *piVar8 = (iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar8[3] = (iVar5 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              piVar8[7] = uVar12 + 0x3d8c0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }\n              piVar8[0xc] = 0x7d605a14;\n              piVar8[10] = 0x7c0903a6;\n              piVar8[0xb] = 0x7c0b5a14;\n              piVar8[0xd] = 0x4e800420;\n              piVar8 = piVar8 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }\n        }\n      }\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0xc5,"address");\n    }\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_00352af0("../../gold/powerpc.cc",0x36a,"plt_section");\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "long lVar2;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar3;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar4;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (expression_statement "bVar1 = *(byte *)(param_1 + 0x20);" (assignment_expression "bVar1 = *(byte *)(param_1 + 0x20)" identifier = (pointer_expression "*(byte *)(param_1 + 0x20)" * (cast_expression "(byte *)(param_1 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) ))))) ;) (if_statement "if ((bVar1 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/output.h",0xe3,"offset");\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                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/output.h",0xe3,"offset");\n  }" { comment (expression_statement "FUN_00352af0("../../gold/output.h",0xe3,"offset");" (call_expression "FUN_00352af0("../../gold/output.h",0xe3,"offset")" identifier (argument_list "("../../gold/output.h",0xe3,"offset")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""offset"" " string_content ") ))) ;) })) (expression_statement "lVar2 = *(long *)(param_1 + 0x18);" (assignment_expression "lVar2 = *(long *)(param_1 + 0x18)" identifier = (pointer_expression "*(long *)(param_1 + 0x18)" * (cast_expression "(long *)(param_1 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if ((bVar1 & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/output.h",0xcf,"data_size");\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                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n  }" { comment (expression_statement "FUN_00352af0("../../gold/output.h",0xcf,"data_size");" (call_expression "FUN_00352af0("../../gold/output.h",0xcf,"data_size")" identifier (argument_list "("../../gold/output.h",0xcf,"data_size")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""data_size"" " string_content ") ))) ;) })) (expression_statement "lVar3 = *(long *)(param_1 + 0x10);" (assignment_expression "lVar3 = *(long *)(param_1 + 0x10)" identifier = (pointer_expression "*(long *)(param_1 + 0x10)" * (cast_expression "(long *)(param_1 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if ((lVar2 < 0) || (*(long *)(param_2 + 0x10) < lVar2 + lVar3)) {\n    FUN_001dd100();\n  }\n  else {\n    piVar9 = (int *)(lVar2 + *(long *)(param_2 + 0x18));\n    lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x28);\n    if (lVar2 != 0) {\n      if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n        lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x20);\n        if (lVar2 == 0) {\n          FUN_001dc950();\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/output.h",0xc5,"address");\n        }\n        if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n          iVar13 = (int)*(undefined8 *)(lVar2 + 8) + *(int *)(lVar2 + 0x9c) * 4;\n          iVar5 = (int)lVar3;\n          piVar10 = (int *)((ulong)(iVar5 - 0x40) + (long)piVar9);\n          piVar8 = piVar9;\n          if (piVar9 < piVar10 + -8) {\n            do {\n              piVar7 = piVar8 + 1;\n              *piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8;\n              piVar8 = piVar7;\n            } while (piVar7 < piVar10 + -8);\n            piVar8 = (int *)((long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4);\n          }\n          piVar7 = piVar8;\n          if (piVar8 < piVar10) {\n            do {\n              *piVar7 = 0x60000000;\n              piVar7 = piVar7 + 1;\n            } while (piVar7 < piVar10);\n            piVar8 = (int *)((long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4);\n          }\n          lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar2 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n          }\n          if ((*(char *)(lVar2 + 0x2a61) == '\0') && (*(char *)(lVar2 + 0x42d1) == '\0')) {\n            if ((bVar1 & 1) != 0) {\n              uVar4 = *(undefined8 *)(param_1 + 8);\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              *piVar8 = uVar12 + 0x3d800000;\n              iVar5 = (int)uVar4;\n              iVar6 = (-iVar5 & 0xffffU) + 0x396b0000;\n              piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[3] = iVar6;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[2] = uVar11 + 0x800c0000;\n                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }\n              piVar8[7] = 0x7d605a14;\n              piVar8[8] = 0x4e800420;\n              piVar8 = piVar8 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar9 + lVar3) <= piVar8) {\n                return;\n              }\n              do {\n                *piVar8 = 0x60000000;\n                piVar8 = piVar8 + 1;\n              } while (piVar8 < (int *)((long)piVar9 + lVar3));\n              return;\n            }\n          }\n          else {\n            piVar8[6] = 0x7d6c5850;\n            piVar8[1] = 0x7c0802a6;\n            piVar8[2] = 0x429f0005;\n            piVar8[4] = 0x7d8802a6;\n            piVar8[5] = 0x7c0803a6;\n            *piVar8 = (iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar8[3] = (iVar5 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              piVar8[7] = uVar12 + 0x3d8c0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }\n              piVar8[0xc] = 0x7d605a14;\n              piVar8[10] = 0x7c0903a6;\n              piVar8[0xb] = 0x7c0b5a14;\n              piVar8[0xd] = 0x4e800420;\n              piVar8 = piVar8 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }\n        }\n      }\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0xc5,"address");\n    }\n  }" if (parenthesized_expression "((lVar2 < 0) || (*(long *)(param_2 + 0x10) < lVar2 + lVar3))" ( (binary_expression "(lVar2 < 0) || (*(long *)(param_2 + 0x10) < lVar2 + lVar3)" (parenthesized_expression "(lVar2 < 0)" ( (binary_expression "lVar2 < 0" identifier < number_literal) )) || (parenthesized_expression "(*(long *)(param_2 + 0x10) < lVar2 + lVar3)" ( (binary_expression "*(long *)(param_2 + 0x10) < lVar2 + lVar3" (pointer_expression "*(long *)(param_2 + 0x10)" * (cast_expression "(long *)(param_2 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) )))) < (binary_expression "lVar2 + lVar3" identifier + identifier)) ))) )) (compound_statement "{\n    FUN_001dd100();\n  }" { (expression_statement "FUN_001dd100();" (call_expression "FUN_001dd100()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n    piVar9 = (int *)(lVar2 + *(long *)(param_2 + 0x18));\n    lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x28);\n    if (lVar2 != 0) {\n      if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n        lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x20);\n        if (lVar2 == 0) {\n          FUN_001dc950();\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/output.h",0xc5,"address");\n        }\n        if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n          iVar13 = (int)*(undefined8 *)(lVar2 + 8) + *(int *)(lVar2 + 0x9c) * 4;\n          iVar5 = (int)lVar3;\n          piVar10 = (int *)((ulong)(iVar5 - 0x40) + (long)piVar9);\n          piVar8 = piVar9;\n          if (piVar9 < piVar10 + -8) {\n            do {\n              piVar7 = piVar8 + 1;\n              *piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8;\n              piVar8 = piVar7;\n            } while (piVar7 < piVar10 + -8);\n            piVar8 = (int *)((long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4);\n          }\n          piVar7 = piVar8;\n          if (piVar8 < piVar10) {\n            do {\n              *piVar7 = 0x60000000;\n              piVar7 = piVar7 + 1;\n            } while (piVar7 < piVar10);\n            piVar8 = (int *)((long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4);\n          }\n          lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar2 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n          }\n          if ((*(char *)(lVar2 + 0x2a61) == '\0') && (*(char *)(lVar2 + 0x42d1) == '\0')) {\n            if ((bVar1 & 1) != 0) {\n              uVar4 = *(undefined8 *)(param_1 + 8);\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              *piVar8 = uVar12 + 0x3d800000;\n              iVar5 = (int)uVar4;\n              iVar6 = (-iVar5 & 0xffffU) + 0x396b0000;\n              piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[3] = iVar6;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[2] = uVar11 + 0x800c0000;\n                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }\n              piVar8[7] = 0x7d605a14;\n              piVar8[8] = 0x4e800420;\n              piVar8 = piVar8 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar9 + lVar3) <= piVar8) {\n                return;\n              }\n              do {\n                *piVar8 = 0x60000000;\n                piVar8 = piVar8 + 1;\n              } while (piVar8 < (int *)((long)piVar9 + lVar3));\n              return;\n            }\n          }\n          else {\n            piVar8[6] = 0x7d6c5850;\n            piVar8[1] = 0x7c0802a6;\n            piVar8[2] = 0x429f0005;\n            piVar8[4] = 0x7d8802a6;\n            piVar8[5] = 0x7c0803a6;\n            *piVar8 = (iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar8[3] = (iVar5 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              piVar8[7] = uVar12 + 0x3d8c0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }\n              piVar8[0xc] = 0x7d605a14;\n              piVar8[10] = 0x7c0903a6;\n              piVar8[0xb] = 0x7c0b5a14;\n              piVar8[0xd] = 0x4e800420;\n              piVar8 = piVar8 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }\n        }\n      }\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0xc5,"address");\n    }\n  }" else (compound_statement "{\n    piVar9 = (int *)(lVar2 + *(long *)(param_2 + 0x18));\n    lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x28);\n    if (lVar2 != 0) {\n      if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n        lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x20);\n        if (lVar2 == 0) {\n          FUN_001dc950();\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/output.h",0xc5,"address");\n        }\n        if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n          iVar13 = (int)*(undefined8 *)(lVar2 + 8) + *(int *)(lVar2 + 0x9c) * 4;\n          iVar5 = (int)lVar3;\n          piVar10 = (int *)((ulong)(iVar5 - 0x40) + (long)piVar9);\n          piVar8 = piVar9;\n          if (piVar9 < piVar10 + -8) {\n            do {\n              piVar7 = piVar8 + 1;\n              *piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8;\n              piVar8 = piVar7;\n            } while (piVar7 < piVar10 + -8);\n            piVar8 = (int *)((long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4);\n          }\n          piVar7 = piVar8;\n          if (piVar8 < piVar10) {\n            do {\n              *piVar7 = 0x60000000;\n              piVar7 = piVar7 + 1;\n            } while (piVar7 < piVar10);\n            piVar8 = (int *)((long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4);\n          }\n          lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar2 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n          }\n          if ((*(char *)(lVar2 + 0x2a61) == '\0') && (*(char *)(lVar2 + 0x42d1) == '\0')) {\n            if ((bVar1 & 1) != 0) {\n              uVar4 = *(undefined8 *)(param_1 + 8);\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              *piVar8 = uVar12 + 0x3d800000;\n              iVar5 = (int)uVar4;\n              iVar6 = (-iVar5 & 0xffffU) + 0x396b0000;\n              piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[3] = iVar6;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[2] = uVar11 + 0x800c0000;\n                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }\n              piVar8[7] = 0x7d605a14;\n              piVar8[8] = 0x4e800420;\n              piVar8 = piVar8 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar9 + lVar3) <= piVar8) {\n                return;\n              }\n              do {\n                *piVar8 = 0x60000000;\n                piVar8 = piVar8 + 1;\n              } while (piVar8 < (int *)((long)piVar9 + lVar3));\n              return;\n            }\n          }\n          else {\n            piVar8[6] = 0x7d6c5850;\n            piVar8[1] = 0x7c0802a6;\n            piVar8[2] = 0x429f0005;\n            piVar8[4] = 0x7d8802a6;\n            piVar8[5] = 0x7c0803a6;\n            *piVar8 = (iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar8[3] = (iVar5 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              piVar8[7] = uVar12 + 0x3d8c0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }\n              piVar8[0xc] = 0x7d605a14;\n              piVar8[10] = 0x7c0903a6;\n              piVar8[0xb] = 0x7c0b5a14;\n              piVar8[0xd] = 0x4e800420;\n              piVar8 = piVar8 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }\n        }\n      }\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0xc5,"address");\n    }\n  }" { (expression_statement "piVar9 = (int *)(lVar2 + *(long *)(param_2 + 0x18));" (assignment_expression "piVar9 = (int *)(lVar2 + *(long *)(param_2 + 0x18))" identifier = (cast_expression "(int *)(lVar2 + *(long *)(param_2 + 0x18))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + *(long *)(param_2 + 0x18))" ( (binary_expression "lVar2 + *(long *)(param_2 + 0x18)" identifier + (pointer_expression "*(long *)(param_2 + 0x18)" * (cast_expression "(long *)(param_2 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) ))))) )))) ;) (expression_statement "lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x28);" (assignment_expression "lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x28)" identifier = (pointer_expression "*(long *)(*(long *)(param_1 + 0x38) + 0x28)" * (cast_expression "(long *)(*(long *)(param_1 + 0x38) + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x38) + 0x28)" ( (binary_expression "*(long *)(param_1 + 0x38) + 0x28" (pointer_expression "*(long *)(param_1 + 0x38)" * (cast_expression "(long *)(param_1 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (lVar2 != 0) {\n      if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n        lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x20);\n        if (lVar2 == 0) {\n          FUN_001dc950();\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/output.h",0xc5,"address");\n        }\n        if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n          iVar13 = (int)*(undefined8 *)(lVar2 + 8) + *(int *)(lVar2 + 0x9c) * 4;\n          iVar5 = (int)lVar3;\n          piVar10 = (int *)((ulong)(iVar5 - 0x40) + (long)piVar9);\n          piVar8 = piVar9;\n          if (piVar9 < piVar10 + -8) {\n            do {\n              piVar7 = piVar8 + 1;\n              *piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8;\n              piVar8 = piVar7;\n            } while (piVar7 < piVar10 + -8);\n            piVar8 = (int *)((long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4);\n          }\n          piVar7 = piVar8;\n          if (piVar8 < piVar10) {\n            do {\n              *piVar7 = 0x60000000;\n              piVar7 = piVar7 + 1;\n            } while (piVar7 < piVar10);\n            piVar8 = (int *)((long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4);\n          }\n          lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar2 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n          }\n          if ((*(char *)(lVar2 + 0x2a61) == '\0') && (*(char *)(lVar2 + 0x42d1) == '\0')) {\n            if ((bVar1 & 1) != 0) {\n              uVar4 = *(undefined8 *)(param_1 + 8);\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              *piVar8 = uVar12 + 0x3d800000;\n              iVar5 = (int)uVar4;\n              iVar6 = (-iVar5 & 0xffffU) + 0x396b0000;\n              piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[3] = iVar6;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[2] = uVar11 + 0x800c0000;\n                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }\n              piVar8[7] = 0x7d605a14;\n              piVar8[8] = 0x4e800420;\n              piVar8 = piVar8 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar9 + lVar3) <= piVar8) {\n                return;\n              }\n              do {\n                *piVar8 = 0x60000000;\n                piVar8 = piVar8 + 1;\n              } while (piVar8 < (int *)((long)piVar9 + lVar3));\n              return;\n            }\n          }\n          else {\n            piVar8[6] = 0x7d6c5850;\n            piVar8[1] = 0x7c0802a6;\n            piVar8[2] = 0x429f0005;\n            piVar8[4] = 0x7d8802a6;\n            piVar8[5] = 0x7c0803a6;\n            *piVar8 = (iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar8[3] = (iVar5 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              piVar8[7] = uVar12 + 0x3d8c0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }\n              piVar8[0xc] = 0x7d605a14;\n              piVar8[10] = 0x7c0903a6;\n              piVar8[0xb] = 0x7c0b5a14;\n              piVar8[0xd] = 0x4e800420;\n              piVar8 = piVar8 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }\n        }\n      }\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0xc5,"address");\n    }" if (parenthesized_expression "(lVar2 != 0)" ( (binary_expression "lVar2 != 0" identifier != number_literal) )) (compound_statement "{\n      if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n        lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x20);\n        if (lVar2 == 0) {\n          FUN_001dc950();\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/output.h",0xc5,"address");\n        }\n        if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n          iVar13 = (int)*(undefined8 *)(lVar2 + 8) + *(int *)(lVar2 + 0x9c) * 4;\n          iVar5 = (int)lVar3;\n          piVar10 = (int *)((ulong)(iVar5 - 0x40) + (long)piVar9);\n          piVar8 = piVar9;\n          if (piVar9 < piVar10 + -8) {\n            do {\n              piVar7 = piVar8 + 1;\n              *piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8;\n              piVar8 = piVar7;\n            } while (piVar7 < piVar10 + -8);\n            piVar8 = (int *)((long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4);\n          }\n          piVar7 = piVar8;\n          if (piVar8 < piVar10) {\n            do {\n              *piVar7 = 0x60000000;\n              piVar7 = piVar7 + 1;\n            } while (piVar7 < piVar10);\n            piVar8 = (int *)((long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4);\n          }\n          lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar2 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n          }\n          if ((*(char *)(lVar2 + 0x2a61) == '\0') && (*(char *)(lVar2 + 0x42d1) == '\0')) {\n            if ((bVar1 & 1) != 0) {\n              uVar4 = *(undefined8 *)(param_1 + 8);\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              *piVar8 = uVar12 + 0x3d800000;\n              iVar5 = (int)uVar4;\n              iVar6 = (-iVar5 & 0xffffU) + 0x396b0000;\n              piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[3] = iVar6;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[2] = uVar11 + 0x800c0000;\n                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }\n              piVar8[7] = 0x7d605a14;\n              piVar8[8] = 0x4e800420;\n              piVar8 = piVar8 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar9 + lVar3) <= piVar8) {\n                return;\n              }\n              do {\n                *piVar8 = 0x60000000;\n                piVar8 = piVar8 + 1;\n              } while (piVar8 < (int *)((long)piVar9 + lVar3));\n              return;\n            }\n          }\n          else {\n            piVar8[6] = 0x7d6c5850;\n            piVar8[1] = 0x7c0802a6;\n            piVar8[2] = 0x429f0005;\n            piVar8[4] = 0x7d8802a6;\n            piVar8[5] = 0x7c0803a6;\n            *piVar8 = (iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar8[3] = (iVar5 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              piVar8[7] = uVar12 + 0x3d8c0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }\n              piVar8[0xc] = 0x7d605a14;\n              piVar8[10] = 0x7c0903a6;\n              piVar8[0xb] = 0x7c0b5a14;\n              piVar8[0xd] = 0x4e800420;\n              piVar8 = piVar8 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }\n        }\n      }\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0xc5,"address");\n    }" { (if_statement "if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n        lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x20);\n        if (lVar2 == 0) {\n          FUN_001dc950();\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/output.h",0xc5,"address");\n        }\n        if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n          iVar13 = (int)*(undefined8 *)(lVar2 + 8) + *(int *)(lVar2 + 0x9c) * 4;\n          iVar5 = (int)lVar3;\n          piVar10 = (int *)((ulong)(iVar5 - 0x40) + (long)piVar9);\n          piVar8 = piVar9;\n          if (piVar9 < piVar10 + -8) {\n            do {\n              piVar7 = piVar8 + 1;\n              *piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8;\n              piVar8 = piVar7;\n            } while (piVar7 < piVar10 + -8);\n            piVar8 = (int *)((long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4);\n          }\n          piVar7 = piVar8;\n          if (piVar8 < piVar10) {\n            do {\n              *piVar7 = 0x60000000;\n              piVar7 = piVar7 + 1;\n            } while (piVar7 < piVar10);\n            piVar8 = (int *)((long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4);\n          }\n          lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar2 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n          }\n          if ((*(char *)(lVar2 + 0x2a61) == '\0') && (*(char *)(lVar2 + 0x42d1) == '\0')) {\n            if ((bVar1 & 1) != 0) {\n              uVar4 = *(undefined8 *)(param_1 + 8);\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              *piVar8 = uVar12 + 0x3d800000;\n              iVar5 = (int)uVar4;\n              iVar6 = (-iVar5 & 0xffffU) + 0x396b0000;\n              piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[3] = iVar6;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[2] = uVar11 + 0x800c0000;\n                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }\n              piVar8[7] = 0x7d605a14;\n              piVar8[8] = 0x4e800420;\n              piVar8 = piVar8 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar9 + lVar3) <= piVar8) {\n                return;\n              }\n              do {\n                *piVar8 = 0x60000000;\n                piVar8 = piVar8 + 1;\n              } while (piVar8 < (int *)((long)piVar9 + lVar3));\n              return;\n            }\n          }\n          else {\n            piVar8[6] = 0x7d6c5850;\n            piVar8[1] = 0x7c0802a6;\n            piVar8[2] = 0x429f0005;\n            piVar8[4] = 0x7d8802a6;\n            piVar8[5] = 0x7c0803a6;\n            *piVar8 = (iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar8[3] = (iVar5 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              piVar8[7] = uVar12 + 0x3d8c0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }\n              piVar8[0xc] = 0x7d605a14;\n              piVar8[10] = 0x7c0903a6;\n              piVar8[0xb] = 0x7c0b5a14;\n              piVar8[0xd] = 0x4e800420;\n              piVar8 = piVar8 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }\n        }\n      }" if (parenthesized_expression "((*(byte *)(lVar2 + 0x20) & 1) != 0)" ( (binary_expression "(*(byte *)(lVar2 + 0x20) & 1) != 0" (parenthesized_expression "(*(byte *)(lVar2 + 0x20) & 1)" ( (binary_expression "*(byte *)(lVar2 + 0x20) & 1" (pointer_expression "*(byte *)(lVar2 + 0x20)" * (cast_expression "(byte *)(lVar2 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x20)" ( (binary_expression "lVar2 + 0x20" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n        lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x20);\n        if (lVar2 == 0) {\n          FUN_001dc950();\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/output.h",0xc5,"address");\n        }\n        if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n          iVar13 = (int)*(undefined8 *)(lVar2 + 8) + *(int *)(lVar2 + 0x9c) * 4;\n          iVar5 = (int)lVar3;\n          piVar10 = (int *)((ulong)(iVar5 - 0x40) + (long)piVar9);\n          piVar8 = piVar9;\n          if (piVar9 < piVar10 + -8) {\n            do {\n              piVar7 = piVar8 + 1;\n              *piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8;\n              piVar8 = piVar7;\n            } while (piVar7 < piVar10 + -8);\n            piVar8 = (int *)((long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4);\n          }\n          piVar7 = piVar8;\n          if (piVar8 < piVar10) {\n            do {\n              *piVar7 = 0x60000000;\n              piVar7 = piVar7 + 1;\n            } while (piVar7 < piVar10);\n            piVar8 = (int *)((long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4);\n          }\n          lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar2 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n          }\n          if ((*(char *)(lVar2 + 0x2a61) == '\0') && (*(char *)(lVar2 + 0x42d1) == '\0')) {\n            if ((bVar1 & 1) != 0) {\n              uVar4 = *(undefined8 *)(param_1 + 8);\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              *piVar8 = uVar12 + 0x3d800000;\n              iVar5 = (int)uVar4;\n              iVar6 = (-iVar5 & 0xffffU) + 0x396b0000;\n              piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[3] = iVar6;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[2] = uVar11 + 0x800c0000;\n                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }\n              piVar8[7] = 0x7d605a14;\n              piVar8[8] = 0x4e800420;\n              piVar8 = piVar8 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar9 + lVar3) <= piVar8) {\n                return;\n              }\n              do {\n                *piVar8 = 0x60000000;\n                piVar8 = piVar8 + 1;\n              } while (piVar8 < (int *)((long)piVar9 + lVar3));\n              return;\n            }\n          }\n          else {\n            piVar8[6] = 0x7d6c5850;\n            piVar8[1] = 0x7c0802a6;\n            piVar8[2] = 0x429f0005;\n            piVar8[4] = 0x7d8802a6;\n            piVar8[5] = 0x7c0803a6;\n            *piVar8 = (iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar8[3] = (iVar5 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              piVar8[7] = uVar12 + 0x3d8c0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }\n              piVar8[0xc] = 0x7d605a14;\n              piVar8[10] = 0x7c0903a6;\n              piVar8[0xb] = 0x7c0b5a14;\n              piVar8[0xd] = 0x4e800420;\n              piVar8 = piVar8 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }\n        }\n      }" { (expression_statement "lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x20);" (assignment_expression "lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x20)" identifier = (pointer_expression "*(long *)(*(long *)(param_1 + 0x38) + 0x20)" * (cast_expression "(long *)(*(long *)(param_1 + 0x38) + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x38) + 0x20)" ( (binary_expression "*(long *)(param_1 + 0x38) + 0x20" (pointer_expression "*(long *)(param_1 + 0x38)" * (cast_expression "(long *)(param_1 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (lVar2 == 0) {\n          FUN_001dc950();\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/output.h",0xc5,"address");\n        }" if (parenthesized_expression "(lVar2 == 0)" ( (binary_expression "lVar2 == 0" identifier == number_literal) )) (compound_statement "{\n          FUN_001dc950();\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/output.h",0xc5,"address");\n        }" { (expression_statement "FUN_001dc950();" (call_expression "FUN_001dc950()" identifier (argument_list "()" ( ))) ;) comment (expression_statement "FUN_00352af0("../../gold/output.h",0xc5,"address");" (call_expression "FUN_00352af0("../../gold/output.h",0xc5,"address")" identifier (argument_list "("../../gold/output.h",0xc5,"address")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""address"" " string_content ") ))) ;) })) (if_statement "if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n          iVar13 = (int)*(undefined8 *)(lVar2 + 8) + *(int *)(lVar2 + 0x9c) * 4;\n          iVar5 = (int)lVar3;\n          piVar10 = (int *)((ulong)(iVar5 - 0x40) + (long)piVar9);\n          piVar8 = piVar9;\n          if (piVar9 < piVar10 + -8) {\n            do {\n              piVar7 = piVar8 + 1;\n              *piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8;\n              piVar8 = piVar7;\n            } while (piVar7 < piVar10 + -8);\n            piVar8 = (int *)((long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4);\n          }\n          piVar7 = piVar8;\n          if (piVar8 < piVar10) {\n            do {\n              *piVar7 = 0x60000000;\n              piVar7 = piVar7 + 1;\n            } while (piVar7 < piVar10);\n            piVar8 = (int *)((long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4);\n          }\n          lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar2 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n          }\n          if ((*(char *)(lVar2 + 0x2a61) == '\0') && (*(char *)(lVar2 + 0x42d1) == '\0')) {\n            if ((bVar1 & 1) != 0) {\n              uVar4 = *(undefined8 *)(param_1 + 8);\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              *piVar8 = uVar12 + 0x3d800000;\n              iVar5 = (int)uVar4;\n              iVar6 = (-iVar5 & 0xffffU) + 0x396b0000;\n              piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[3] = iVar6;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[2] = uVar11 + 0x800c0000;\n                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }\n              piVar8[7] = 0x7d605a14;\n              piVar8[8] = 0x4e800420;\n              piVar8 = piVar8 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar9 + lVar3) <= piVar8) {\n                return;\n              }\n              do {\n                *piVar8 = 0x60000000;\n                piVar8 = piVar8 + 1;\n              } while (piVar8 < (int *)((long)piVar9 + lVar3));\n              return;\n            }\n          }\n          else {\n            piVar8[6] = 0x7d6c5850;\n            piVar8[1] = 0x7c0802a6;\n            piVar8[2] = 0x429f0005;\n            piVar8[4] = 0x7d8802a6;\n            piVar8[5] = 0x7c0803a6;\n            *piVar8 = (iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar8[3] = (iVar5 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              piVar8[7] = uVar12 + 0x3d8c0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }\n              piVar8[0xc] = 0x7d605a14;\n              piVar8[10] = 0x7c0903a6;\n              piVar8[0xb] = 0x7c0b5a14;\n              piVar8[0xd] = 0x4e800420;\n              piVar8 = piVar8 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }\n        }" if (parenthesized_expression "((*(byte *)(lVar2 + 0x20) & 1) != 0)" ( (binary_expression "(*(byte *)(lVar2 + 0x20) & 1) != 0" (parenthesized_expression "(*(byte *)(lVar2 + 0x20) & 1)" ( (binary_expression "*(byte *)(lVar2 + 0x20) & 1" (pointer_expression "*(byte *)(lVar2 + 0x20)" * (cast_expression "(byte *)(lVar2 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x20)" ( (binary_expression "lVar2 + 0x20" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n          iVar13 = (int)*(undefined8 *)(lVar2 + 8) + *(int *)(lVar2 + 0x9c) * 4;\n          iVar5 = (int)lVar3;\n          piVar10 = (int *)((ulong)(iVar5 - 0x40) + (long)piVar9);\n          piVar8 = piVar9;\n          if (piVar9 < piVar10 + -8) {\n            do {\n              piVar7 = piVar8 + 1;\n              *piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8;\n              piVar8 = piVar7;\n            } while (piVar7 < piVar10 + -8);\n            piVar8 = (int *)((long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4);\n          }\n          piVar7 = piVar8;\n          if (piVar8 < piVar10) {\n            do {\n              *piVar7 = 0x60000000;\n              piVar7 = piVar7 + 1;\n            } while (piVar7 < piVar10);\n            piVar8 = (int *)((long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4);\n          }\n          lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar2 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n          }\n          if ((*(char *)(lVar2 + 0x2a61) == '\0') && (*(char *)(lVar2 + 0x42d1) == '\0')) {\n            if ((bVar1 & 1) != 0) {\n              uVar4 = *(undefined8 *)(param_1 + 8);\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              *piVar8 = uVar12 + 0x3d800000;\n              iVar5 = (int)uVar4;\n              iVar6 = (-iVar5 & 0xffffU) + 0x396b0000;\n              piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[3] = iVar6;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[2] = uVar11 + 0x800c0000;\n                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }\n              piVar8[7] = 0x7d605a14;\n              piVar8[8] = 0x4e800420;\n              piVar8 = piVar8 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar9 + lVar3) <= piVar8) {\n                return;\n              }\n              do {\n                *piVar8 = 0x60000000;\n                piVar8 = piVar8 + 1;\n              } while (piVar8 < (int *)((long)piVar9 + lVar3));\n              return;\n            }\n          }\n          else {\n            piVar8[6] = 0x7d6c5850;\n            piVar8[1] = 0x7c0802a6;\n            piVar8[2] = 0x429f0005;\n            piVar8[4] = 0x7d8802a6;\n            piVar8[5] = 0x7c0803a6;\n            *piVar8 = (iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar8[3] = (iVar5 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              piVar8[7] = uVar12 + 0x3d8c0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }\n              piVar8[0xc] = 0x7d605a14;\n              piVar8[10] = 0x7c0903a6;\n              piVar8[0xb] = 0x7c0b5a14;\n              piVar8[0xd] = 0x4e800420;\n              piVar8 = piVar8 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }\n        }" { (expression_statement "iVar13 = (int)*(undefined8 *)(lVar2 + 8) + *(int *)(lVar2 + 0x9c) * 4;" (assignment_expression "iVar13 = (int)*(undefined8 *)(lVar2 + 8) + *(int *)(lVar2 + 0x9c) * 4" identifier = (binary_expression "(int)*(undefined8 *)(lVar2 + 8) + *(int *)(lVar2 + 0x9c) * 4" (cast_expression "(int)*(undefined8 *)(lVar2 + 8)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(undefined8 *)(lVar2 + 8)" * (cast_expression "(undefined8 *)(lVar2 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 8)" ( (binary_expression "lVar2 + 8" identifier + number_literal) ))))) + (binary_expression "*(int *)(lVar2 + 0x9c) * 4" (pointer_expression "*(int *)(lVar2 + 0x9c)" * (cast_expression "(int *)(lVar2 + 0x9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x9c)" ( (binary_expression "lVar2 + 0x9c" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "iVar5 = (int)lVar3;" (assignment_expression "iVar5 = (int)lVar3" identifier = (cast_expression "(int)lVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar10 = (int *)((ulong)(iVar5 - 0x40) + (long)piVar9);" (assignment_expression "piVar10 = (int *)((ulong)(iVar5 - 0x40) + (long)piVar9)" identifier = (cast_expression "(int *)((ulong)(iVar5 - 0x40) + (long)piVar9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)(iVar5 - 0x40) + (long)piVar9)" ( (binary_expression "(ulong)(iVar5 - 0x40) + (long)piVar9" (call_expression "(ulong)(iVar5 - 0x40)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(iVar5 - 0x40)" ( (binary_expression "iVar5 - 0x40" identifier - number_literal) ))) + (cast_expression "(long)piVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) ;) (expression_statement "piVar8 = piVar9;" (assignment_expression "piVar8 = piVar9" identifier = identifier) ;) (if_statement "if (piVar9 < piVar10 + -8) {\n            do {\n              piVar7 = piVar8 + 1;\n              *piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8;\n              piVar8 = piVar7;\n            } while (piVar7 < piVar10 + -8);\n            piVar8 = (int *)((long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4);\n          }" if (parenthesized_expression "(piVar9 < piVar10 + -8)" ( (binary_expression "piVar9 < piVar10 + -8" identifier < (binary_expression "piVar10 + -8" identifier + number_literal)) )) (compound_statement "{\n            do {\n              piVar7 = piVar8 + 1;\n              *piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8;\n              piVar8 = piVar7;\n            } while (piVar7 < piVar10 + -8);\n            piVar8 = (int *)((long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4);\n          }" { (do_statement "do {\n              piVar7 = piVar8 + 1;\n              *piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8;\n              piVar8 = piVar7;\n            } while (piVar7 < piVar10 + -8);" do (compound_statement "{\n              piVar7 = piVar8 + 1;\n              *piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8;\n              piVar8 = piVar7;\n            }" { (expression_statement "piVar7 = piVar8 + 1;" (assignment_expression "piVar7 = piVar8 + 1" identifier = (binary_expression "piVar8 + 1" identifier + number_literal)) ;) (expression_statement "*piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8;" (assignment_expression "*piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8" (pointer_expression "*piVar8" * identifier) = (binary_expression "((int)piVar10 + 0x48000000) - (int)piVar8" (parenthesized_expression "((int)piVar10 + 0x48000000)" ( (binary_expression "(int)piVar10 + 0x48000000" (cast_expression "(int)piVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )) - (cast_expression "(int)piVar8" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "piVar8 = piVar7;" (assignment_expression "piVar8 = piVar7" identifier = identifier) ;) }) while (parenthesized_expression "(piVar7 < piVar10 + -8)" ( (binary_expression "piVar7 < piVar10 + -8" identifier < (binary_expression "piVar10 + -8" identifier + number_literal)) )) ;) (expression_statement "piVar8 = (int *)((long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4);" (assignment_expression "piVar8 = (int *)((long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4)" identifier = (cast_expression "(int *)((long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4)" ( (binary_expression "(long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4" (binary_expression "(long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU)" (cast_expression "(long)piVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (parenthesized_expression "((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU)" ( (binary_expression "(long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU" (binary_expression "(long)piVar10 + (-0x21 - (long)piVar9)" (cast_expression "(long)piVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (parenthesized_expression "(-0x21 - (long)piVar9)" ( (binary_expression "-0x21 - (long)piVar9" number_literal - (cast_expression "(long)piVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) & number_literal) ))) + number_literal) )))) ;) })) (expression_statement "piVar7 = piVar8;" (assignment_expression "piVar7 = piVar8" identifier = identifier) ;) (if_statement "if (piVar8 < piVar10) {\n            do {\n              *piVar7 = 0x60000000;\n              piVar7 = piVar7 + 1;\n            } while (piVar7 < piVar10);\n            piVar8 = (int *)((long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4);\n          }" if (parenthesized_expression "(piVar8 < piVar10)" ( (binary_expression "piVar8 < piVar10" identifier < identifier) )) (compound_statement "{\n            do {\n              *piVar7 = 0x60000000;\n              piVar7 = piVar7 + 1;\n            } while (piVar7 < piVar10);\n            piVar8 = (int *)((long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4);\n          }" { (do_statement "do {\n              *piVar7 = 0x60000000;\n              piVar7 = piVar7 + 1;\n            } while (piVar7 < piVar10);" do (compound_statement "{\n              *piVar7 = 0x60000000;\n              piVar7 = piVar7 + 1;\n            }" { (expression_statement "*piVar7 = 0x60000000;" (assignment_expression "*piVar7 = 0x60000000" (pointer_expression "*piVar7" * identifier) = number_literal) ;) (expression_statement "piVar7 = piVar7 + 1;" (assignment_expression "piVar7 = piVar7 + 1" identifier = (binary_expression "piVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar7 < piVar10)" ( (binary_expression "piVar7 < piVar10" identifier < identifier) )) ;) (expression_statement "piVar8 = (int *)((long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4);" (assignment_expression "piVar8 = (int *)((long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4)" identifier = (cast_expression "(int *)((long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4)" ( (binary_expression "(long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4" (binary_expression "(long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU)" (cast_expression "(long)piVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (parenthesized_expression "((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU)" ( (binary_expression "(long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU" (binary_expression "(long)piVar10 + (-1 - (long)piVar8)" (cast_expression "(long)piVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (parenthesized_expression "(-1 - (long)piVar8)" ( (binary_expression "-1 - (long)piVar8" number_literal - (cast_expression "(long)piVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) & number_literal) ))) + number_literal) )))) ;) })) (expression_statement "lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);" (assignment_expression "lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0067cb08 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0067cb08 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0067cb08 + 0x10)" ( (binary_expression "PTR_DAT_0067cb08 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar2 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n          }" if (parenthesized_expression "(lVar2 == 0)" ( (binary_expression "lVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n          }" { comment (expression_statement "FUN_00352af0("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_00352af0("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (if_statement "if ((*(char *)(lVar2 + 0x2a61) == '\0') && (*(char *)(lVar2 + 0x42d1) == '\0')) {\n            if ((bVar1 & 1) != 0) {\n              uVar4 = *(undefined8 *)(param_1 + 8);\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              *piVar8 = uVar12 + 0x3d800000;\n              iVar5 = (int)uVar4;\n              iVar6 = (-iVar5 & 0xffffU) + 0x396b0000;\n              piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[3] = iVar6;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[2] = uVar11 + 0x800c0000;\n                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }\n              piVar8[7] = 0x7d605a14;\n              piVar8[8] = 0x4e800420;\n              piVar8 = piVar8 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar9 + lVar3) <= piVar8) {\n                return;\n              }\n              do {\n                *piVar8 = 0x60000000;\n                piVar8 = piVar8 + 1;\n              } while (piVar8 < (int *)((long)piVar9 + lVar3));\n              return;\n            }\n          }\n          else {\n            piVar8[6] = 0x7d6c5850;\n            piVar8[1] = 0x7c0802a6;\n            piVar8[2] = 0x429f0005;\n            piVar8[4] = 0x7d8802a6;\n            piVar8[5] = 0x7c0803a6;\n            *piVar8 = (iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar8[3] = (iVar5 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              piVar8[7] = uVar12 + 0x3d8c0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }\n              piVar8[0xc] = 0x7d605a14;\n              piVar8[10] = 0x7c0903a6;\n              piVar8[0xb] = 0x7c0b5a14;\n              piVar8[0xd] = 0x4e800420;\n              piVar8 = piVar8 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }" if (parenthesized_expression "((*(char *)(lVar2 + 0x2a61) == '\0') && (*(char *)(lVar2 + 0x42d1) == '\0'))" ( (binary_expression "(*(char *)(lVar2 + 0x2a61) == '\0') && (*(char *)(lVar2 + 0x42d1) == '\0')" (parenthesized_expression "(*(char *)(lVar2 + 0x2a61) == '\0')" ( (binary_expression "*(char *)(lVar2 + 0x2a61) == '\0'" (pointer_expression "*(char *)(lVar2 + 0x2a61)" * (cast_expression "(char *)(lVar2 + 0x2a61)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x2a61)" ( (binary_expression "lVar2 + 0x2a61" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(char *)(lVar2 + 0x42d1) == '\0')" ( (binary_expression "*(char *)(lVar2 + 0x42d1) == '\0'" (pointer_expression "*(char *)(lVar2 + 0x42d1)" * (cast_expression "(char *)(lVar2 + 0x42d1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x42d1)" ( (binary_expression "lVar2 + 0x42d1" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n            if ((bVar1 & 1) != 0) {\n              uVar4 = *(undefined8 *)(param_1 + 8);\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              *piVar8 = uVar12 + 0x3d800000;\n              iVar5 = (int)uVar4;\n              iVar6 = (-iVar5 & 0xffffU) + 0x396b0000;\n              piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[3] = iVar6;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[2] = uVar11 + 0x800c0000;\n                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }\n              piVar8[7] = 0x7d605a14;\n              piVar8[8] = 0x4e800420;\n              piVar8 = piVar8 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar9 + lVar3) <= piVar8) {\n                return;\n              }\n              do {\n                *piVar8 = 0x60000000;\n                piVar8 = piVar8 + 1;\n              } while (piVar8 < (int *)((long)piVar9 + lVar3));\n              return;\n            }\n          }" { (if_statement "if ((bVar1 & 1) != 0) {\n              uVar4 = *(undefined8 *)(param_1 + 8);\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              *piVar8 = uVar12 + 0x3d800000;\n              iVar5 = (int)uVar4;\n              iVar6 = (-iVar5 & 0xffffU) + 0x396b0000;\n              piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[3] = iVar6;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[2] = uVar11 + 0x800c0000;\n                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }\n              piVar8[7] = 0x7d605a14;\n              piVar8[8] = 0x4e800420;\n              piVar8 = piVar8 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar9 + lVar3) <= piVar8) {\n                return;\n              }\n              do {\n                *piVar8 = 0x60000000;\n                piVar8 = piVar8 + 1;\n              } while (piVar8 < (int *)((long)piVar9 + lVar3));\n              return;\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              uVar4 = *(undefined8 *)(param_1 + 8);\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              *piVar8 = uVar12 + 0x3d800000;\n              iVar5 = (int)uVar4;\n              iVar6 = (-iVar5 & 0xffffU) + 0x396b0000;\n              piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[3] = iVar6;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[2] = uVar11 + 0x800c0000;\n                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }\n              piVar8[7] = 0x7d605a14;\n              piVar8[8] = 0x4e800420;\n              piVar8 = piVar8 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar9 + lVar3) <= piVar8) {\n                return;\n              }\n              do {\n                *piVar8 = 0x60000000;\n                piVar8 = piVar8 + 1;\n              } while (piVar8 < (int *)((long)piVar9 + lVar3));\n              return;\n            }" { (expression_statement "uVar4 = *(undefined8 *)(param_1 + 8);" (assignment_expression "uVar4 = *(undefined8 *)(param_1 + 8)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 8)" * (cast_expression "(undefined8 *)(param_1 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = iVar13 + 0x8004U >> 0x10;" (assignment_expression "uVar12 = iVar13 + 0x8004U >> 0x10" identifier = (binary_expression "iVar13 + 0x8004U >> 0x10" (binary_expression "iVar13 + 0x8004U" identifier + number_literal) >> number_literal)) ;) (expression_statement "*piVar8 = uVar12 + 0x3d800000;" (assignment_expression "*piVar8 = uVar12 + 0x3d800000" (pointer_expression "*piVar8" * identifier) = (binary_expression "uVar12 + 0x3d800000" identifier + number_literal)) ;) (expression_statement "iVar5 = (int)uVar4;" (assignment_expression "iVar5 = (int)uVar4" identifier = (cast_expression "(int)uVar4" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "iVar6 = (-iVar5 & 0xffffU) + 0x396b0000;" (assignment_expression "iVar6 = (-iVar5 & 0xffffU) + 0x396b0000" identifier = (binary_expression "(-iVar5 & 0xffffU) + 0x396b0000" (parenthesized_expression "(-iVar5 & 0xffffU)" ( (binary_expression "-iVar5 & 0xffffU" (unary_expression "-iVar5" - identifier) & number_literal) )) + number_literal)) ;) (expression_statement "piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000;" (assignment_expression "piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000" (subscript_expression "piVar8[1]" identifier [ number_literal ]) = (binary_expression "(0x8000U - iVar5 >> 0x10) + 0x3d6b0000" (parenthesized_expression "(0x8000U - iVar5 >> 0x10)" ( (binary_expression "0x8000U - iVar5 >> 0x10" (binary_expression "0x8000U - iVar5" number_literal - identifier) >> number_literal) )) + number_literal)) ;) (expression_statement "uVar11 = (uint)(ushort)((short)iVar13 + 4);" (assignment_expression "uVar11 = (uint)(ushort)((short)iVar13 + 4)" identifier = (call_expression "(uint)(ushort)((short)iVar13 + 4)" (call_expression "(uint)(ushort)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(ushort)" ( identifier ))) (argument_list "((short)iVar13 + 4)" ( (binary_expression "(short)iVar13 + 4" (cast_expression "(short)iVar13" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier) + number_literal) )))) ;) (if_statement "if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[3] = iVar6;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[2] = uVar11 + 0x800c0000;\n                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }" if (parenthesized_expression "(iVar13 + 0x8008U >> 0x10 == uVar12)" ( (binary_expression "iVar13 + 0x8008U >> 0x10 == uVar12" (binary_expression "iVar13 + 0x8008U >> 0x10" (binary_expression "iVar13 + 0x8008U" identifier + number_literal) >> number_literal) == identifier) )) (compound_statement "{\n                piVar8[3] = iVar6;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[2] = uVar11 + 0x800c0000;\n                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }" { (expression_statement "piVar8[3] = iVar6;" (assignment_expression "piVar8[3] = iVar6" (subscript_expression "piVar8[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar8[4] = 0x7c0903a6;" (assignment_expression "piVar8[4] = 0x7c0903a6" (subscript_expression "piVar8[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[5] = 0x7c0b5a14;" (assignment_expression "piVar8[5] = 0x7c0b5a14" (subscript_expression "piVar8[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[2] = uVar11 + 0x800c0000;" (assignment_expression "piVar8[2] = uVar11 + 0x800c0000" (subscript_expression "piVar8[2]" identifier [ number_literal ]) = (binary_expression "uVar11 + 0x800c0000" identifier + number_literal)) ;) (expression_statement "piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;" (assignment_expression "piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000" (subscript_expression "piVar8[6]" identifier [ number_literal ]) = (binary_expression "(iVar13 + 8U & 0xffff) + 0x818c0000" (parenthesized_expression "(iVar13 + 8U & 0xffff)" ( (binary_expression "iVar13 + 8U & 0xffff" (binary_expression "iVar13 + 8U" identifier + number_literal) & number_literal) )) + number_literal)) ;) }) (else_clause "else {\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }" else (compound_statement "{\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }" { (expression_statement "piVar8[3] = iVar6;" (assignment_expression "piVar8[3] = iVar6" (subscript_expression "piVar8[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar8[2] = uVar11 + 0x840c0000;" (assignment_expression "piVar8[2] = uVar11 + 0x840c0000" (subscript_expression "piVar8[2]" identifier [ number_literal ]) = (binary_expression "uVar11 + 0x840c0000" identifier + number_literal)) ;) (expression_statement "piVar8[4] = 0x7c0903a6;" (assignment_expression "piVar8[4] = 0x7c0903a6" (subscript_expression "piVar8[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[5] = 0x7c0b5a14;" (assignment_expression "piVar8[5] = 0x7c0b5a14" (subscript_expression "piVar8[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[6] = -0x7e73fffc;" (assignment_expression "piVar8[6] = -0x7e73fffc" (subscript_expression "piVar8[6]" identifier [ number_literal ]) = number_literal) ;) }))) (expression_statement "piVar8[7] = 0x7d605a14;" (assignment_expression "piVar8[7] = 0x7d605a14" (subscript_expression "piVar8[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[8] = 0x4e800420;" (assignment_expression "piVar8[8] = 0x4e800420" (subscript_expression "piVar8[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8 = piVar8 + 9;" (assignment_expression "piVar8 = piVar8 + 9" identifier = (binary_expression "piVar8 + 9" identifier + number_literal)) ;) (labeled_statement "joined_r0x001dd725:\n              if ((int *)((long)piVar9 + lVar3) <= piVar8) {\n                return;\n              }" statement_identifier : (if_statement "if ((int *)((long)piVar9 + lVar3) <= piVar8) {\n                return;\n              }" if (parenthesized_expression "((int *)((long)piVar9 + lVar3) <= piVar8)" ( (binary_expression "(int *)((long)piVar9 + lVar3) <= piVar8" (cast_expression "(int *)((long)piVar9 + lVar3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)piVar9 + lVar3)" ( (binary_expression "(long)piVar9 + lVar3" (cast_expression "(long)piVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) ))) <= identifier) )) (compound_statement "{\n                return;\n              }" { (return_statement "return;" return ;) }))) (do_statement "do {\n                *piVar8 = 0x60000000;\n                piVar8 = piVar8 + 1;\n              } while (piVar8 < (int *)((long)piVar9 + lVar3));" do (compound_statement "{\n                *piVar8 = 0x60000000;\n                piVar8 = piVar8 + 1;\n              }" { (expression_statement "*piVar8 = 0x60000000;" (assignment_expression "*piVar8 = 0x60000000" (pointer_expression "*piVar8" * identifier) = number_literal) ;) (expression_statement "piVar8 = piVar8 + 1;" (assignment_expression "piVar8 = piVar8 + 1" identifier = (binary_expression "piVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar8 < (int *)((long)piVar9 + lVar3))" ( (binary_expression "piVar8 < (int *)((long)piVar9 + lVar3)" identifier < (cast_expression "(int *)((long)piVar9 + lVar3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)piVar9 + lVar3)" ( (binary_expression "(long)piVar9 + lVar3" (cast_expression "(long)piVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) )) ;) (return_statement "return;" return ;) })) }) (else_clause "else {\n            piVar8[6] = 0x7d6c5850;\n            piVar8[1] = 0x7c0802a6;\n            piVar8[2] = 0x429f0005;\n            piVar8[4] = 0x7d8802a6;\n            piVar8[5] = 0x7c0803a6;\n            *piVar8 = (iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar8[3] = (iVar5 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              piVar8[7] = uVar12 + 0x3d8c0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }\n              piVar8[0xc] = 0x7d605a14;\n              piVar8[10] = 0x7c0903a6;\n              piVar8[0xb] = 0x7c0b5a14;\n              piVar8[0xd] = 0x4e800420;\n              piVar8 = piVar8 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }" else (compound_statement "{\n            piVar8[6] = 0x7d6c5850;\n            piVar8[1] = 0x7c0802a6;\n            piVar8[2] = 0x429f0005;\n            piVar8[4] = 0x7d8802a6;\n            piVar8[5] = 0x7c0803a6;\n            *piVar8 = (iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar8[3] = (iVar5 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              piVar8[7] = uVar12 + 0x3d8c0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }\n              piVar8[0xc] = 0x7d605a14;\n              piVar8[10] = 0x7c0903a6;\n              piVar8[0xb] = 0x7c0b5a14;\n              piVar8[0xd] = 0x4e800420;\n              piVar8 = piVar8 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }" { (expression_statement "piVar8[6] = 0x7d6c5850;" (assignment_expression "piVar8[6] = 0x7d6c5850" (subscript_expression "piVar8[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[1] = 0x7c0802a6;" (assignment_expression "piVar8[1] = 0x7c0802a6" (subscript_expression "piVar8[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[2] = 0x429f0005;" (assignment_expression "piVar8[2] = 0x429f0005" (subscript_expression "piVar8[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[4] = 0x7d8802a6;" (assignment_expression "piVar8[4] = 0x7d8802a6" (subscript_expression "piVar8[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[5] = 0x7c0803a6;" (assignment_expression "piVar8[5] = 0x7c0803a6" (subscript_expression "piVar8[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*piVar8 = (iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000;" (assignment_expression "*piVar8 = (iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000" (pointer_expression "*piVar8" * identifier) = (binary_expression "(iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000" (parenthesized_expression "(iVar5 + 0x7fccU >> 0x10)" ( (binary_expression "iVar5 + 0x7fccU >> 0x10" (binary_expression "iVar5 + 0x7fccU" identifier + number_literal) >> number_literal) )) + number_literal)) ;) (expression_statement "piVar8[3] = (iVar5 - 0x34U & 0xffff) + 0x396b0000;" (assignment_expression "piVar8[3] = (iVar5 - 0x34U & 0xffff) + 0x396b0000" (subscript_expression "piVar8[3]" identifier [ number_literal ]) = (binary_expression "(iVar5 - 0x34U & 0xffff) + 0x396b0000" (parenthesized_expression "(iVar5 - 0x34U & 0xffff)" ( (binary_expression "iVar5 - 0x34U & 0xffff" (binary_expression "iVar5 - 0x34U" identifier - number_literal) & number_literal) )) + number_literal)) ;) (if_statement "if ((bVar1 & 1) != 0) {\n              iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              piVar8[7] = uVar12 + 0x3d8c0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }\n              piVar8[0xc] = 0x7d605a14;\n              piVar8[10] = 0x7c0903a6;\n              piVar8[0xb] = 0x7c0b5a14;\n              piVar8[0xd] = 0x4e800420;\n              piVar8 = piVar8 + 0xe;\n              goto joined_r0x001dd725;\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              iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              piVar8[7] = uVar12 + 0x3d8c0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }\n              piVar8[0xc] = 0x7d605a14;\n              piVar8[10] = 0x7c0903a6;\n              piVar8[0xb] = 0x7c0b5a14;\n              piVar8[0xd] = 0x4e800420;\n              piVar8 = piVar8 + 0xe;\n              goto joined_r0x001dd725;\n            }" { (expression_statement "iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));" (assignment_expression "iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8))" identifier = (binary_expression "iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8))" identifier - (parenthesized_expression "((iVar5 - 0x34U) + *(int *)(param_1 + 8))" ( (binary_expression "(iVar5 - 0x34U) + *(int *)(param_1 + 8)" (parenthesized_expression "(iVar5 - 0x34U)" ( (binary_expression "iVar5 - 0x34U" identifier - number_literal) )) + (pointer_expression "*(int *)(param_1 + 8)" * (cast_expression "(int *)(param_1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) )))) ;) (expression_statement "uVar12 = iVar13 + 0x8004U >> 0x10;" (assignment_expression "uVar12 = iVar13 + 0x8004U >> 0x10" identifier = (binary_expression "iVar13 + 0x8004U >> 0x10" (binary_expression "iVar13 + 0x8004U" identifier + number_literal) >> number_literal)) ;) (expression_statement "piVar8[7] = uVar12 + 0x3d8c0000;" (assignment_expression "piVar8[7] = uVar12 + 0x3d8c0000" (subscript_expression "piVar8[7]" identifier [ number_literal ]) = (binary_expression "uVar12 + 0x3d8c0000" identifier + number_literal)) ;) (expression_statement "uVar11 = (uint)(ushort)((short)iVar13 + 4);" (assignment_expression "uVar11 = (uint)(ushort)((short)iVar13 + 4)" identifier = (call_expression "(uint)(ushort)((short)iVar13 + 4)" (call_expression "(uint)(ushort)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(ushort)" ( identifier ))) (argument_list "((short)iVar13 + 4)" ( (binary_expression "(short)iVar13 + 4" (cast_expression "(short)iVar13" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier) + number_literal) )))) ;) (if_statement "if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }" if (parenthesized_expression "(iVar13 + 0x8008U >> 0x10 == uVar12)" ( (binary_expression "iVar13 + 0x8008U >> 0x10 == uVar12" (binary_expression "iVar13 + 0x8008U >> 0x10" (binary_expression "iVar13 + 0x8008U" identifier + number_literal) >> number_literal) == identifier) )) (compound_statement "{\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }" { (expression_statement "piVar8[8] = uVar11 + 0x800c0000;" (assignment_expression "piVar8[8] = uVar11 + 0x800c0000" (subscript_expression "piVar8[8]" identifier [ number_literal ]) = (binary_expression "uVar11 + 0x800c0000" identifier + number_literal)) ;) (expression_statement "piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;" (assignment_expression "piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000" (subscript_expression "piVar8[9]" identifier [ number_literal ]) = (binary_expression "(iVar13 + 8U & 0xffff) + 0x818c0000" (parenthesized_expression "(iVar13 + 8U & 0xffff)" ( (binary_expression "iVar13 + 8U & 0xffff" (binary_expression "iVar13 + 8U" identifier + number_literal) & number_literal) )) + number_literal)) ;) }) (else_clause "else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }" else (compound_statement "{\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }" { (expression_statement "piVar8[9] = -0x7e73fffc;" (assignment_expression "piVar8[9] = -0x7e73fffc" (subscript_expression "piVar8[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[8] = uVar11 + 0x840c0000;" (assignment_expression "piVar8[8] = uVar11 + 0x840c0000" (subscript_expression "piVar8[8]" identifier [ number_literal ]) = (binary_expression "uVar11 + 0x840c0000" identifier + number_literal)) ;) }))) (expression_statement "piVar8[0xc] = 0x7d605a14;" (assignment_expression "piVar8[0xc] = 0x7d605a14" (subscript_expression "piVar8[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[10] = 0x7c0903a6;" (assignment_expression "piVar8[10] = 0x7c0903a6" (subscript_expression "piVar8[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[0xb] = 0x7c0b5a14;" (assignment_expression "piVar8[0xb] = 0x7c0b5a14" (subscript_expression "piVar8[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[0xd] = 0x4e800420;" (assignment_expression "piVar8[0xd] = 0x4e800420" (subscript_expression "piVar8[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8 = piVar8 + 0xe;" (assignment_expression "piVar8 = piVar8 + 0xe" identifier = (binary_expression "piVar8 + 0xe" identifier + number_literal)) ;) (goto_statement "goto joined_r0x001dd725;" goto statement_identifier ;) })) }))) })) })) comment (expression_statement "FUN_00352af0("../../gold/output.h",0xc5,"address");" (call_expression "FUN_00352af0("../../gold/output.h",0xc5,"address")" identifier (argument_list "("../../gold/output.h",0xc5,"address")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""address"" " string_content ") ))) ;) })) }))) comment (expression_statement "FUN_00352af0("../../gold/powerpc.cc",0x36a,"plt_section");" (call_expression "FUN_00352af0("../../gold/powerpc.cc",0x36a,"plt_section")" identifier (argument_list "("../../gold/powerpc.cc",0x36a,"plt_section")" ( (string_literal ""../../gold/powerpc.cc"" " string_content ") , number_literal , (string_literal ""plt_section"" " string_content ") ))) ;) })))
(translation_unit "/* WARNING: Type propagation algorithm not settling */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* WARNING: Enum "ELFOSABI": Some values do not have unique names */\n/* DWARF original prototype: void do_write(Output_data_glink<32,_false> * this, Output_file * of) */\n\nvoid __thiscall\nanon_unknown.dwarf_6a1ea8::Output_data_glink<32,_false>::do_write\n          (Output_data_glink<32,_false> *this,Output_file *of)\n\n{\n  byte bVar1;\n  size_t size;\n  long lVar2;\n  Output_data_plt_powerpc<32,_false> *pOVar3;\n  Output_data_got_powerpc<32,_false> *pOVar4;\n  General_options *pGVar5;\n  undefined8 uVar6;\n  int iVar7;\n  int iVar8;\n  int *piVar9;\n  int *piVar10;\n  Output_file *in_RCX;\n  int *piVar11;\n  int *piVar12;\n  uint uVar13;\n  uint uVar14;\n  int iVar15;\n  \n  bVar1 = this->field_0x20;\n  if ((bVar1 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n  }\n  size = *(size_t *)&this->field_0x18;\n  if ((bVar1 & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n  }\n  lVar2 = *(long *)&this->field_0x10;\n  if (((long)size < 0) || (of->file_size_ < (long)(size + lVar2))) {\n    gold::Output_file::get_output_view((Output_file *)this,(off_t)of,size,in_RCX);\n  }\n  else {\n    piVar11 = (int *)(of->base_ + size);\n    pOVar3 = this->targ_->plt_;\n    if (pOVar3 != (Output_data_plt_powerpc<32,_false> *)0x0) {\n      if (((pOVar3->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n           field_0x20 & 1) != 0) {\n        pOVar4 = this->targ_->got_;\n        if (pOVar4 == (Output_data_got_powerpc<32,_false> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          Target_powerpc<32,_false>::got_section((Target_powerpc<32,_false> *)this);\n        }\n        if (((pOVar4->super_Output_data_got<32,_false>).super_Output_data_got_base.\n             super_Output_section_data_build.super_Output_section_data.super_Output_data.field_0x20\n            & 1) != 0) {\n          iVar15 = (int)(pOVar4->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                        super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                        address_ + pOVar4->header_index_ * 4;\n          iVar7 = (int)lVar2;\n          piVar12 = (int *)((ulong)(iVar7 - 0x40) + (long)piVar11);\n          piVar10 = piVar11;\n          if (piVar11 < piVar12 + -8) {\n            do {\n              piVar9 = piVar10 + 1;\n              *piVar10 = ((int)piVar12 + 0x48000000) - (int)piVar10;\n              piVar10 = piVar9;\n            } while (piVar9 < piVar12 + -8);\n            piVar10 = (int *)((long)piVar11 +\n                             ((long)piVar12 + (-0x21 - (long)piVar11) & 0xfffffffffffffffcU) + 4);\n          }\n          piVar9 = piVar10;\n          if (piVar10 < piVar12) {\n            do {\n              *piVar9 = 0x60000000;\n              piVar9 = piVar9 + 1;\n            } while (piVar9 < piVar12);\n            piVar10 = (int *)((long)piVar10 +\n                             ((long)piVar12 + (-1 - (long)piVar10) & 0xfffffffffffffffcU) + 4);\n          }\n          pGVar5 = gold::parameters->options_;\n          if (pGVar5 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n          }\n          if (((pGVar5->shared_).value == false) && ((pGVar5->pie_).value == false)) {\n            if ((bVar1 & 1) != 0) {\n              uVar6 = *(undefined8 *)&this->field_0x8;\n              uVar14 = iVar15 + 0x8004U >> 0x10;\n              *piVar10 = uVar14 + 0x3d800000;\n              iVar7 = (int)uVar6;\n              iVar8 = (-iVar7 & 0xffffU) + 0x396b0000;\n              piVar10[1] = (0x8000U - iVar7 >> 0x10) + 0x3d6b0000;\n              uVar13 = (uint)(ushort)((short)iVar15 + 4);\n              if (iVar15 + 0x8008U >> 0x10 == uVar14) {\n                piVar10[3] = iVar8;\n                piVar10[4] = 0x7c0903a6;\n                piVar10[5] = 0x7c0b5a14;\n                piVar10[2] = uVar13 + 0x800c0000;\n                piVar10[6] = (iVar15 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar10[3] = iVar8;\n                piVar10[2] = uVar13 + 0x840c0000;\n                piVar10[4] = 0x7c0903a6;\n                piVar10[5] = 0x7c0b5a14;\n                piVar10[6] = -0x7e73fffc;\n              }\n              piVar10[7] = 0x7d605a14;\n              piVar10[8] = 0x4e800420;\n              piVar10 = piVar10 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar11 + lVar2) <= piVar10) {\n                return;\n              }\n              do {\n                *piVar10 = 0x60000000;\n                piVar10 = piVar10 + 1;\n              } while (piVar10 < (int *)((long)piVar11 + lVar2));\n              return;\n            }\n          }\n          else {\n            piVar10[6] = 0x7d6c5850;\n            piVar10[1] = 0x7c0802a6;\n            piVar10[2] = 0x429f0005;\n            piVar10[4] = 0x7d8802a6;\n            piVar10[5] = 0x7c0803a6;\n            *piVar10 = (iVar7 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar10[3] = (iVar7 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar15 = iVar15 - ((iVar7 - 0x34U) + *(int *)&this->field_0x8);\n              uVar14 = iVar15 + 0x8004U >> 0x10;\n              piVar10[7] = uVar14 + 0x3d8c0000;\n              uVar13 = (uint)(ushort)((short)iVar15 + 4);\n              if (iVar15 + 0x8008U >> 0x10 == uVar14) {\n                piVar10[8] = uVar13 + 0x800c0000;\n                piVar10[9] = (iVar15 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar10[9] = -0x7e73fffc;\n                piVar10[8] = uVar13 + 0x840c0000;\n              }\n              piVar10[0xc] = 0x7d605a14;\n              piVar10[10] = 0x7c0903a6;\n              piVar10[0xb] = 0x7c0b5a14;\n              piVar10[0xd] = 0x4e800420;\n              piVar10 = piVar10 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }\n        }\n      }\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n    }\n  }\n                    /* WARNING: Subroutine does not return */\n  gold::do_gold_unreachable("../../gold/powerpc.cc",0x36a,"plt_section");\n}\n\n" comment comment comment comment (declaration "void __thiscall\nanon_unknown.dwarf_6a1ea8::Output_data_glink<32,_false>::do_write\n          (Output_data_glink<32,_false> *this,Output_file *of)\n\n{\n  byte bVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "anon_unknown.dwarf_6a1ea8::" identifier . identifier : :) identifier (ERROR "<32" < number_literal) , (ERROR "_false>::do_write\n          (Output_data_glink<32,_false> *this,Output_file *of)\n\n{\n  byte" identifier > : : (function_declarator "do_write\n          (Output_data_glink<32,_false> *this,Output_file *of)" identifier (parameter_list "(Output_data_glink<32,_false> *this,Output_file *of)" ( (parameter_declaration "Output_data_glink" type_identifier) (ERROR "<32" < number_literal) , (parameter_declaration "_false> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "Output_file *of" type_identifier (pointer_declarator "*of" * identifier)) ))) { identifier) identifier ;) (declaration "size_t size;" primitive_type identifier ;) (declaration "long lVar2;" (sized_type_specifier "long" long) identifier ;) (expression_statement "Output_data_plt_powerpc<32,_false> *pOVar3;" (update_expression "Output_data_plt_powerpc<32,_false> *pOVar3" (binary_expression "Output_data_plt_powerpc<32,_false> *pOVar3" (binary_expression "Output_data_plt_powerpc<32" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*pOVar3" * identifier)) --) ;) (expression_statement "Output_data_got_powerpc<32,_false> *pOVar4;" (update_expression "Output_data_got_powerpc<32,_false> *pOVar4" (binary_expression "Output_data_got_powerpc<32,_false> *pOVar4" (binary_expression "Output_data_got_powerpc<32" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*pOVar4" * identifier)) --) ;) (declaration "General_options *pGVar5;" type_identifier (pointer_declarator "*pGVar5" * identifier) ;) (declaration "undefined8 uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "Output_file *in_RCX;" type_identifier (pointer_declarator "*in_RCX" * identifier) ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "int *piVar12;" primitive_type (pointer_declarator "*piVar12" * identifier) ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (expression_statement "bVar1 = this->field_0x20;" (assignment_expression "bVar1 = this->field_0x20" identifier = (field_expression "this->field_0x20" identifier -> field_identifier)) ;) (if_statement "if ((bVar1 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");\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                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n  }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/output.h",0xe3,"offset");" (call_expression "do_gold_unreachable("../../gold/output.h",0xe3,"offset")" identifier (argument_list "("../../gold/output.h",0xe3,"offset")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""offset"" " string_content ") ))) ;)) })) (expression_statement "size = *(size_t *)&this->field_0x18;" (assignment_expression "size = *(size_t *)&this->field_0x18" identifier = (pointer_expression "*(size_t *)&this->field_0x18" * (cast_expression "(size_t *)&this->field_0x18" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->field_0x18" & (field_expression "this->field_0x18" identifier -> field_identifier))))) ;) (if_statement "if ((bVar1 & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\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                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n  }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/output.h",0xcf,"data_size");" (call_expression "do_gold_unreachable("../../gold/output.h",0xcf,"data_size")" identifier (argument_list "("../../gold/output.h",0xcf,"data_size")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""data_size"" " string_content ") ))) ;)) })) (expression_statement "lVar2 = *(long *)&this->field_0x10;" (assignment_expression "lVar2 = *(long *)&this->field_0x10" identifier = (pointer_expression "*(long *)&this->field_0x10" * (cast_expression "(long *)&this->field_0x10" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->field_0x10" & (field_expression "this->field_0x10" identifier -> field_identifier))))) ;) (if_statement "if (((long)size < 0) || (of->file_size_ < (long)(size + lVar2))) {\n    gold::Output_file::get_output_view((Output_file *)this,(off_t)of,size,in_RCX);\n  }\n  else {\n    piVar11 = (int *)(of->base_ + size);\n    pOVar3 = this->targ_->plt_;\n    if (pOVar3 != (Output_data_plt_powerpc<32,_false> *)0x0) {\n      if (((pOVar3->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n           field_0x20 & 1) != 0) {\n        pOVar4 = this->targ_->got_;\n        if (pOVar4 == (Output_data_got_powerpc<32,_false> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          Target_powerpc<32,_false>::got_section((Target_powerpc<32,_false> *)this);\n        }\n        if (((pOVar4->super_Output_data_got<32,_false>).super_Output_data_got_base.\n             super_Output_section_data_build.super_Output_section_data.super_Output_data.field_0x20\n            & 1) != 0) {\n          iVar15 = (int)(pOVar4->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                        super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                        address_ + pOVar4->header_index_ * 4;\n          iVar7 = (int)lVar2;\n          piVar12 = (int *)((ulong)(iVar7 - 0x40) + (long)piVar11);\n          piVar10 = piVar11;\n          if (piVar11 < piVar12 + -8) {\n            do {\n              piVar9 = piVar10 + 1;\n              *piVar10 = ((int)piVar12 + 0x48000000) - (int)piVar10;\n              piVar10 = piVar9;\n            } while (piVar9 < piVar12 + -8);\n            piVar10 = (int *)((long)piVar11 +\n                             ((long)piVar12 + (-0x21 - (long)piVar11) & 0xfffffffffffffffcU) + 4);\n          }\n          piVar9 = piVar10;\n          if (piVar10 < piVar12) {\n            do {\n              *piVar9 = 0x60000000;\n              piVar9 = piVar9 + 1;\n            } while (piVar9 < piVar12);\n            piVar10 = (int *)((long)piVar10 +\n                             ((long)piVar12 + (-1 - (long)piVar10) & 0xfffffffffffffffcU) + 4);\n          }\n          pGVar5 = gold::parameters->options_;\n          if (pGVar5 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n          }\n          if (((pGVar5->shared_).value == false) && ((pGVar5->pie_).value == false)) {\n            if ((bVar1 & 1) != 0) {\n              uVar6 = *(undefined8 *)&this->field_0x8;\n              uVar14 = iVar15 + 0x8004U >> 0x10;\n              *piVar10 = uVar14 + 0x3d800000;\n              iVar7 = (int)uVar6;\n              iVar8 = (-iVar7 & 0xffffU) + 0x396b0000;\n              piVar10[1] = (0x8000U - iVar7 >> 0x10) + 0x3d6b0000;\n              uVar13 = (uint)(ushort)((short)iVar15 + 4);\n              if (iVar15 + 0x8008U >> 0x10 == uVar14) {\n                piVar10[3] = iVar8;\n                piVar10[4] = 0x7c0903a6;\n                piVar10[5] = 0x7c0b5a14;\n                piVar10[2] = uVar13 + 0x800c0000;\n                piVar10[6] = (iVar15 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar10[3] = iVar8;\n                piVar10[2] = uVar13 + 0x840c0000;\n                piVar10[4] = 0x7c0903a6;\n                piVar10[5] = 0x7c0b5a14;\n                piVar10[6] = -0x7e73fffc;\n              }\n              piVar10[7] = 0x7d605a14;\n              piVar10[8] = 0x4e800420;\n              piVar10 = piVar10 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar11 + lVar2) <= piVar10) {\n                return;\n              }\n              do {\n                *piVar10 = 0x60000000;\n                piVar10 = piVar10 + 1;\n              } while (piVar10 < (int *)((long)piVar11 + lVar2));\n              return;\n            }\n          }\n          else {\n            piVar10[6] = 0x7d6c5850;\n            piVar10[1] = 0x7c0802a6;\n            piVar10[2] = 0x429f0005;\n            piVar10[4] = 0x7d8802a6;\n            piVar10[5] = 0x7c0803a6;\n            *piVar10 = (iVar7 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar10[3] = (iVar7 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar15 = iVar15 - ((iVar7 - 0x34U) + *(int *)&this->field_0x8);\n              uVar14 = iVar15 + 0x8004U >> 0x10;\n              piVar10[7] = uVar14 + 0x3d8c0000;\n              uVar13 = (uint)(ushort)((short)iVar15 + 4);\n              if (iVar15 + 0x8008U >> 0x10 == uVar14) {\n                piVar10[8] = uVar13 + 0x800c0000;\n                piVar10[9] = (iVar15 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar10[9] = -0x7e73fffc;\n                piVar10[8] = uVar13 + 0x840c0000;\n              }\n              piVar10[0xc] = 0x7d605a14;\n              piVar10[10] = 0x7c0903a6;\n              piVar10[0xb] = 0x7c0b5a14;\n              piVar10[0xd] = 0x4e800420;\n              piVar10 = piVar10 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }\n        }\n      }\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n    }\n  }" if (parenthesized_expression "(((long)size < 0) || (of->file_size_ < (long)(size + lVar2)))" ( (binary_expression "((long)size < 0) || (of->file_size_ < (long)(size + lVar2))" (parenthesized_expression "((long)size < 0)" ( (binary_expression "(long)size < 0" (cast_expression "(long)size" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) < number_literal) )) || (parenthesized_expression "(of->file_size_ < (long)(size + lVar2))" ( (binary_expression "of->file_size_ < (long)(size + lVar2)" (field_expression "of->file_size_" identifier -> field_identifier) < (cast_expression "(long)(size + lVar2)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(size + lVar2)" ( (binary_expression "size + lVar2" identifier + identifier) )))) ))) )) (compound_statement "{\n    gold::Output_file::get_output_view((Output_file *)this,(off_t)of,size,in_RCX);\n  }" { (labeled_statement "gold::Output_file::get_output_view((Output_file *)this,(off_t)of,size,in_RCX);" statement_identifier : (ERROR ":" :) (labeled_statement "Output_file::get_output_view((Output_file *)this,(off_t)of,size,in_RCX);" statement_identifier : (ERROR ":" :) (expression_statement "get_output_view((Output_file *)this,(off_t)of,size,in_RCX);" (call_expression "get_output_view((Output_file *)this,(off_t)of,size,in_RCX)" identifier (argument_list "((Output_file *)this,(off_t)of,size,in_RCX)" ( (cast_expression "(Output_file *)this" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(off_t)of" ( (type_descriptor "off_t" type_identifier) ) identifier) , identifier , identifier ))) ;))) }) (else_clause "else {\n    piVar11 = (int *)(of->base_ + size);\n    pOVar3 = this->targ_->plt_;\n    if (pOVar3 != (Output_data_plt_powerpc<32,_false> *)0x0) {\n      if (((pOVar3->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n           field_0x20 & 1) != 0) {\n        pOVar4 = this->targ_->got_;\n        if (pOVar4 == (Output_data_got_powerpc<32,_false> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          Target_powerpc<32,_false>::got_section((Target_powerpc<32,_false> *)this);\n        }\n        if (((pOVar4->super_Output_data_got<32,_false>).super_Output_data_got_base.\n             super_Output_section_data_build.super_Output_section_data.super_Output_data.field_0x20\n            & 1) != 0) {\n          iVar15 = (int)(pOVar4->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                        super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                        address_ + pOVar4->header_index_ * 4;\n          iVar7 = (int)lVar2;\n          piVar12 = (int *)((ulong)(iVar7 - 0x40) + (long)piVar11);\n          piVar10 = piVar11;\n          if (piVar11 < piVar12 + -8) {\n            do {\n              piVar9 = piVar10 + 1;\n              *piVar10 = ((int)piVar12 + 0x48000000) - (int)piVar10;\n              piVar10 = piVar9;\n            } while (piVar9 < piVar12 + -8);\n            piVar10 = (int *)((long)piVar11 +\n                             ((long)piVar12 + (-0x21 - (long)piVar11) & 0xfffffffffffffffcU) + 4);\n          }\n          piVar9 = piVar10;\n          if (piVar10 < piVar12) {\n            do {\n              *piVar9 = 0x60000000;\n              piVar9 = piVar9 + 1;\n            } while (piVar9 < piVar12);\n            piVar10 = (int *)((long)piVar10 +\n                             ((long)piVar12 + (-1 - (long)piVar10) & 0xfffffffffffffffcU) + 4);\n          }\n          pGVar5 = gold::parameters->options_;\n          if (pGVar5 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n          }\n          if (((pGVar5->shared_).value == false) && ((pGVar5->pie_).value == false)) {\n            if ((bVar1 & 1) != 0) {\n              uVar6 = *(undefined8 *)&this->field_0x8;\n              uVar14 = iVar15 + 0x8004U >> 0x10;\n              *piVar10 = uVar14 + 0x3d800000;\n              iVar7 = (int)uVar6;\n              iVar8 = (-iVar7 & 0xffffU) + 0x396b0000;\n              piVar10[1] = (0x8000U - iVar7 >> 0x10) + 0x3d6b0000;\n              uVar13 = (uint)(ushort)((short)iVar15 + 4);\n              if (iVar15 + 0x8008U >> 0x10 == uVar14) {\n                piVar10[3] = iVar8;\n                piVar10[4] = 0x7c0903a6;\n                piVar10[5] = 0x7c0b5a14;\n                piVar10[2] = uVar13 + 0x800c0000;\n                piVar10[6] = (iVar15 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar10[3] = iVar8;\n                piVar10[2] = uVar13 + 0x840c0000;\n                piVar10[4] = 0x7c0903a6;\n                piVar10[5] = 0x7c0b5a14;\n                piVar10[6] = -0x7e73fffc;\n              }\n              piVar10[7] = 0x7d605a14;\n              piVar10[8] = 0x4e800420;\n              piVar10 = piVar10 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar11 + lVar2) <= piVar10) {\n                return;\n              }\n              do {\n                *piVar10 = 0x60000000;\n                piVar10 = piVar10 + 1;\n              } while (piVar10 < (int *)((long)piVar11 + lVar2));\n              return;\n            }\n          }\n          else {\n            piVar10[6] = 0x7d6c5850;\n            piVar10[1] = 0x7c0802a6;\n            piVar10[2] = 0x429f0005;\n            piVar10[4] = 0x7d8802a6;\n            piVar10[5] = 0x7c0803a6;\n            *piVar10 = (iVar7 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar10[3] = (iVar7 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar15 = iVar15 - ((iVar7 - 0x34U) + *(int *)&this->field_0x8);\n              uVar14 = iVar15 + 0x8004U >> 0x10;\n              piVar10[7] = uVar14 + 0x3d8c0000;\n              uVar13 = (uint)(ushort)((short)iVar15 + 4);\n              if (iVar15 + 0x8008U >> 0x10 == uVar14) {\n                piVar10[8] = uVar13 + 0x800c0000;\n                piVar10[9] = (iVar15 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar10[9] = -0x7e73fffc;\n                piVar10[8] = uVar13 + 0x840c0000;\n              }\n              piVar10[0xc] = 0x7d605a14;\n              piVar10[10] = 0x7c0903a6;\n              piVar10[0xb] = 0x7c0b5a14;\n              piVar10[0xd] = 0x4e800420;\n              piVar10 = piVar10 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }\n        }\n      }\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n    }\n  }" else (compound_statement "{\n    piVar11 = (int *)(of->base_ + size);\n    pOVar3 = this->targ_->plt_;\n    if (pOVar3 != (Output_data_plt_powerpc<32,_false> *)0x0) {\n      if (((pOVar3->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n           field_0x20 & 1) != 0) {\n        pOVar4 = this->targ_->got_;\n        if (pOVar4 == (Output_data_got_powerpc<32,_false> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          Target_powerpc<32,_false>::got_section((Target_powerpc<32,_false> *)this);\n        }\n        if (((pOVar4->super_Output_data_got<32,_false>).super_Output_data_got_base.\n             super_Output_section_data_build.super_Output_section_data.super_Output_data.field_0x20\n            & 1) != 0) {\n          iVar15 = (int)(pOVar4->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                        super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                        address_ + pOVar4->header_index_ * 4;\n          iVar7 = (int)lVar2;\n          piVar12 = (int *)((ulong)(iVar7 - 0x40) + (long)piVar11);\n          piVar10 = piVar11;\n          if (piVar11 < piVar12 + -8) {\n            do {\n              piVar9 = piVar10 + 1;\n              *piVar10 = ((int)piVar12 + 0x48000000) - (int)piVar10;\n              piVar10 = piVar9;\n            } while (piVar9 < piVar12 + -8);\n            piVar10 = (int *)((long)piVar11 +\n                             ((long)piVar12 + (-0x21 - (long)piVar11) & 0xfffffffffffffffcU) + 4);\n          }\n          piVar9 = piVar10;\n          if (piVar10 < piVar12) {\n            do {\n              *piVar9 = 0x60000000;\n              piVar9 = piVar9 + 1;\n            } while (piVar9 < piVar12);\n            piVar10 = (int *)((long)piVar10 +\n                             ((long)piVar12 + (-1 - (long)piVar10) & 0xfffffffffffffffcU) + 4);\n          }\n          pGVar5 = gold::parameters->options_;\n          if (pGVar5 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n          }\n          if (((pGVar5->shared_).value == false) && ((pGVar5->pie_).value == false)) {\n            if ((bVar1 & 1) != 0) {\n              uVar6 = *(undefined8 *)&this->field_0x8;\n              uVar14 = iVar15 + 0x8004U >> 0x10;\n              *piVar10 = uVar14 + 0x3d800000;\n              iVar7 = (int)uVar6;\n              iVar8 = (-iVar7 & 0xffffU) + 0x396b0000;\n              piVar10[1] = (0x8000U - iVar7 >> 0x10) + 0x3d6b0000;\n              uVar13 = (uint)(ushort)((short)iVar15 + 4);\n              if (iVar15 + 0x8008U >> 0x10 == uVar14) {\n                piVar10[3] = iVar8;\n                piVar10[4] = 0x7c0903a6;\n                piVar10[5] = 0x7c0b5a14;\n                piVar10[2] = uVar13 + 0x800c0000;\n                piVar10[6] = (iVar15 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar10[3] = iVar8;\n                piVar10[2] = uVar13 + 0x840c0000;\n                piVar10[4] = 0x7c0903a6;\n                piVar10[5] = 0x7c0b5a14;\n                piVar10[6] = -0x7e73fffc;\n              }\n              piVar10[7] = 0x7d605a14;\n              piVar10[8] = 0x4e800420;\n              piVar10 = piVar10 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar11 + lVar2) <= piVar10) {\n                return;\n              }\n              do {\n                *piVar10 = 0x60000000;\n                piVar10 = piVar10 + 1;\n              } while (piVar10 < (int *)((long)piVar11 + lVar2));\n              return;\n            }\n          }\n          else {\n            piVar10[6] = 0x7d6c5850;\n            piVar10[1] = 0x7c0802a6;\n            piVar10[2] = 0x429f0005;\n            piVar10[4] = 0x7d8802a6;\n            piVar10[5] = 0x7c0803a6;\n            *piVar10 = (iVar7 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar10[3] = (iVar7 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar15 = iVar15 - ((iVar7 - 0x34U) + *(int *)&this->field_0x8);\n              uVar14 = iVar15 + 0x8004U >> 0x10;\n              piVar10[7] = uVar14 + 0x3d8c0000;\n              uVar13 = (uint)(ushort)((short)iVar15 + 4);\n              if (iVar15 + 0x8008U >> 0x10 == uVar14) {\n                piVar10[8] = uVar13 + 0x800c0000;\n                piVar10[9] = (iVar15 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar10[9] = -0x7e73fffc;\n                piVar10[8] = uVar13 + 0x840c0000;\n              }\n              piVar10[0xc] = 0x7d605a14;\n              piVar10[10] = 0x7c0903a6;\n              piVar10[0xb] = 0x7c0b5a14;\n              piVar10[0xd] = 0x4e800420;\n              piVar10 = piVar10 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }\n        }\n      }\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n    }\n  }" { (expression_statement "piVar11 = (int *)(of->base_ + size);" (assignment_expression "piVar11 = (int *)(of->base_ + size)" identifier = (cast_expression "(int *)(of->base_ + size)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(of->base_ + size)" ( (binary_expression "of->base_ + size" (field_expression "of->base_" identifier -> field_identifier) + identifier) )))) ;) (expression_statement "pOVar3 = this->targ_->plt_;" (assignment_expression "pOVar3 = this->targ_->plt_" identifier = (field_expression "this->targ_->plt_" (field_expression "this->targ_" identifier -> field_identifier) -> field_identifier)) ;) (if_statement "if (pOVar3 != (Output_data_plt_powerpc<32,_false> *)0x0) {\n      if (((pOVar3->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n           field_0x20 & 1) != 0) {\n        pOVar4 = this->targ_->got_;\n        if (pOVar4 == (Output_data_got_powerpc<32,_false> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          Target_powerpc<32,_false>::got_section((Target_powerpc<32,_false> *)this);\n        }\n        if (((pOVar4->super_Output_data_got<32,_false>).super_Output_data_got_base.\n             super_Output_section_data_build.super_Output_section_data.super_Output_data.field_0x20\n            & 1) != 0) {\n          iVar15 = (int)(pOVar4->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                        super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                        address_ + pOVar4->header_index_ * 4;\n          iVar7 = (int)lVar2;\n          piVar12 = (int *)((ulong)(iVar7 - 0x40) + (long)piVar11);\n          piVar10 = piVar11;\n          if (piVar11 < piVar12 + -8) {\n            do {\n              piVar9 = piVar10 + 1;\n              *piVar10 = ((int)piVar12 + 0x48000000) - (int)piVar10;\n              piVar10 = piVar9;\n            } while (piVar9 < piVar12 + -8);\n            piVar10 = (int *)((long)piVar11 +\n                             ((long)piVar12 + (-0x21 - (long)piVar11) & 0xfffffffffffffffcU) + 4);\n          }\n          piVar9 = piVar10;\n          if (piVar10 < piVar12) {\n            do {\n              *piVar9 = 0x60000000;\n              piVar9 = piVar9 + 1;\n            } while (piVar9 < piVar12);\n            piVar10 = (int *)((long)piVar10 +\n                             ((long)piVar12 + (-1 - (long)piVar10) & 0xfffffffffffffffcU) + 4);\n          }\n          pGVar5 = gold::parameters->options_;\n          if (pGVar5 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n          }\n          if (((pGVar5->shared_).value == false) && ((pGVar5->pie_).value == false)) {\n            if ((bVar1 & 1) != 0) {\n              uVar6 = *(undefined8 *)&this->field_0x8;\n              uVar14 = iVar15 + 0x8004U >> 0x10;\n              *piVar10 = uVar14 + 0x3d800000;\n              iVar7 = (int)uVar6;\n              iVar8 = (-iVar7 & 0xffffU) + 0x396b0000;\n              piVar10[1] = (0x8000U - iVar7 >> 0x10) + 0x3d6b0000;\n              uVar13 = (uint)(ushort)((short)iVar15 + 4);\n              if (iVar15 + 0x8008U >> 0x10 == uVar14) {\n                piVar10[3] = iVar8;\n                piVar10[4] = 0x7c0903a6;\n                piVar10[5] = 0x7c0b5a14;\n                piVar10[2] = uVar13 + 0x800c0000;\n                piVar10[6] = (iVar15 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar10[3] = iVar8;\n                piVar10[2] = uVar13 + 0x840c0000;\n                piVar10[4] = 0x7c0903a6;\n                piVar10[5] = 0x7c0b5a14;\n                piVar10[6] = -0x7e73fffc;\n              }\n              piVar10[7] = 0x7d605a14;\n              piVar10[8] = 0x4e800420;\n              piVar10 = piVar10 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar11 + lVar2) <= piVar10) {\n                return;\n              }\n              do {\n                *piVar10 = 0x60000000;\n                piVar10 = piVar10 + 1;\n              } while (piVar10 < (int *)((long)piVar11 + lVar2));\n              return;\n            }\n          }\n          else {\n            piVar10[6] = 0x7d6c5850;\n            piVar10[1] = 0x7c0802a6;\n            piVar10[2] = 0x429f0005;\n            piVar10[4] = 0x7d8802a6;\n            piVar10[5] = 0x7c0803a6;\n            *piVar10 = (iVar7 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar10[3] = (iVar7 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar15 = iVar15 - ((iVar7 - 0x34U) + *(int *)&this->field_0x8);\n              uVar14 = iVar15 + 0x8004U >> 0x10;\n              piVar10[7] = uVar14 + 0x3d8c0000;\n              uVar13 = (uint)(ushort)((short)iVar15 + 4);\n              if (iVar15 + 0x8008U >> 0x10 == uVar14) {\n                piVar10[8] = uVar13 + 0x800c0000;\n                piVar10[9] = (iVar15 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar10[9] = -0x7e73fffc;\n                piVar10[8] = uVar13 + 0x840c0000;\n              }\n              piVar10[0xc] = 0x7d605a14;\n              piVar10[10] = 0x7c0903a6;\n              piVar10[0xb] = 0x7c0b5a14;\n              piVar10[0xd] = 0x4e800420;\n              piVar10 = piVar10 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }\n        }\n      }\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n    }" if (parenthesized_expression "(pOVar3 != (Output_data_plt_powerpc<32,_false> *)0x0)" ( (binary_expression "pOVar3 != (Output_data_plt_powerpc<32,_false> *)0x0)" identifier != (parenthesized_expression "(Output_data_plt_powerpc<32,_false> *)0x0)" ( (comma_expression "Output_data_plt_powerpc<32,_false> *)0x0" (binary_expression "Output_data_plt_powerpc<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) )) (compound_statement "{\n      if (((pOVar3->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n           field_0x20 & 1) != 0) {\n        pOVar4 = this->targ_->got_;\n        if (pOVar4 == (Output_data_got_powerpc<32,_false> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          Target_powerpc<32,_false>::got_section((Target_powerpc<32,_false> *)this);\n        }\n        if (((pOVar4->super_Output_data_got<32,_false>).super_Output_data_got_base.\n             super_Output_section_data_build.super_Output_section_data.super_Output_data.field_0x20\n            & 1) != 0) {\n          iVar15 = (int)(pOVar4->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                        super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                        address_ + pOVar4->header_index_ * 4;\n          iVar7 = (int)lVar2;\n          piVar12 = (int *)((ulong)(iVar7 - 0x40) + (long)piVar11);\n          piVar10 = piVar11;\n          if (piVar11 < piVar12 + -8) {\n            do {\n              piVar9 = piVar10 + 1;\n              *piVar10 = ((int)piVar12 + 0x48000000) - (int)piVar10;\n              piVar10 = piVar9;\n            } while (piVar9 < piVar12 + -8);\n            piVar10 = (int *)((long)piVar11 +\n                             ((long)piVar12 + (-0x21 - (long)piVar11) & 0xfffffffffffffffcU) + 4);\n          }\n          piVar9 = piVar10;\n          if (piVar10 < piVar12) {\n            do {\n              *piVar9 = 0x60000000;\n              piVar9 = piVar9 + 1;\n            } while (piVar9 < piVar12);\n            piVar10 = (int *)((long)piVar10 +\n                             ((long)piVar12 + (-1 - (long)piVar10) & 0xfffffffffffffffcU) + 4);\n          }\n          pGVar5 = gold::parameters->options_;\n          if (pGVar5 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n          }\n          if (((pGVar5->shared_).value == false) && ((pGVar5->pie_).value == false)) {\n            if ((bVar1 & 1) != 0) {\n              uVar6 = *(undefined8 *)&this->field_0x8;\n              uVar14 = iVar15 + 0x8004U >> 0x10;\n              *piVar10 = uVar14 + 0x3d800000;\n              iVar7 = (int)uVar6;\n              iVar8 = (-iVar7 & 0xffffU) + 0x396b0000;\n              piVar10[1] = (0x8000U - iVar7 >> 0x10) + 0x3d6b0000;\n              uVar13 = (uint)(ushort)((short)iVar15 + 4);\n              if (iVar15 + 0x8008U >> 0x10 == uVar14) {\n                piVar10[3] = iVar8;\n                piVar10[4] = 0x7c0903a6;\n                piVar10[5] = 0x7c0b5a14;\n                piVar10[2] = uVar13 + 0x800c0000;\n                piVar10[6] = (iVar15 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar10[3] = iVar8;\n                piVar10[2] = uVar13 + 0x840c0000;\n                piVar10[4] = 0x7c0903a6;\n                piVar10[5] = 0x7c0b5a14;\n                piVar10[6] = -0x7e73fffc;\n              }\n              piVar10[7] = 0x7d605a14;\n              piVar10[8] = 0x4e800420;\n              piVar10 = piVar10 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar11 + lVar2) <= piVar10) {\n                return;\n              }\n              do {\n                *piVar10 = 0x60000000;\n                piVar10 = piVar10 + 1;\n              } while (piVar10 < (int *)((long)piVar11 + lVar2));\n              return;\n            }\n          }\n          else {\n            piVar10[6] = 0x7d6c5850;\n            piVar10[1] = 0x7c0802a6;\n            piVar10[2] = 0x429f0005;\n            piVar10[4] = 0x7d8802a6;\n            piVar10[5] = 0x7c0803a6;\n            *piVar10 = (iVar7 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar10[3] = (iVar7 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar15 = iVar15 - ((iVar7 - 0x34U) + *(int *)&this->field_0x8);\n              uVar14 = iVar15 + 0x8004U >> 0x10;\n              piVar10[7] = uVar14 + 0x3d8c0000;\n              uVar13 = (uint)(ushort)((short)iVar15 + 4);\n              if (iVar15 + 0x8008U >> 0x10 == uVar14) {\n                piVar10[8] = uVar13 + 0x800c0000;\n                piVar10[9] = (iVar15 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar10[9] = -0x7e73fffc;\n                piVar10[8] = uVar13 + 0x840c0000;\n              }\n              piVar10[0xc] = 0x7d605a14;\n              piVar10[10] = 0x7c0903a6;\n              piVar10[0xb] = 0x7c0b5a14;\n              piVar10[0xd] = 0x4e800420;\n              piVar10 = piVar10 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }\n        }\n      }\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n    }" { (if_statement "if (((pOVar3->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n           field_0x20 & 1) != 0) {\n        pOVar4 = this->targ_->got_;\n        if (pOVar4 == (Output_data_got_powerpc<32,_false> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          Target_powerpc<32,_false>::got_section((Target_powerpc<32,_false> *)this);\n        }\n        if (((pOVar4->super_Output_data_got<32,_false>).super_Output_data_got_base.\n             super_Output_section_data_build.super_Output_section_data.super_Output_data.field_0x20\n            & 1) != 0) {\n          iVar15 = (int)(pOVar4->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                        super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                        address_ + pOVar4->header_index_ * 4;\n          iVar7 = (int)lVar2;\n          piVar12 = (int *)((ulong)(iVar7 - 0x40) + (long)piVar11);\n          piVar10 = piVar11;\n          if (piVar11 < piVar12 + -8) {\n            do {\n              piVar9 = piVar10 + 1;\n              *piVar10 = ((int)piVar12 + 0x48000000) - (int)piVar10;\n              piVar10 = piVar9;\n            } while (piVar9 < piVar12 + -8);\n            piVar10 = (int *)((long)piVar11 +\n                             ((long)piVar12 + (-0x21 - (long)piVar11) & 0xfffffffffffffffcU) + 4);\n          }\n          piVar9 = piVar10;\n          if (piVar10 < piVar12) {\n            do {\n              *piVar9 = 0x60000000;\n              piVar9 = piVar9 + 1;\n            } while (piVar9 < piVar12);\n            piVar10 = (int *)((long)piVar10 +\n                             ((long)piVar12 + (-1 - (long)piVar10) & 0xfffffffffffffffcU) + 4);\n          }\n          pGVar5 = gold::parameters->options_;\n          if (pGVar5 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n          }\n          if (((pGVar5->shared_).value == false) && ((pGVar5->pie_).value == false)) {\n            if ((bVar1 & 1) != 0) {\n              uVar6 = *(undefined8 *)&this->field_0x8;\n              uVar14 = iVar15 + 0x8004U >> 0x10;\n              *piVar10 = uVar14 + 0x3d800000;\n              iVar7 = (int)uVar6;\n              iVar8 = (-iVar7 & 0xffffU) + 0x396b0000;\n              piVar10[1] = (0x8000U - iVar7 >> 0x10) + 0x3d6b0000;\n              uVar13 = (uint)(ushort)((short)iVar15 + 4);\n              if (iVar15 + 0x8008U >> 0x10 == uVar14) {\n                piVar10[3] = iVar8;\n                piVar10[4] = 0x7c0903a6;\n                piVar10[5] = 0x7c0b5a14;\n                piVar10[2] = uVar13 + 0x800c0000;\n                piVar10[6] = (iVar15 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar10[3] = iVar8;\n                piVar10[2] = uVar13 + 0x840c0000;\n                piVar10[4] = 0x7c0903a6;\n                piVar10[5] = 0x7c0b5a14;\n                piVar10[6] = -0x7e73fffc;\n              }\n              piVar10[7] = 0x7d605a14;\n              piVar10[8] = 0x4e800420;\n              piVar10 = piVar10 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar11 + lVar2) <= piVar10) {\n                return;\n              }\n              do {\n                *piVar10 = 0x60000000;\n                piVar10 = piVar10 + 1;\n              } while (piVar10 < (int *)((long)piVar11 + lVar2));\n              return;\n            }\n          }\n          else {\n            piVar10[6] = 0x7d6c5850;\n            piVar10[1] = 0x7c0802a6;\n            piVar10[2] = 0x429f0005;\n            piVar10[4] = 0x7d8802a6;\n            piVar10[5] = 0x7c0803a6;\n            *piVar10 = (iVar7 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar10[3] = (iVar7 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar15 = iVar15 - ((iVar7 - 0x34U) + *(int *)&this->field_0x8);\n              uVar14 = iVar15 + 0x8004U >> 0x10;\n              piVar10[7] = uVar14 + 0x3d8c0000;\n              uVar13 = (uint)(ushort)((short)iVar15 + 4);\n              if (iVar15 + 0x8008U >> 0x10 == uVar14) {\n                piVar10[8] = uVar13 + 0x800c0000;\n                piVar10[9] = (iVar15 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar10[9] = -0x7e73fffc;\n                piVar10[8] = uVar13 + 0x840c0000;\n              }\n              piVar10[0xc] = 0x7d605a14;\n              piVar10[10] = 0x7c0903a6;\n              piVar10[0xb] = 0x7c0b5a14;\n              piVar10[0xd] = 0x4e800420;\n              piVar10 = piVar10 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }\n        }\n      }" if (parenthesized_expression "(((pOVar3->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n           field_0x20 & 1) != 0)" ( (binary_expression "((pOVar3->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n           field_0x20 & 1) != 0" (parenthesized_expression "((pOVar3->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n           field_0x20 & 1)" ( (binary_expression "(pOVar3->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n           field_0x20 & 1" (field_expression "(pOVar3->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n           field_0x20" (field_expression "(pOVar3->super_Output_section_data_build).super_Output_section_data.super_Output_data" (field_expression "(pOVar3->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar3->super_Output_section_data_build)" ( (field_expression "pOVar3->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n        pOVar4 = this->targ_->got_;\n        if (pOVar4 == (Output_data_got_powerpc<32,_false> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          Target_powerpc<32,_false>::got_section((Target_powerpc<32,_false> *)this);\n        }\n        if (((pOVar4->super_Output_data_got<32,_false>).super_Output_data_got_base.\n             super_Output_section_data_build.super_Output_section_data.super_Output_data.field_0x20\n            & 1) != 0) {\n          iVar15 = (int)(pOVar4->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                        super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                        address_ + pOVar4->header_index_ * 4;\n          iVar7 = (int)lVar2;\n          piVar12 = (int *)((ulong)(iVar7 - 0x40) + (long)piVar11);\n          piVar10 = piVar11;\n          if (piVar11 < piVar12 + -8) {\n            do {\n              piVar9 = piVar10 + 1;\n              *piVar10 = ((int)piVar12 + 0x48000000) - (int)piVar10;\n              piVar10 = piVar9;\n            } while (piVar9 < piVar12 + -8);\n            piVar10 = (int *)((long)piVar11 +\n                             ((long)piVar12 + (-0x21 - (long)piVar11) & 0xfffffffffffffffcU) + 4);\n          }\n          piVar9 = piVar10;\n          if (piVar10 < piVar12) {\n            do {\n              *piVar9 = 0x60000000;\n              piVar9 = piVar9 + 1;\n            } while (piVar9 < piVar12);\n            piVar10 = (int *)((long)piVar10 +\n                             ((long)piVar12 + (-1 - (long)piVar10) & 0xfffffffffffffffcU) + 4);\n          }\n          pGVar5 = gold::parameters->options_;\n          if (pGVar5 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n          }\n          if (((pGVar5->shared_).value == false) && ((pGVar5->pie_).value == false)) {\n            if ((bVar1 & 1) != 0) {\n              uVar6 = *(undefined8 *)&this->field_0x8;\n              uVar14 = iVar15 + 0x8004U >> 0x10;\n              *piVar10 = uVar14 + 0x3d800000;\n              iVar7 = (int)uVar6;\n              iVar8 = (-iVar7 & 0xffffU) + 0x396b0000;\n              piVar10[1] = (0x8000U - iVar7 >> 0x10) + 0x3d6b0000;\n              uVar13 = (uint)(ushort)((short)iVar15 + 4);\n              if (iVar15 + 0x8008U >> 0x10 == uVar14) {\n                piVar10[3] = iVar8;\n                piVar10[4] = 0x7c0903a6;\n                piVar10[5] = 0x7c0b5a14;\n                piVar10[2] = uVar13 + 0x800c0000;\n                piVar10[6] = (iVar15 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar10[3] = iVar8;\n                piVar10[2] = uVar13 + 0x840c0000;\n                piVar10[4] = 0x7c0903a6;\n                piVar10[5] = 0x7c0b5a14;\n                piVar10[6] = -0x7e73fffc;\n              }\n              piVar10[7] = 0x7d605a14;\n              piVar10[8] = 0x4e800420;\n              piVar10 = piVar10 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar11 + lVar2) <= piVar10) {\n                return;\n              }\n              do {\n                *piVar10 = 0x60000000;\n                piVar10 = piVar10 + 1;\n              } while (piVar10 < (int *)((long)piVar11 + lVar2));\n              return;\n            }\n          }\n          else {\n            piVar10[6] = 0x7d6c5850;\n            piVar10[1] = 0x7c0802a6;\n            piVar10[2] = 0x429f0005;\n            piVar10[4] = 0x7d8802a6;\n            piVar10[5] = 0x7c0803a6;\n            *piVar10 = (iVar7 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar10[3] = (iVar7 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar15 = iVar15 - ((iVar7 - 0x34U) + *(int *)&this->field_0x8);\n              uVar14 = iVar15 + 0x8004U >> 0x10;\n              piVar10[7] = uVar14 + 0x3d8c0000;\n              uVar13 = (uint)(ushort)((short)iVar15 + 4);\n              if (iVar15 + 0x8008U >> 0x10 == uVar14) {\n                piVar10[8] = uVar13 + 0x800c0000;\n                piVar10[9] = (iVar15 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar10[9] = -0x7e73fffc;\n                piVar10[8] = uVar13 + 0x840c0000;\n              }\n              piVar10[0xc] = 0x7d605a14;\n              piVar10[10] = 0x7c0903a6;\n              piVar10[0xb] = 0x7c0b5a14;\n              piVar10[0xd] = 0x4e800420;\n              piVar10 = piVar10 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }\n        }\n      }" { (expression_statement "pOVar4 = this->targ_->got_;" (assignment_expression "pOVar4 = this->targ_->got_" identifier = (field_expression "this->targ_->got_" (field_expression "this->targ_" identifier -> field_identifier) -> field_identifier)) ;) (if_statement "if (pOVar4 == (Output_data_got_powerpc<32,_false> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          Target_powerpc<32,_false>::got_section((Target_powerpc<32,_false> *)this);\n        }" if (parenthesized_expression "(pOVar4 == (Output_data_got_powerpc<32,_false> *)0x0)" ( (binary_expression "pOVar4 == (Output_data_got_powerpc<32,_false> *)0x0)" identifier == (parenthesized_expression "(Output_data_got_powerpc<32,_false> *)0x0)" ( (comma_expression "Output_data_got_powerpc<32,_false> *)0x0" (binary_expression "Output_data_got_powerpc<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          Target_powerpc<32,_false>::got_section((Target_powerpc<32,_false> *)this);\n        }" { comment (expression_statement "Target_powerpc<32,_false>::got_section((Target_powerpc<32,_false> *)this);" (comma_expression "Target_powerpc<32,_false>::got_section((Target_powerpc<32,_false> *)this)" (binary_expression "Target_powerpc<32" identifier < number_literal) , (binary_expression "_false>::got_section((Target_powerpc<32,_false> *)this)" identifier > (ERROR "::" : :) (call_expression "got_section((Target_powerpc<32,_false> *)this)" identifier (argument_list "((Target_powerpc<32,_false> *)this)" ( (parenthesized_expression "(Target_powerpc<32,_false> *)this)" ( (comma_expression "Target_powerpc<32,_false> *)this" (binary_expression "Target_powerpc<32" identifier < number_literal) , (binary_expression "_false> *)this" identifier > (pointer_expression "*)this" * (ERROR ")" )) identifier))) )) ))))) ;) })) (if_statement "if (((pOVar4->super_Output_data_got<32,_false>).super_Output_data_got_base.\n             super_Output_section_data_build.super_Output_section_data.super_Output_data.field_0x20\n            & 1) != 0) {\n          iVar15 = (int)(pOVar4->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                        super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                        address_ + pOVar4->header_index_ * 4;\n          iVar7 = (int)lVar2;\n          piVar12 = (int *)((ulong)(iVar7 - 0x40) + (long)piVar11);\n          piVar10 = piVar11;\n          if (piVar11 < piVar12 + -8) {\n            do {\n              piVar9 = piVar10 + 1;\n              *piVar10 = ((int)piVar12 + 0x48000000) - (int)piVar10;\n              piVar10 = piVar9;\n            } while (piVar9 < piVar12 + -8);\n            piVar10 = (int *)((long)piVar11 +\n                             ((long)piVar12 + (-0x21 - (long)piVar11) & 0xfffffffffffffffcU) + 4);\n          }\n          piVar9 = piVar10;\n          if (piVar10 < piVar12) {\n            do {\n              *piVar9 = 0x60000000;\n              piVar9 = piVar9 + 1;\n            } while (piVar9 < piVar12);\n            piVar10 = (int *)((long)piVar10 +\n                             ((long)piVar12 + (-1 - (long)piVar10) & 0xfffffffffffffffcU) + 4);\n          }\n          pGVar5 = gold::parameters->options_;\n          if (pGVar5 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n          }\n          if (((pGVar5->shared_).value == false) && ((pGVar5->pie_).value == false)) {\n            if ((bVar1 & 1) != 0) {\n              uVar6 = *(undefined8 *)&this->field_0x8;\n              uVar14 = iVar15 + 0x8004U >> 0x10;\n              *piVar10 = uVar14 + 0x3d800000;\n              iVar7 = (int)uVar6;\n              iVar8 = (-iVar7 & 0xffffU) + 0x396b0000;\n              piVar10[1] = (0x8000U - iVar7 >> 0x10) + 0x3d6b0000;\n              uVar13 = (uint)(ushort)((short)iVar15 + 4);\n              if (iVar15 + 0x8008U >> 0x10 == uVar14) {\n                piVar10[3] = iVar8;\n                piVar10[4] = 0x7c0903a6;\n                piVar10[5] = 0x7c0b5a14;\n                piVar10[2] = uVar13 + 0x800c0000;\n                piVar10[6] = (iVar15 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar10[3] = iVar8;\n                piVar10[2] = uVar13 + 0x840c0000;\n                piVar10[4] = 0x7c0903a6;\n                piVar10[5] = 0x7c0b5a14;\n                piVar10[6] = -0x7e73fffc;\n              }\n              piVar10[7] = 0x7d605a14;\n              piVar10[8] = 0x4e800420;\n              piVar10 = piVar10 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar11 + lVar2) <= piVar10) {\n                return;\n              }\n              do {\n                *piVar10 = 0x60000000;\n                piVar10 = piVar10 + 1;\n              } while (piVar10 < (int *)((long)piVar11 + lVar2));\n              return;\n            }\n          }\n          else {\n            piVar10[6] = 0x7d6c5850;\n            piVar10[1] = 0x7c0802a6;\n            piVar10[2] = 0x429f0005;\n            piVar10[4] = 0x7d8802a6;\n            piVar10[5] = 0x7c0803a6;\n            *piVar10 = (iVar7 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar10[3] = (iVar7 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar15 = iVar15 - ((iVar7 - 0x34U) + *(int *)&this->field_0x8);\n              uVar14 = iVar15 + 0x8004U >> 0x10;\n              piVar10[7] = uVar14 + 0x3d8c0000;\n              uVar13 = (uint)(ushort)((short)iVar15 + 4);\n              if (iVar15 + 0x8008U >> 0x10 == uVar14) {\n                piVar10[8] = uVar13 + 0x800c0000;\n                piVar10[9] = (iVar15 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar10[9] = -0x7e73fffc;\n                piVar10[8] = uVar13 + 0x840c0000;\n              }\n              piVar10[0xc] = 0x7d605a14;\n              piVar10[10] = 0x7c0903a6;\n              piVar10[0xb] = 0x7c0b5a14;\n              piVar10[0xd] = 0x4e800420;\n              piVar10 = piVar10 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }\n        }" if (parenthesized_expression "(((pOVar4->super_Output_data_got<32,_false>).super_Output_data_got_base.\n             super_Output_section_data_build.super_Output_section_data.super_Output_data.field_0x20\n            & 1) != 0)" ( (binary_expression "((pOVar4->super_Output_data_got<32,_false>).super_Output_data_got_base.\n             super_Output_section_data_build.super_Output_section_data.super_Output_data.field_0x20\n            & 1) != 0" (parenthesized_expression "((pOVar4->super_Output_data_got<32,_false>).super_Output_data_got_base.\n             super_Output_section_data_build.super_Output_section_data.super_Output_data.field_0x20\n            & 1)" ( (binary_expression "(pOVar4->super_Output_data_got<32,_false>).super_Output_data_got_base.\n             super_Output_section_data_build.super_Output_section_data.super_Output_data.field_0x20\n            & 1" (field_expression "(pOVar4->super_Output_data_got<32,_false>).super_Output_data_got_base.\n             super_Output_section_data_build.super_Output_section_data.super_Output_data.field_0x20" (field_expression "(pOVar4->super_Output_data_got<32,_false>).super_Output_data_got_base.\n             super_Output_section_data_build.super_Output_section_data.super_Output_data" (field_expression "(pOVar4->super_Output_data_got<32,_false>).super_Output_data_got_base.\n             super_Output_section_data_build.super_Output_section_data" (field_expression "(pOVar4->super_Output_data_got<32,_false>).super_Output_data_got_base.\n             super_Output_section_data_build" (field_expression "(pOVar4->super_Output_data_got<32,_false>).super_Output_data_got_base" (parenthesized_expression "(pOVar4->super_Output_data_got<32,_false>)" ( (comma_expression "pOVar4->super_Output_data_got<32,_false" (binary_expression "pOVar4->super_Output_data_got<32" (field_expression "pOVar4->super_Output_data_got" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n          iVar15 = (int)(pOVar4->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                        super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                        address_ + pOVar4->header_index_ * 4;\n          iVar7 = (int)lVar2;\n          piVar12 = (int *)((ulong)(iVar7 - 0x40) + (long)piVar11);\n          piVar10 = piVar11;\n          if (piVar11 < piVar12 + -8) {\n            do {\n              piVar9 = piVar10 + 1;\n              *piVar10 = ((int)piVar12 + 0x48000000) - (int)piVar10;\n              piVar10 = piVar9;\n            } while (piVar9 < piVar12 + -8);\n            piVar10 = (int *)((long)piVar11 +\n                             ((long)piVar12 + (-0x21 - (long)piVar11) & 0xfffffffffffffffcU) + 4);\n          }\n          piVar9 = piVar10;\n          if (piVar10 < piVar12) {\n            do {\n              *piVar9 = 0x60000000;\n              piVar9 = piVar9 + 1;\n            } while (piVar9 < piVar12);\n            piVar10 = (int *)((long)piVar10 +\n                             ((long)piVar12 + (-1 - (long)piVar10) & 0xfffffffffffffffcU) + 4);\n          }\n          pGVar5 = gold::parameters->options_;\n          if (pGVar5 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n          }\n          if (((pGVar5->shared_).value == false) && ((pGVar5->pie_).value == false)) {\n            if ((bVar1 & 1) != 0) {\n              uVar6 = *(undefined8 *)&this->field_0x8;\n              uVar14 = iVar15 + 0x8004U >> 0x10;\n              *piVar10 = uVar14 + 0x3d800000;\n              iVar7 = (int)uVar6;\n              iVar8 = (-iVar7 & 0xffffU) + 0x396b0000;\n              piVar10[1] = (0x8000U - iVar7 >> 0x10) + 0x3d6b0000;\n              uVar13 = (uint)(ushort)((short)iVar15 + 4);\n              if (iVar15 + 0x8008U >> 0x10 == uVar14) {\n                piVar10[3] = iVar8;\n                piVar10[4] = 0x7c0903a6;\n                piVar10[5] = 0x7c0b5a14;\n                piVar10[2] = uVar13 + 0x800c0000;\n                piVar10[6] = (iVar15 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar10[3] = iVar8;\n                piVar10[2] = uVar13 + 0x840c0000;\n                piVar10[4] = 0x7c0903a6;\n                piVar10[5] = 0x7c0b5a14;\n                piVar10[6] = -0x7e73fffc;\n              }\n              piVar10[7] = 0x7d605a14;\n              piVar10[8] = 0x4e800420;\n              piVar10 = piVar10 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar11 + lVar2) <= piVar10) {\n                return;\n              }\n              do {\n                *piVar10 = 0x60000000;\n                piVar10 = piVar10 + 1;\n              } while (piVar10 < (int *)((long)piVar11 + lVar2));\n              return;\n            }\n          }\n          else {\n            piVar10[6] = 0x7d6c5850;\n            piVar10[1] = 0x7c0802a6;\n            piVar10[2] = 0x429f0005;\n            piVar10[4] = 0x7d8802a6;\n            piVar10[5] = 0x7c0803a6;\n            *piVar10 = (iVar7 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar10[3] = (iVar7 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar15 = iVar15 - ((iVar7 - 0x34U) + *(int *)&this->field_0x8);\n              uVar14 = iVar15 + 0x8004U >> 0x10;\n              piVar10[7] = uVar14 + 0x3d8c0000;\n              uVar13 = (uint)(ushort)((short)iVar15 + 4);\n              if (iVar15 + 0x8008U >> 0x10 == uVar14) {\n                piVar10[8] = uVar13 + 0x800c0000;\n                piVar10[9] = (iVar15 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar10[9] = -0x7e73fffc;\n                piVar10[8] = uVar13 + 0x840c0000;\n              }\n              piVar10[0xc] = 0x7d605a14;\n              piVar10[10] = 0x7c0903a6;\n              piVar10[0xb] = 0x7c0b5a14;\n              piVar10[0xd] = 0x4e800420;\n              piVar10 = piVar10 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }\n        }" { (expression_statement "iVar15 = (int)(pOVar4->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                        super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                        address_ + pOVar4->header_index_ * 4;" (assignment_expression "iVar15 = (int)(pOVar4->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                        super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                        address_ + pOVar4->header_index_ * 4" identifier = (binary_expression "(int)(pOVar4->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                        super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                        address_ + pOVar4->header_index_ * 4" (cast_expression "(int)(pOVar4->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                        super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                        address_" ( (type_descriptor "int" primitive_type) ) (field_expression "(pOVar4->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                        super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                        address_" (field_expression "(pOVar4->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                        super_Output_section_data_build.super_Output_section_data.super_Output_data" (field_expression "(pOVar4->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                        super_Output_section_data_build.super_Output_section_data" (field_expression "(pOVar4->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                        super_Output_section_data_build" (field_expression "(pOVar4->super_Output_data_got<32,_false>).super_Output_data_got_base" (parenthesized_expression "(pOVar4->super_Output_data_got<32,_false>)" ( (comma_expression "pOVar4->super_Output_data_got<32,_false" (binary_expression "pOVar4->super_Output_data_got<32" (field_expression "pOVar4->super_Output_data_got" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier)) + (binary_expression "pOVar4->header_index_ * 4" (field_expression "pOVar4->header_index_" identifier -> field_identifier) * number_literal))) ;) (expression_statement "iVar7 = (int)lVar2;" (assignment_expression "iVar7 = (int)lVar2" identifier = (cast_expression "(int)lVar2" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar12 = (int *)((ulong)(iVar7 - 0x40) + (long)piVar11);" (assignment_expression "piVar12 = (int *)((ulong)(iVar7 - 0x40) + (long)piVar11)" identifier = (cast_expression "(int *)((ulong)(iVar7 - 0x40) + (long)piVar11)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)(iVar7 - 0x40) + (long)piVar11)" ( (binary_expression "(ulong)(iVar7 - 0x40) + (long)piVar11" (call_expression "(ulong)(iVar7 - 0x40)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(iVar7 - 0x40)" ( (binary_expression "iVar7 - 0x40" identifier - number_literal) ))) + (cast_expression "(long)piVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) ;) (expression_statement "piVar10 = piVar11;" (assignment_expression "piVar10 = piVar11" identifier = identifier) ;) (if_statement "if (piVar11 < piVar12 + -8) {\n            do {\n              piVar9 = piVar10 + 1;\n              *piVar10 = ((int)piVar12 + 0x48000000) - (int)piVar10;\n              piVar10 = piVar9;\n            } while (piVar9 < piVar12 + -8);\n            piVar10 = (int *)((long)piVar11 +\n                             ((long)piVar12 + (-0x21 - (long)piVar11) & 0xfffffffffffffffcU) + 4);\n          }" if (parenthesized_expression "(piVar11 < piVar12 + -8)" ( (binary_expression "piVar11 < piVar12 + -8" identifier < (binary_expression "piVar12 + -8" identifier + number_literal)) )) (compound_statement "{\n            do {\n              piVar9 = piVar10 + 1;\n              *piVar10 = ((int)piVar12 + 0x48000000) - (int)piVar10;\n              piVar10 = piVar9;\n            } while (piVar9 < piVar12 + -8);\n            piVar10 = (int *)((long)piVar11 +\n                             ((long)piVar12 + (-0x21 - (long)piVar11) & 0xfffffffffffffffcU) + 4);\n          }" { (do_statement "do {\n              piVar9 = piVar10 + 1;\n              *piVar10 = ((int)piVar12 + 0x48000000) - (int)piVar10;\n              piVar10 = piVar9;\n            } while (piVar9 < piVar12 + -8);" do (compound_statement "{\n              piVar9 = piVar10 + 1;\n              *piVar10 = ((int)piVar12 + 0x48000000) - (int)piVar10;\n              piVar10 = piVar9;\n            }" { (expression_statement "piVar9 = piVar10 + 1;" (assignment_expression "piVar9 = piVar10 + 1" identifier = (binary_expression "piVar10 + 1" identifier + number_literal)) ;) (expression_statement "*piVar10 = ((int)piVar12 + 0x48000000) - (int)piVar10;" (assignment_expression "*piVar10 = ((int)piVar12 + 0x48000000) - (int)piVar10" (pointer_expression "*piVar10" * identifier) = (binary_expression "((int)piVar12 + 0x48000000) - (int)piVar10" (parenthesized_expression "((int)piVar12 + 0x48000000)" ( (binary_expression "(int)piVar12 + 0x48000000" (cast_expression "(int)piVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )) - (cast_expression "(int)piVar10" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "piVar10 = piVar9;" (assignment_expression "piVar10 = piVar9" identifier = identifier) ;) }) while (parenthesized_expression "(piVar9 < piVar12 + -8)" ( (binary_expression "piVar9 < piVar12 + -8" identifier < (binary_expression "piVar12 + -8" identifier + number_literal)) )) ;) (expression_statement "piVar10 = (int *)((long)piVar11 +\n                             ((long)piVar12 + (-0x21 - (long)piVar11) & 0xfffffffffffffffcU) + 4);" (assignment_expression "piVar10 = (int *)((long)piVar11 +\n                             ((long)piVar12 + (-0x21 - (long)piVar11) & 0xfffffffffffffffcU) + 4)" identifier = (cast_expression "(int *)((long)piVar11 +\n                             ((long)piVar12 + (-0x21 - (long)piVar11) & 0xfffffffffffffffcU) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)piVar11 +\n                             ((long)piVar12 + (-0x21 - (long)piVar11) & 0xfffffffffffffffcU) + 4)" ( (binary_expression "(long)piVar11 +\n                             ((long)piVar12 + (-0x21 - (long)piVar11) & 0xfffffffffffffffcU) + 4" (binary_expression "(long)piVar11 +\n                             ((long)piVar12 + (-0x21 - (long)piVar11) & 0xfffffffffffffffcU)" (cast_expression "(long)piVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (parenthesized_expression "((long)piVar12 + (-0x21 - (long)piVar11) & 0xfffffffffffffffcU)" ( (binary_expression "(long)piVar12 + (-0x21 - (long)piVar11) & 0xfffffffffffffffcU" (binary_expression "(long)piVar12 + (-0x21 - (long)piVar11)" (cast_expression "(long)piVar12" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (parenthesized_expression "(-0x21 - (long)piVar11)" ( (binary_expression "-0x21 - (long)piVar11" number_literal - (cast_expression "(long)piVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) & number_literal) ))) + number_literal) )))) ;) })) (expression_statement "piVar9 = piVar10;" (assignment_expression "piVar9 = piVar10" identifier = identifier) ;) (if_statement "if (piVar10 < piVar12) {\n            do {\n              *piVar9 = 0x60000000;\n              piVar9 = piVar9 + 1;\n            } while (piVar9 < piVar12);\n            piVar10 = (int *)((long)piVar10 +\n                             ((long)piVar12 + (-1 - (long)piVar10) & 0xfffffffffffffffcU) + 4);\n          }" if (parenthesized_expression "(piVar10 < piVar12)" ( (binary_expression "piVar10 < piVar12" identifier < identifier) )) (compound_statement "{\n            do {\n              *piVar9 = 0x60000000;\n              piVar9 = piVar9 + 1;\n            } while (piVar9 < piVar12);\n            piVar10 = (int *)((long)piVar10 +\n                             ((long)piVar12 + (-1 - (long)piVar10) & 0xfffffffffffffffcU) + 4);\n          }" { (do_statement "do {\n              *piVar9 = 0x60000000;\n              piVar9 = piVar9 + 1;\n            } while (piVar9 < piVar12);" do (compound_statement "{\n              *piVar9 = 0x60000000;\n              piVar9 = piVar9 + 1;\n            }" { (expression_statement "*piVar9 = 0x60000000;" (assignment_expression "*piVar9 = 0x60000000" (pointer_expression "*piVar9" * identifier) = number_literal) ;) (expression_statement "piVar9 = piVar9 + 1;" (assignment_expression "piVar9 = piVar9 + 1" identifier = (binary_expression "piVar9 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar9 < piVar12)" ( (binary_expression "piVar9 < piVar12" identifier < identifier) )) ;) (expression_statement "piVar10 = (int *)((long)piVar10 +\n                             ((long)piVar12 + (-1 - (long)piVar10) & 0xfffffffffffffffcU) + 4);" (assignment_expression "piVar10 = (int *)((long)piVar10 +\n                             ((long)piVar12 + (-1 - (long)piVar10) & 0xfffffffffffffffcU) + 4)" identifier = (cast_expression "(int *)((long)piVar10 +\n                             ((long)piVar12 + (-1 - (long)piVar10) & 0xfffffffffffffffcU) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)piVar10 +\n                             ((long)piVar12 + (-1 - (long)piVar10) & 0xfffffffffffffffcU) + 4)" ( (binary_expression "(long)piVar10 +\n                             ((long)piVar12 + (-1 - (long)piVar10) & 0xfffffffffffffffcU) + 4" (binary_expression "(long)piVar10 +\n                             ((long)piVar12 + (-1 - (long)piVar10) & 0xfffffffffffffffcU)" (cast_expression "(long)piVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (parenthesized_expression "((long)piVar12 + (-1 - (long)piVar10) & 0xfffffffffffffffcU)" ( (binary_expression "(long)piVar12 + (-1 - (long)piVar10) & 0xfffffffffffffffcU" (binary_expression "(long)piVar12 + (-1 - (long)piVar10)" (cast_expression "(long)piVar12" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (parenthesized_expression "(-1 - (long)piVar10)" ( (binary_expression "-1 - (long)piVar10" number_literal - (cast_expression "(long)piVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) & number_literal) ))) + number_literal) )))) ;) })) (expression_statement "pGVar5 = gold::parameters->options_;" (field_expression "pGVar5 = gold::parameters->options_" (assignment_expression "pGVar5 = gold" identifier = identifier) (ERROR "::parameters" : : identifier) -> field_identifier) ;) (if_statement "if (pGVar5 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n          }" if (parenthesized_expression "(pGVar5 == (General_options *)0x0)" ( (binary_expression "pGVar5 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n          }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;)) })) (if_statement "if (((pGVar5->shared_).value == false) && ((pGVar5->pie_).value == false)) {\n            if ((bVar1 & 1) != 0) {\n              uVar6 = *(undefined8 *)&this->field_0x8;\n              uVar14 = iVar15 + 0x8004U >> 0x10;\n              *piVar10 = uVar14 + 0x3d800000;\n              iVar7 = (int)uVar6;\n              iVar8 = (-iVar7 & 0xffffU) + 0x396b0000;\n              piVar10[1] = (0x8000U - iVar7 >> 0x10) + 0x3d6b0000;\n              uVar13 = (uint)(ushort)((short)iVar15 + 4);\n              if (iVar15 + 0x8008U >> 0x10 == uVar14) {\n                piVar10[3] = iVar8;\n                piVar10[4] = 0x7c0903a6;\n                piVar10[5] = 0x7c0b5a14;\n                piVar10[2] = uVar13 + 0x800c0000;\n                piVar10[6] = (iVar15 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar10[3] = iVar8;\n                piVar10[2] = uVar13 + 0x840c0000;\n                piVar10[4] = 0x7c0903a6;\n                piVar10[5] = 0x7c0b5a14;\n                piVar10[6] = -0x7e73fffc;\n              }\n              piVar10[7] = 0x7d605a14;\n              piVar10[8] = 0x4e800420;\n              piVar10 = piVar10 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar11 + lVar2) <= piVar10) {\n                return;\n              }\n              do {\n                *piVar10 = 0x60000000;\n                piVar10 = piVar10 + 1;\n              } while (piVar10 < (int *)((long)piVar11 + lVar2));\n              return;\n            }\n          }\n          else {\n            piVar10[6] = 0x7d6c5850;\n            piVar10[1] = 0x7c0802a6;\n            piVar10[2] = 0x429f0005;\n            piVar10[4] = 0x7d8802a6;\n            piVar10[5] = 0x7c0803a6;\n            *piVar10 = (iVar7 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar10[3] = (iVar7 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar15 = iVar15 - ((iVar7 - 0x34U) + *(int *)&this->field_0x8);\n              uVar14 = iVar15 + 0x8004U >> 0x10;\n              piVar10[7] = uVar14 + 0x3d8c0000;\n              uVar13 = (uint)(ushort)((short)iVar15 + 4);\n              if (iVar15 + 0x8008U >> 0x10 == uVar14) {\n                piVar10[8] = uVar13 + 0x800c0000;\n                piVar10[9] = (iVar15 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar10[9] = -0x7e73fffc;\n                piVar10[8] = uVar13 + 0x840c0000;\n              }\n              piVar10[0xc] = 0x7d605a14;\n              piVar10[10] = 0x7c0903a6;\n              piVar10[0xb] = 0x7c0b5a14;\n              piVar10[0xd] = 0x4e800420;\n              piVar10 = piVar10 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }" if (parenthesized_expression "(((pGVar5->shared_).value == false) && ((pGVar5->pie_).value == false))" ( (binary_expression "((pGVar5->shared_).value == false) && ((pGVar5->pie_).value == false)" (parenthesized_expression "((pGVar5->shared_).value == false)" ( (binary_expression "(pGVar5->shared_).value == false" (field_expression "(pGVar5->shared_).value" (parenthesized_expression "(pGVar5->shared_)" ( (field_expression "pGVar5->shared_" identifier -> field_identifier) )) . field_identifier) == false) )) && (parenthesized_expression "((pGVar5->pie_).value == false)" ( (binary_expression "(pGVar5->pie_).value == false" (field_expression "(pGVar5->pie_).value" (parenthesized_expression "(pGVar5->pie_)" ( (field_expression "pGVar5->pie_" identifier -> field_identifier) )) . field_identifier) == false) ))) )) (compound_statement "{\n            if ((bVar1 & 1) != 0) {\n              uVar6 = *(undefined8 *)&this->field_0x8;\n              uVar14 = iVar15 + 0x8004U >> 0x10;\n              *piVar10 = uVar14 + 0x3d800000;\n              iVar7 = (int)uVar6;\n              iVar8 = (-iVar7 & 0xffffU) + 0x396b0000;\n              piVar10[1] = (0x8000U - iVar7 >> 0x10) + 0x3d6b0000;\n              uVar13 = (uint)(ushort)((short)iVar15 + 4);\n              if (iVar15 + 0x8008U >> 0x10 == uVar14) {\n                piVar10[3] = iVar8;\n                piVar10[4] = 0x7c0903a6;\n                piVar10[5] = 0x7c0b5a14;\n                piVar10[2] = uVar13 + 0x800c0000;\n                piVar10[6] = (iVar15 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar10[3] = iVar8;\n                piVar10[2] = uVar13 + 0x840c0000;\n                piVar10[4] = 0x7c0903a6;\n                piVar10[5] = 0x7c0b5a14;\n                piVar10[6] = -0x7e73fffc;\n              }\n              piVar10[7] = 0x7d605a14;\n              piVar10[8] = 0x4e800420;\n              piVar10 = piVar10 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar11 + lVar2) <= piVar10) {\n                return;\n              }\n              do {\n                *piVar10 = 0x60000000;\n                piVar10 = piVar10 + 1;\n              } while (piVar10 < (int *)((long)piVar11 + lVar2));\n              return;\n            }\n          }" { (if_statement "if ((bVar1 & 1) != 0) {\n              uVar6 = *(undefined8 *)&this->field_0x8;\n              uVar14 = iVar15 + 0x8004U >> 0x10;\n              *piVar10 = uVar14 + 0x3d800000;\n              iVar7 = (int)uVar6;\n              iVar8 = (-iVar7 & 0xffffU) + 0x396b0000;\n              piVar10[1] = (0x8000U - iVar7 >> 0x10) + 0x3d6b0000;\n              uVar13 = (uint)(ushort)((short)iVar15 + 4);\n              if (iVar15 + 0x8008U >> 0x10 == uVar14) {\n                piVar10[3] = iVar8;\n                piVar10[4] = 0x7c0903a6;\n                piVar10[5] = 0x7c0b5a14;\n                piVar10[2] = uVar13 + 0x800c0000;\n                piVar10[6] = (iVar15 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar10[3] = iVar8;\n                piVar10[2] = uVar13 + 0x840c0000;\n                piVar10[4] = 0x7c0903a6;\n                piVar10[5] = 0x7c0b5a14;\n                piVar10[6] = -0x7e73fffc;\n              }\n              piVar10[7] = 0x7d605a14;\n              piVar10[8] = 0x4e800420;\n              piVar10 = piVar10 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar11 + lVar2) <= piVar10) {\n                return;\n              }\n              do {\n                *piVar10 = 0x60000000;\n                piVar10 = piVar10 + 1;\n              } while (piVar10 < (int *)((long)piVar11 + lVar2));\n              return;\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              uVar6 = *(undefined8 *)&this->field_0x8;\n              uVar14 = iVar15 + 0x8004U >> 0x10;\n              *piVar10 = uVar14 + 0x3d800000;\n              iVar7 = (int)uVar6;\n              iVar8 = (-iVar7 & 0xffffU) + 0x396b0000;\n              piVar10[1] = (0x8000U - iVar7 >> 0x10) + 0x3d6b0000;\n              uVar13 = (uint)(ushort)((short)iVar15 + 4);\n              if (iVar15 + 0x8008U >> 0x10 == uVar14) {\n                piVar10[3] = iVar8;\n                piVar10[4] = 0x7c0903a6;\n                piVar10[5] = 0x7c0b5a14;\n                piVar10[2] = uVar13 + 0x800c0000;\n                piVar10[6] = (iVar15 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar10[3] = iVar8;\n                piVar10[2] = uVar13 + 0x840c0000;\n                piVar10[4] = 0x7c0903a6;\n                piVar10[5] = 0x7c0b5a14;\n                piVar10[6] = -0x7e73fffc;\n              }\n              piVar10[7] = 0x7d605a14;\n              piVar10[8] = 0x4e800420;\n              piVar10 = piVar10 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar11 + lVar2) <= piVar10) {\n                return;\n              }\n              do {\n                *piVar10 = 0x60000000;\n                piVar10 = piVar10 + 1;\n              } while (piVar10 < (int *)((long)piVar11 + lVar2));\n              return;\n            }" { (expression_statement "uVar6 = *(undefined8 *)&this->field_0x8;" (assignment_expression "uVar6 = *(undefined8 *)&this->field_0x8" identifier = (pointer_expression "*(undefined8 *)&this->field_0x8" * (cast_expression "(undefined8 *)&this->field_0x8" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->field_0x8" & (field_expression "this->field_0x8" identifier -> field_identifier))))) ;) (expression_statement "uVar14 = iVar15 + 0x8004U >> 0x10;" (assignment_expression "uVar14 = iVar15 + 0x8004U >> 0x10" identifier = (binary_expression "iVar15 + 0x8004U >> 0x10" (binary_expression "iVar15 + 0x8004U" identifier + number_literal) >> number_literal)) ;) (expression_statement "*piVar10 = uVar14 + 0x3d800000;" (assignment_expression "*piVar10 = uVar14 + 0x3d800000" (pointer_expression "*piVar10" * identifier) = (binary_expression "uVar14 + 0x3d800000" identifier + number_literal)) ;) (expression_statement "iVar7 = (int)uVar6;" (assignment_expression "iVar7 = (int)uVar6" identifier = (cast_expression "(int)uVar6" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "iVar8 = (-iVar7 & 0xffffU) + 0x396b0000;" (assignment_expression "iVar8 = (-iVar7 & 0xffffU) + 0x396b0000" identifier = (binary_expression "(-iVar7 & 0xffffU) + 0x396b0000" (parenthesized_expression "(-iVar7 & 0xffffU)" ( (binary_expression "-iVar7 & 0xffffU" (unary_expression "-iVar7" - identifier) & number_literal) )) + number_literal)) ;) (expression_statement "piVar10[1] = (0x8000U - iVar7 >> 0x10) + 0x3d6b0000;" (assignment_expression "piVar10[1] = (0x8000U - iVar7 >> 0x10) + 0x3d6b0000" (subscript_expression "piVar10[1]" identifier [ number_literal ]) = (binary_expression "(0x8000U - iVar7 >> 0x10) + 0x3d6b0000" (parenthesized_expression "(0x8000U - iVar7 >> 0x10)" ( (binary_expression "0x8000U - iVar7 >> 0x10" (binary_expression "0x8000U - iVar7" number_literal - identifier) >> number_literal) )) + number_literal)) ;) (expression_statement "uVar13 = (uint)(ushort)((short)iVar15 + 4);" (assignment_expression "uVar13 = (uint)(ushort)((short)iVar15 + 4)" identifier = (call_expression "(uint)(ushort)((short)iVar15 + 4)" (call_expression "(uint)(ushort)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(ushort)" ( identifier ))) (argument_list "((short)iVar15 + 4)" ( (binary_expression "(short)iVar15 + 4" (cast_expression "(short)iVar15" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier) + number_literal) )))) ;) (if_statement "if (iVar15 + 0x8008U >> 0x10 == uVar14) {\n                piVar10[3] = iVar8;\n                piVar10[4] = 0x7c0903a6;\n                piVar10[5] = 0x7c0b5a14;\n                piVar10[2] = uVar13 + 0x800c0000;\n                piVar10[6] = (iVar15 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar10[3] = iVar8;\n                piVar10[2] = uVar13 + 0x840c0000;\n                piVar10[4] = 0x7c0903a6;\n                piVar10[5] = 0x7c0b5a14;\n                piVar10[6] = -0x7e73fffc;\n              }" if (parenthesized_expression "(iVar15 + 0x8008U >> 0x10 == uVar14)" ( (binary_expression "iVar15 + 0x8008U >> 0x10 == uVar14" (binary_expression "iVar15 + 0x8008U >> 0x10" (binary_expression "iVar15 + 0x8008U" identifier + number_literal) >> number_literal) == identifier) )) (compound_statement "{\n                piVar10[3] = iVar8;\n                piVar10[4] = 0x7c0903a6;\n                piVar10[5] = 0x7c0b5a14;\n                piVar10[2] = uVar13 + 0x800c0000;\n                piVar10[6] = (iVar15 + 8U & 0xffff) + 0x818c0000;\n              }" { (expression_statement "piVar10[3] = iVar8;" (assignment_expression "piVar10[3] = iVar8" (subscript_expression "piVar10[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar10[4] = 0x7c0903a6;" (assignment_expression "piVar10[4] = 0x7c0903a6" (subscript_expression "piVar10[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar10[5] = 0x7c0b5a14;" (assignment_expression "piVar10[5] = 0x7c0b5a14" (subscript_expression "piVar10[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar10[2] = uVar13 + 0x800c0000;" (assignment_expression "piVar10[2] = uVar13 + 0x800c0000" (subscript_expression "piVar10[2]" identifier [ number_literal ]) = (binary_expression "uVar13 + 0x800c0000" identifier + number_literal)) ;) (expression_statement "piVar10[6] = (iVar15 + 8U & 0xffff) + 0x818c0000;" (assignment_expression "piVar10[6] = (iVar15 + 8U & 0xffff) + 0x818c0000" (subscript_expression "piVar10[6]" identifier [ number_literal ]) = (binary_expression "(iVar15 + 8U & 0xffff) + 0x818c0000" (parenthesized_expression "(iVar15 + 8U & 0xffff)" ( (binary_expression "iVar15 + 8U & 0xffff" (binary_expression "iVar15 + 8U" identifier + number_literal) & number_literal) )) + number_literal)) ;) }) (else_clause "else {\n                piVar10[3] = iVar8;\n                piVar10[2] = uVar13 + 0x840c0000;\n                piVar10[4] = 0x7c0903a6;\n                piVar10[5] = 0x7c0b5a14;\n                piVar10[6] = -0x7e73fffc;\n              }" else (compound_statement "{\n                piVar10[3] = iVar8;\n                piVar10[2] = uVar13 + 0x840c0000;\n                piVar10[4] = 0x7c0903a6;\n                piVar10[5] = 0x7c0b5a14;\n                piVar10[6] = -0x7e73fffc;\n              }" { (expression_statement "piVar10[3] = iVar8;" (assignment_expression "piVar10[3] = iVar8" (subscript_expression "piVar10[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar10[2] = uVar13 + 0x840c0000;" (assignment_expression "piVar10[2] = uVar13 + 0x840c0000" (subscript_expression "piVar10[2]" identifier [ number_literal ]) = (binary_expression "uVar13 + 0x840c0000" identifier + number_literal)) ;) (expression_statement "piVar10[4] = 0x7c0903a6;" (assignment_expression "piVar10[4] = 0x7c0903a6" (subscript_expression "piVar10[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar10[5] = 0x7c0b5a14;" (assignment_expression "piVar10[5] = 0x7c0b5a14" (subscript_expression "piVar10[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar10[6] = -0x7e73fffc;" (assignment_expression "piVar10[6] = -0x7e73fffc" (subscript_expression "piVar10[6]" identifier [ number_literal ]) = number_literal) ;) }))) (expression_statement "piVar10[7] = 0x7d605a14;" (assignment_expression "piVar10[7] = 0x7d605a14" (subscript_expression "piVar10[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar10[8] = 0x4e800420;" (assignment_expression "piVar10[8] = 0x4e800420" (subscript_expression "piVar10[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar10 = piVar10 + 9;" (assignment_expression "piVar10 = piVar10 + 9" identifier = (binary_expression "piVar10 + 9" identifier + number_literal)) ;) (labeled_statement "joined_r0x001dd725:\n              if ((int *)((long)piVar11 + lVar2) <= piVar10) {\n                return;\n              }" statement_identifier : (if_statement "if ((int *)((long)piVar11 + lVar2) <= piVar10) {\n                return;\n              }" if (parenthesized_expression "((int *)((long)piVar11 + lVar2) <= piVar10)" ( (binary_expression "(int *)((long)piVar11 + lVar2) <= piVar10" (cast_expression "(int *)((long)piVar11 + lVar2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)piVar11 + lVar2)" ( (binary_expression "(long)piVar11 + lVar2" (cast_expression "(long)piVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) ))) <= identifier) )) (compound_statement "{\n                return;\n              }" { (return_statement "return;" return ;) }))) (do_statement "do {\n                *piVar10 = 0x60000000;\n                piVar10 = piVar10 + 1;\n              } while (piVar10 < (int *)((long)piVar11 + lVar2));" do (compound_statement "{\n                *piVar10 = 0x60000000;\n                piVar10 = piVar10 + 1;\n              }" { (expression_statement "*piVar10 = 0x60000000;" (assignment_expression "*piVar10 = 0x60000000" (pointer_expression "*piVar10" * identifier) = number_literal) ;) (expression_statement "piVar10 = piVar10 + 1;" (assignment_expression "piVar10 = piVar10 + 1" identifier = (binary_expression "piVar10 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar10 < (int *)((long)piVar11 + lVar2))" ( (binary_expression "piVar10 < (int *)((long)piVar11 + lVar2)" identifier < (cast_expression "(int *)((long)piVar11 + lVar2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)piVar11 + lVar2)" ( (binary_expression "(long)piVar11 + lVar2" (cast_expression "(long)piVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) )) ;) (return_statement "return;" return ;) })) }) (else_clause "else {\n            piVar10[6] = 0x7d6c5850;\n            piVar10[1] = 0x7c0802a6;\n            piVar10[2] = 0x429f0005;\n            piVar10[4] = 0x7d8802a6;\n            piVar10[5] = 0x7c0803a6;\n            *piVar10 = (iVar7 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar10[3] = (iVar7 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar15 = iVar15 - ((iVar7 - 0x34U) + *(int *)&this->field_0x8);\n              uVar14 = iVar15 + 0x8004U >> 0x10;\n              piVar10[7] = uVar14 + 0x3d8c0000;\n              uVar13 = (uint)(ushort)((short)iVar15 + 4);\n              if (iVar15 + 0x8008U >> 0x10 == uVar14) {\n                piVar10[8] = uVar13 + 0x800c0000;\n                piVar10[9] = (iVar15 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar10[9] = -0x7e73fffc;\n                piVar10[8] = uVar13 + 0x840c0000;\n              }\n              piVar10[0xc] = 0x7d605a14;\n              piVar10[10] = 0x7c0903a6;\n              piVar10[0xb] = 0x7c0b5a14;\n              piVar10[0xd] = 0x4e800420;\n              piVar10 = piVar10 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }" else (compound_statement "{\n            piVar10[6] = 0x7d6c5850;\n            piVar10[1] = 0x7c0802a6;\n            piVar10[2] = 0x429f0005;\n            piVar10[4] = 0x7d8802a6;\n            piVar10[5] = 0x7c0803a6;\n            *piVar10 = (iVar7 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar10[3] = (iVar7 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar15 = iVar15 - ((iVar7 - 0x34U) + *(int *)&this->field_0x8);\n              uVar14 = iVar15 + 0x8004U >> 0x10;\n              piVar10[7] = uVar14 + 0x3d8c0000;\n              uVar13 = (uint)(ushort)((short)iVar15 + 4);\n              if (iVar15 + 0x8008U >> 0x10 == uVar14) {\n                piVar10[8] = uVar13 + 0x800c0000;\n                piVar10[9] = (iVar15 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar10[9] = -0x7e73fffc;\n                piVar10[8] = uVar13 + 0x840c0000;\n              }\n              piVar10[0xc] = 0x7d605a14;\n              piVar10[10] = 0x7c0903a6;\n              piVar10[0xb] = 0x7c0b5a14;\n              piVar10[0xd] = 0x4e800420;\n              piVar10 = piVar10 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }" { (expression_statement "piVar10[6] = 0x7d6c5850;" (assignment_expression "piVar10[6] = 0x7d6c5850" (subscript_expression "piVar10[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar10[1] = 0x7c0802a6;" (assignment_expression "piVar10[1] = 0x7c0802a6" (subscript_expression "piVar10[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar10[2] = 0x429f0005;" (assignment_expression "piVar10[2] = 0x429f0005" (subscript_expression "piVar10[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar10[4] = 0x7d8802a6;" (assignment_expression "piVar10[4] = 0x7d8802a6" (subscript_expression "piVar10[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar10[5] = 0x7c0803a6;" (assignment_expression "piVar10[5] = 0x7c0803a6" (subscript_expression "piVar10[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*piVar10 = (iVar7 + 0x7fccU >> 0x10) + 0x3d6b0000;" (assignment_expression "*piVar10 = (iVar7 + 0x7fccU >> 0x10) + 0x3d6b0000" (pointer_expression "*piVar10" * identifier) = (binary_expression "(iVar7 + 0x7fccU >> 0x10) + 0x3d6b0000" (parenthesized_expression "(iVar7 + 0x7fccU >> 0x10)" ( (binary_expression "iVar7 + 0x7fccU >> 0x10" (binary_expression "iVar7 + 0x7fccU" identifier + number_literal) >> number_literal) )) + number_literal)) ;) (expression_statement "piVar10[3] = (iVar7 - 0x34U & 0xffff) + 0x396b0000;" (assignment_expression "piVar10[3] = (iVar7 - 0x34U & 0xffff) + 0x396b0000" (subscript_expression "piVar10[3]" identifier [ number_literal ]) = (binary_expression "(iVar7 - 0x34U & 0xffff) + 0x396b0000" (parenthesized_expression "(iVar7 - 0x34U & 0xffff)" ( (binary_expression "iVar7 - 0x34U & 0xffff" (binary_expression "iVar7 - 0x34U" identifier - number_literal) & number_literal) )) + number_literal)) ;) (if_statement "if ((bVar1 & 1) != 0) {\n              iVar15 = iVar15 - ((iVar7 - 0x34U) + *(int *)&this->field_0x8);\n              uVar14 = iVar15 + 0x8004U >> 0x10;\n              piVar10[7] = uVar14 + 0x3d8c0000;\n              uVar13 = (uint)(ushort)((short)iVar15 + 4);\n              if (iVar15 + 0x8008U >> 0x10 == uVar14) {\n                piVar10[8] = uVar13 + 0x800c0000;\n                piVar10[9] = (iVar15 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar10[9] = -0x7e73fffc;\n                piVar10[8] = uVar13 + 0x840c0000;\n              }\n              piVar10[0xc] = 0x7d605a14;\n              piVar10[10] = 0x7c0903a6;\n              piVar10[0xb] = 0x7c0b5a14;\n              piVar10[0xd] = 0x4e800420;\n              piVar10 = piVar10 + 0xe;\n              goto joined_r0x001dd725;\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              iVar15 = iVar15 - ((iVar7 - 0x34U) + *(int *)&this->field_0x8);\n              uVar14 = iVar15 + 0x8004U >> 0x10;\n              piVar10[7] = uVar14 + 0x3d8c0000;\n              uVar13 = (uint)(ushort)((short)iVar15 + 4);\n              if (iVar15 + 0x8008U >> 0x10 == uVar14) {\n                piVar10[8] = uVar13 + 0x800c0000;\n                piVar10[9] = (iVar15 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar10[9] = -0x7e73fffc;\n                piVar10[8] = uVar13 + 0x840c0000;\n              }\n              piVar10[0xc] = 0x7d605a14;\n              piVar10[10] = 0x7c0903a6;\n              piVar10[0xb] = 0x7c0b5a14;\n              piVar10[0xd] = 0x4e800420;\n              piVar10 = piVar10 + 0xe;\n              goto joined_r0x001dd725;\n            }" { (expression_statement "iVar15 = iVar15 - ((iVar7 - 0x34U) + *(int *)&this->field_0x8);" (assignment_expression "iVar15 = iVar15 - ((iVar7 - 0x34U) + *(int *)&this->field_0x8)" identifier = (binary_expression "iVar15 - ((iVar7 - 0x34U) + *(int *)&this->field_0x8)" identifier - (parenthesized_expression "((iVar7 - 0x34U) + *(int *)&this->field_0x8)" ( (binary_expression "(iVar7 - 0x34U) + *(int *)&this->field_0x8" (parenthesized_expression "(iVar7 - 0x34U)" ( (binary_expression "iVar7 - 0x34U" identifier - number_literal) )) + (pointer_expression "*(int *)&this->field_0x8" * (cast_expression "(int *)&this->field_0x8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->field_0x8" & (field_expression "this->field_0x8" identifier -> field_identifier))))) )))) ;) (expression_statement "uVar14 = iVar15 + 0x8004U >> 0x10;" (assignment_expression "uVar14 = iVar15 + 0x8004U >> 0x10" identifier = (binary_expression "iVar15 + 0x8004U >> 0x10" (binary_expression "iVar15 + 0x8004U" identifier + number_literal) >> number_literal)) ;) (expression_statement "piVar10[7] = uVar14 + 0x3d8c0000;" (assignment_expression "piVar10[7] = uVar14 + 0x3d8c0000" (subscript_expression "piVar10[7]" identifier [ number_literal ]) = (binary_expression "uVar14 + 0x3d8c0000" identifier + number_literal)) ;) (expression_statement "uVar13 = (uint)(ushort)((short)iVar15 + 4);" (assignment_expression "uVar13 = (uint)(ushort)((short)iVar15 + 4)" identifier = (call_expression "(uint)(ushort)((short)iVar15 + 4)" (call_expression "(uint)(ushort)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(ushort)" ( identifier ))) (argument_list "((short)iVar15 + 4)" ( (binary_expression "(short)iVar15 + 4" (cast_expression "(short)iVar15" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier) + number_literal) )))) ;) (if_statement "if (iVar15 + 0x8008U >> 0x10 == uVar14) {\n                piVar10[8] = uVar13 + 0x800c0000;\n                piVar10[9] = (iVar15 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar10[9] = -0x7e73fffc;\n                piVar10[8] = uVar13 + 0x840c0000;\n              }" if (parenthesized_expression "(iVar15 + 0x8008U >> 0x10 == uVar14)" ( (binary_expression "iVar15 + 0x8008U >> 0x10 == uVar14" (binary_expression "iVar15 + 0x8008U >> 0x10" (binary_expression "iVar15 + 0x8008U" identifier + number_literal) >> number_literal) == identifier) )) (compound_statement "{\n                piVar10[8] = uVar13 + 0x800c0000;\n                piVar10[9] = (iVar15 + 8U & 0xffff) + 0x818c0000;\n              }" { (expression_statement "piVar10[8] = uVar13 + 0x800c0000;" (assignment_expression "piVar10[8] = uVar13 + 0x800c0000" (subscript_expression "piVar10[8]" identifier [ number_literal ]) = (binary_expression "uVar13 + 0x800c0000" identifier + number_literal)) ;) (expression_statement "piVar10[9] = (iVar15 + 8U & 0xffff) + 0x818c0000;" (assignment_expression "piVar10[9] = (iVar15 + 8U & 0xffff) + 0x818c0000" (subscript_expression "piVar10[9]" identifier [ number_literal ]) = (binary_expression "(iVar15 + 8U & 0xffff) + 0x818c0000" (parenthesized_expression "(iVar15 + 8U & 0xffff)" ( (binary_expression "iVar15 + 8U & 0xffff" (binary_expression "iVar15 + 8U" identifier + number_literal) & number_literal) )) + number_literal)) ;) }) (else_clause "else {\n                piVar10[9] = -0x7e73fffc;\n                piVar10[8] = uVar13 + 0x840c0000;\n              }" else (compound_statement "{\n                piVar10[9] = -0x7e73fffc;\n                piVar10[8] = uVar13 + 0x840c0000;\n              }" { (expression_statement "piVar10[9] = -0x7e73fffc;" (assignment_expression "piVar10[9] = -0x7e73fffc" (subscript_expression "piVar10[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar10[8] = uVar13 + 0x840c0000;" (assignment_expression "piVar10[8] = uVar13 + 0x840c0000" (subscript_expression "piVar10[8]" identifier [ number_literal ]) = (binary_expression "uVar13 + 0x840c0000" identifier + number_literal)) ;) }))) (expression_statement "piVar10[0xc] = 0x7d605a14;" (assignment_expression "piVar10[0xc] = 0x7d605a14" (subscript_expression "piVar10[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar10[10] = 0x7c0903a6;" (assignment_expression "piVar10[10] = 0x7c0903a6" (subscript_expression "piVar10[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar10[0xb] = 0x7c0b5a14;" (assignment_expression "piVar10[0xb] = 0x7c0b5a14" (subscript_expression "piVar10[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar10[0xd] = 0x4e800420;" (assignment_expression "piVar10[0xd] = 0x4e800420" (subscript_expression "piVar10[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar10 = piVar10 + 0xe;" (assignment_expression "piVar10 = piVar10 + 0xe" identifier = (binary_expression "piVar10 + 0xe" identifier + number_literal)) ;) (goto_statement "goto joined_r0x001dd725;" goto statement_identifier ;) })) }))) })) })) comment (labeled_statement "gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/output.h",0xc5,"address");" (call_expression "do_gold_unreachable("../../gold/output.h",0xc5,"address")" identifier (argument_list "("../../gold/output.h",0xc5,"address")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""address"" " string_content ") ))) ;)) })) }))) comment (labeled_statement "gold::do_gold_unreachable("../../gold/powerpc.cc",0x36a,"plt_section");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/powerpc.cc",0x36a,"plt_section");" (call_expression "do_gold_unreachable("../../gold/powerpc.cc",0x36a,"plt_section")" identifier (argument_list "("../../gold/powerpc.cc",0x36a,"plt_section")" ( (string_literal ""../../gold/powerpc.cc"" " string_content ") , number_literal , (string_literal ""plt_section"" " string_content ") ))) ;)) (ERROR "}" }))
(translation_unit "void FUN_001dd4b0(long param_1,long param_2)\n\n{\n  byte bVar1;\n  long lVar2;\n  long lVar3;\n  undefined8 uVar4;\n  int iVar5;\n  int iVar6;\n  int *piVar7;\n  int *piVar8;\n  int *piVar9;\n  int *piVar10;\n  uint uVar11;\n  uint uVar12;\n  int iVar13;\n  \n  bVar1 = *(byte *)(param_1 + 0x20);\n  if ((bVar1 & 4) == 0) {\n                    \n    FUN_00352af0("../../gold/output.h",0xe3,"offset");\n  }\n  lVar2 = *(long *)(param_1 + 0x18);\n  if ((bVar1 & 2) == 0) {\n                    \n    FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n  }\n  lVar3 = *(long *)(param_1 + 0x10);\n  if ((lVar2 < 0) || (*(long *)(param_2 + 0x10) < lVar2 + lVar3)) {\n    FUN_001dd100();\n  }\n  else {\n    piVar9 = (int *)(lVar2 + *(long *)(param_2 + 0x18));\n    lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x28);\n    if (lVar2 != 0) {\n      if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n        lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x20);\n        if (lVar2 == 0) {\n          FUN_001dc950();\n                    \n          FUN_00352af0("../../gold/output.h",0xc5,"address");\n        }\n        if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n          iVar13 = (int)*(undefined8 *)(lVar2 + 8) + *(int *)(lVar2 + 0x9c) * 4;\n          iVar5 = (int)lVar3;\n          piVar10 = (int *)((ulong)(iVar5 - 0x40) + (long)piVar9);\n          piVar8 = piVar9;\n          if (piVar9 < piVar10 + -8) {\n            do {\n              piVar7 = piVar8 + 1;\n              *piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8;\n              piVar8 = piVar7;\n            } while (piVar7 < piVar10 + -8);\n            piVar8 = (int *)((long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4);\n          }\n          piVar7 = piVar8;\n          if (piVar8 < piVar10) {\n            do {\n              *piVar7 = 0x60000000;\n              piVar7 = piVar7 + 1;\n            } while (piVar7 < piVar10);\n            piVar8 = (int *)((long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4);\n          }\n          lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar2 == 0) {\n                    \n            FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n          }\n          if ((*(char *)(lVar2 + 0x2a61) == '\0') && (*(char *)(lVar2 + 0x42d1) == '\0')) {\n            if ((bVar1 & 1) != 0) {\n              uVar4 = *(undefined8 *)(param_1 + 8);\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              *piVar8 = uVar12 + 0x3d800000;\n              iVar5 = (int)uVar4;\n              iVar6 = (-iVar5 & 0xffffU) + 0x396b0000;\n              piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[3] = iVar6;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[2] = uVar11 + 0x800c0000;\n                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }\n              piVar8[7] = 0x7d605a14;\n              piVar8[8] = 0x4e800420;\n              piVar8 = piVar8 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar9 + lVar3) <= piVar8) {\n                return;\n              }\n              do {\n                *piVar8 = 0x60000000;\n                piVar8 = piVar8 + 1;\n              } while (piVar8 < (int *)((long)piVar9 + lVar3));\n              return;\n            }\n          }\n          else {\n            piVar8[6] = 0x7d6c5850;\n            piVar8[1] = 0x7c0802a6;\n            piVar8[2] = 0x429f0005;\n            piVar8[4] = 0x7d8802a6;\n            piVar8[5] = 0x7c0803a6;\n            *piVar8 = (iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar8[3] = (iVar5 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              piVar8[7] = uVar12 + 0x3d8c0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }\n              piVar8[0xc] = 0x7d605a14;\n              piVar8[10] = 0x7c0903a6;\n              piVar8[0xb] = 0x7c0b5a14;\n              piVar8[0xd] = 0x4e800420;\n              piVar8 = piVar8 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }\n        }\n      }\n                    \n      FUN_00352af0("../../gold/output.h",0xc5,"address");\n    }\n  }\n                    \n  FUN_00352af0("../../gold/powerpc.cc",0x36a,"plt_section");\n}\n\n" (function_definition "void FUN_001dd4b0(long param_1,long param_2)\n\n{\n  byte bVar1;\n  long lVar2;\n  long lVar3;\n  undefined8 uVar4;\n  int iVar5;\n  int iVar6;\n  int *piVar7;\n  int *piVar8;\n  int *piVar9;\n  int *piVar10;\n  uint uVar11;\n  uint uVar12;\n  int iVar13;\n  \n  bVar1 = *(byte *)(param_1 + 0x20);\n  if ((bVar1 & 4) == 0) {\n                    \n    FUN_00352af0("../../gold/output.h",0xe3,"offset");\n  }\n  lVar2 = *(long *)(param_1 + 0x18);\n  if ((bVar1 & 2) == 0) {\n                    \n    FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n  }\n  lVar3 = *(long *)(param_1 + 0x10);\n  if ((lVar2 < 0) || (*(long *)(param_2 + 0x10) < lVar2 + lVar3)) {\n    FUN_001dd100();\n  }\n  else {\n    piVar9 = (int *)(lVar2 + *(long *)(param_2 + 0x18));\n    lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x28);\n    if (lVar2 != 0) {\n      if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n        lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x20);\n        if (lVar2 == 0) {\n          FUN_001dc950();\n                    \n          FUN_00352af0("../../gold/output.h",0xc5,"address");\n        }\n        if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n          iVar13 = (int)*(undefined8 *)(lVar2 + 8) + *(int *)(lVar2 + 0x9c) * 4;\n          iVar5 = (int)lVar3;\n          piVar10 = (int *)((ulong)(iVar5 - 0x40) + (long)piVar9);\n          piVar8 = piVar9;\n          if (piVar9 < piVar10 + -8) {\n            do {\n              piVar7 = piVar8 + 1;\n              *piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8;\n              piVar8 = piVar7;\n            } while (piVar7 < piVar10 + -8);\n            piVar8 = (int *)((long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4);\n          }\n          piVar7 = piVar8;\n          if (piVar8 < piVar10) {\n            do {\n              *piVar7 = 0x60000000;\n              piVar7 = piVar7 + 1;\n            } while (piVar7 < piVar10);\n            piVar8 = (int *)((long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4);\n          }\n          lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar2 == 0) {\n                    \n            FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n          }\n          if ((*(char *)(lVar2 + 0x2a61) == '\0') && (*(char *)(lVar2 + 0x42d1) == '\0')) {\n            if ((bVar1 & 1) != 0) {\n              uVar4 = *(undefined8 *)(param_1 + 8);\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              *piVar8 = uVar12 + 0x3d800000;\n              iVar5 = (int)uVar4;\n              iVar6 = (-iVar5 & 0xffffU) + 0x396b0000;\n              piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[3] = iVar6;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[2] = uVar11 + 0x800c0000;\n                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }\n              piVar8[7] = 0x7d605a14;\n              piVar8[8] = 0x4e800420;\n              piVar8 = piVar8 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar9 + lVar3) <= piVar8) {\n                return;\n              }\n              do {\n                *piVar8 = 0x60000000;\n                piVar8 = piVar8 + 1;\n              } while (piVar8 < (int *)((long)piVar9 + lVar3));\n              return;\n            }\n          }\n          else {\n            piVar8[6] = 0x7d6c5850;\n            piVar8[1] = 0x7c0802a6;\n            piVar8[2] = 0x429f0005;\n            piVar8[4] = 0x7d8802a6;\n            piVar8[5] = 0x7c0803a6;\n            *piVar8 = (iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar8[3] = (iVar5 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              piVar8[7] = uVar12 + 0x3d8c0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }\n              piVar8[0xc] = 0x7d605a14;\n              piVar8[10] = 0x7c0903a6;\n              piVar8[0xb] = 0x7c0b5a14;\n              piVar8[0xd] = 0x4e800420;\n              piVar8 = piVar8 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }\n        }\n      }\n                    \n      FUN_00352af0("../../gold/output.h",0xc5,"address");\n    }\n  }\n                    \n  FUN_00352af0("../../gold/powerpc.cc",0x36a,"plt_section");\n}" primitive_type (function_declarator "FUN_001dd4b0(long param_1,long param_2)" identifier (parameter_list "(long param_1,long param_2)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long param_2" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  byte bVar1;\n  long lVar2;\n  long lVar3;\n  undefined8 uVar4;\n  int iVar5;\n  int iVar6;\n  int *piVar7;\n  int *piVar8;\n  int *piVar9;\n  int *piVar10;\n  uint uVar11;\n  uint uVar12;\n  int iVar13;\n  \n  bVar1 = *(byte *)(param_1 + 0x20);\n  if ((bVar1 & 4) == 0) {\n                    \n    FUN_00352af0("../../gold/output.h",0xe3,"offset");\n  }\n  lVar2 = *(long *)(param_1 + 0x18);\n  if ((bVar1 & 2) == 0) {\n                    \n    FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n  }\n  lVar3 = *(long *)(param_1 + 0x10);\n  if ((lVar2 < 0) || (*(long *)(param_2 + 0x10) < lVar2 + lVar3)) {\n    FUN_001dd100();\n  }\n  else {\n    piVar9 = (int *)(lVar2 + *(long *)(param_2 + 0x18));\n    lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x28);\n    if (lVar2 != 0) {\n      if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n        lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x20);\n        if (lVar2 == 0) {\n          FUN_001dc950();\n                    \n          FUN_00352af0("../../gold/output.h",0xc5,"address");\n        }\n        if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n          iVar13 = (int)*(undefined8 *)(lVar2 + 8) + *(int *)(lVar2 + 0x9c) * 4;\n          iVar5 = (int)lVar3;\n          piVar10 = (int *)((ulong)(iVar5 - 0x40) + (long)piVar9);\n          piVar8 = piVar9;\n          if (piVar9 < piVar10 + -8) {\n            do {\n              piVar7 = piVar8 + 1;\n              *piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8;\n              piVar8 = piVar7;\n            } while (piVar7 < piVar10 + -8);\n            piVar8 = (int *)((long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4);\n          }\n          piVar7 = piVar8;\n          if (piVar8 < piVar10) {\n            do {\n              *piVar7 = 0x60000000;\n              piVar7 = piVar7 + 1;\n            } while (piVar7 < piVar10);\n            piVar8 = (int *)((long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4);\n          }\n          lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar2 == 0) {\n                    \n            FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n          }\n          if ((*(char *)(lVar2 + 0x2a61) == '\0') && (*(char *)(lVar2 + 0x42d1) == '\0')) {\n            if ((bVar1 & 1) != 0) {\n              uVar4 = *(undefined8 *)(param_1 + 8);\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              *piVar8 = uVar12 + 0x3d800000;\n              iVar5 = (int)uVar4;\n              iVar6 = (-iVar5 & 0xffffU) + 0x396b0000;\n              piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[3] = iVar6;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[2] = uVar11 + 0x800c0000;\n                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }\n              piVar8[7] = 0x7d605a14;\n              piVar8[8] = 0x4e800420;\n              piVar8 = piVar8 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar9 + lVar3) <= piVar8) {\n                return;\n              }\n              do {\n                *piVar8 = 0x60000000;\n                piVar8 = piVar8 + 1;\n              } while (piVar8 < (int *)((long)piVar9 + lVar3));\n              return;\n            }\n          }\n          else {\n            piVar8[6] = 0x7d6c5850;\n            piVar8[1] = 0x7c0802a6;\n            piVar8[2] = 0x429f0005;\n            piVar8[4] = 0x7d8802a6;\n            piVar8[5] = 0x7c0803a6;\n            *piVar8 = (iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar8[3] = (iVar5 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              piVar8[7] = uVar12 + 0x3d8c0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }\n              piVar8[0xc] = 0x7d605a14;\n              piVar8[10] = 0x7c0903a6;\n              piVar8[0xb] = 0x7c0b5a14;\n              piVar8[0xd] = 0x4e800420;\n              piVar8 = piVar8 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }\n        }\n      }\n                    \n      FUN_00352af0("../../gold/output.h",0xc5,"address");\n    }\n  }\n                    \n  FUN_00352af0("../../gold/powerpc.cc",0x36a,"plt_section");\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "long lVar2;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar3;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar4;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (expression_statement "bVar1 = *(byte *)(param_1 + 0x20);" (assignment_expression "bVar1 = *(byte *)(param_1 + 0x20)" identifier = (pointer_expression "*(byte *)(param_1 + 0x20)" * (cast_expression "(byte *)(param_1 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) ))))) ;) (if_statement "if ((bVar1 & 4) == 0) {\n                    \n    FUN_00352af0("../../gold/output.h",0xe3,"offset");\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                    \n    FUN_00352af0("../../gold/output.h",0xe3,"offset");\n  }" { (expression_statement "FUN_00352af0("../../gold/output.h",0xe3,"offset");" (call_expression "FUN_00352af0("../../gold/output.h",0xe3,"offset")" identifier (argument_list "("../../gold/output.h",0xe3,"offset")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""offset"" " string_content ") ))) ;) })) (expression_statement "lVar2 = *(long *)(param_1 + 0x18);" (assignment_expression "lVar2 = *(long *)(param_1 + 0x18)" identifier = (pointer_expression "*(long *)(param_1 + 0x18)" * (cast_expression "(long *)(param_1 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if ((bVar1 & 2) == 0) {\n                    \n    FUN_00352af0("../../gold/output.h",0xcf,"data_size");\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                    \n    FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n  }" { (expression_statement "FUN_00352af0("../../gold/output.h",0xcf,"data_size");" (call_expression "FUN_00352af0("../../gold/output.h",0xcf,"data_size")" identifier (argument_list "("../../gold/output.h",0xcf,"data_size")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""data_size"" " string_content ") ))) ;) })) (expression_statement "lVar3 = *(long *)(param_1 + 0x10);" (assignment_expression "lVar3 = *(long *)(param_1 + 0x10)" identifier = (pointer_expression "*(long *)(param_1 + 0x10)" * (cast_expression "(long *)(param_1 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if ((lVar2 < 0) || (*(long *)(param_2 + 0x10) < lVar2 + lVar3)) {\n    FUN_001dd100();\n  }\n  else {\n    piVar9 = (int *)(lVar2 + *(long *)(param_2 + 0x18));\n    lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x28);\n    if (lVar2 != 0) {\n      if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n        lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x20);\n        if (lVar2 == 0) {\n          FUN_001dc950();\n                    \n          FUN_00352af0("../../gold/output.h",0xc5,"address");\n        }\n        if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n          iVar13 = (int)*(undefined8 *)(lVar2 + 8) + *(int *)(lVar2 + 0x9c) * 4;\n          iVar5 = (int)lVar3;\n          piVar10 = (int *)((ulong)(iVar5 - 0x40) + (long)piVar9);\n          piVar8 = piVar9;\n          if (piVar9 < piVar10 + -8) {\n            do {\n              piVar7 = piVar8 + 1;\n              *piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8;\n              piVar8 = piVar7;\n            } while (piVar7 < piVar10 + -8);\n            piVar8 = (int *)((long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4);\n          }\n          piVar7 = piVar8;\n          if (piVar8 < piVar10) {\n            do {\n              *piVar7 = 0x60000000;\n              piVar7 = piVar7 + 1;\n            } while (piVar7 < piVar10);\n            piVar8 = (int *)((long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4);\n          }\n          lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar2 == 0) {\n                    \n            FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n          }\n          if ((*(char *)(lVar2 + 0x2a61) == '\0') && (*(char *)(lVar2 + 0x42d1) == '\0')) {\n            if ((bVar1 & 1) != 0) {\n              uVar4 = *(undefined8 *)(param_1 + 8);\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              *piVar8 = uVar12 + 0x3d800000;\n              iVar5 = (int)uVar4;\n              iVar6 = (-iVar5 & 0xffffU) + 0x396b0000;\n              piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[3] = iVar6;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[2] = uVar11 + 0x800c0000;\n                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }\n              piVar8[7] = 0x7d605a14;\n              piVar8[8] = 0x4e800420;\n              piVar8 = piVar8 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar9 + lVar3) <= piVar8) {\n                return;\n              }\n              do {\n                *piVar8 = 0x60000000;\n                piVar8 = piVar8 + 1;\n              } while (piVar8 < (int *)((long)piVar9 + lVar3));\n              return;\n            }\n          }\n          else {\n            piVar8[6] = 0x7d6c5850;\n            piVar8[1] = 0x7c0802a6;\n            piVar8[2] = 0x429f0005;\n            piVar8[4] = 0x7d8802a6;\n            piVar8[5] = 0x7c0803a6;\n            *piVar8 = (iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar8[3] = (iVar5 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              piVar8[7] = uVar12 + 0x3d8c0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }\n              piVar8[0xc] = 0x7d605a14;\n              piVar8[10] = 0x7c0903a6;\n              piVar8[0xb] = 0x7c0b5a14;\n              piVar8[0xd] = 0x4e800420;\n              piVar8 = piVar8 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }\n        }\n      }\n                    \n      FUN_00352af0("../../gold/output.h",0xc5,"address");\n    }\n  }" if (parenthesized_expression "((lVar2 < 0) || (*(long *)(param_2 + 0x10) < lVar2 + lVar3))" ( (binary_expression "(lVar2 < 0) || (*(long *)(param_2 + 0x10) < lVar2 + lVar3)" (parenthesized_expression "(lVar2 < 0)" ( (binary_expression "lVar2 < 0" identifier < number_literal) )) || (parenthesized_expression "(*(long *)(param_2 + 0x10) < lVar2 + lVar3)" ( (binary_expression "*(long *)(param_2 + 0x10) < lVar2 + lVar3" (pointer_expression "*(long *)(param_2 + 0x10)" * (cast_expression "(long *)(param_2 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) )))) < (binary_expression "lVar2 + lVar3" identifier + identifier)) ))) )) (compound_statement "{\n    FUN_001dd100();\n  }" { (expression_statement "FUN_001dd100();" (call_expression "FUN_001dd100()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n    piVar9 = (int *)(lVar2 + *(long *)(param_2 + 0x18));\n    lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x28);\n    if (lVar2 != 0) {\n      if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n        lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x20);\n        if (lVar2 == 0) {\n          FUN_001dc950();\n                    \n          FUN_00352af0("../../gold/output.h",0xc5,"address");\n        }\n        if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n          iVar13 = (int)*(undefined8 *)(lVar2 + 8) + *(int *)(lVar2 + 0x9c) * 4;\n          iVar5 = (int)lVar3;\n          piVar10 = (int *)((ulong)(iVar5 - 0x40) + (long)piVar9);\n          piVar8 = piVar9;\n          if (piVar9 < piVar10 + -8) {\n            do {\n              piVar7 = piVar8 + 1;\n              *piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8;\n              piVar8 = piVar7;\n            } while (piVar7 < piVar10 + -8);\n            piVar8 = (int *)((long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4);\n          }\n          piVar7 = piVar8;\n          if (piVar8 < piVar10) {\n            do {\n              *piVar7 = 0x60000000;\n              piVar7 = piVar7 + 1;\n            } while (piVar7 < piVar10);\n            piVar8 = (int *)((long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4);\n          }\n          lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar2 == 0) {\n                    \n            FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n          }\n          if ((*(char *)(lVar2 + 0x2a61) == '\0') && (*(char *)(lVar2 + 0x42d1) == '\0')) {\n            if ((bVar1 & 1) != 0) {\n              uVar4 = *(undefined8 *)(param_1 + 8);\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              *piVar8 = uVar12 + 0x3d800000;\n              iVar5 = (int)uVar4;\n              iVar6 = (-iVar5 & 0xffffU) + 0x396b0000;\n              piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[3] = iVar6;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[2] = uVar11 + 0x800c0000;\n                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }\n              piVar8[7] = 0x7d605a14;\n              piVar8[8] = 0x4e800420;\n              piVar8 = piVar8 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar9 + lVar3) <= piVar8) {\n                return;\n              }\n              do {\n                *piVar8 = 0x60000000;\n                piVar8 = piVar8 + 1;\n              } while (piVar8 < (int *)((long)piVar9 + lVar3));\n              return;\n            }\n          }\n          else {\n            piVar8[6] = 0x7d6c5850;\n            piVar8[1] = 0x7c0802a6;\n            piVar8[2] = 0x429f0005;\n            piVar8[4] = 0x7d8802a6;\n            piVar8[5] = 0x7c0803a6;\n            *piVar8 = (iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar8[3] = (iVar5 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              piVar8[7] = uVar12 + 0x3d8c0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }\n              piVar8[0xc] = 0x7d605a14;\n              piVar8[10] = 0x7c0903a6;\n              piVar8[0xb] = 0x7c0b5a14;\n              piVar8[0xd] = 0x4e800420;\n              piVar8 = piVar8 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }\n        }\n      }\n                    \n      FUN_00352af0("../../gold/output.h",0xc5,"address");\n    }\n  }" else (compound_statement "{\n    piVar9 = (int *)(lVar2 + *(long *)(param_2 + 0x18));\n    lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x28);\n    if (lVar2 != 0) {\n      if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n        lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x20);\n        if (lVar2 == 0) {\n          FUN_001dc950();\n                    \n          FUN_00352af0("../../gold/output.h",0xc5,"address");\n        }\n        if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n          iVar13 = (int)*(undefined8 *)(lVar2 + 8) + *(int *)(lVar2 + 0x9c) * 4;\n          iVar5 = (int)lVar3;\n          piVar10 = (int *)((ulong)(iVar5 - 0x40) + (long)piVar9);\n          piVar8 = piVar9;\n          if (piVar9 < piVar10 + -8) {\n            do {\n              piVar7 = piVar8 + 1;\n              *piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8;\n              piVar8 = piVar7;\n            } while (piVar7 < piVar10 + -8);\n            piVar8 = (int *)((long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4);\n          }\n          piVar7 = piVar8;\n          if (piVar8 < piVar10) {\n            do {\n              *piVar7 = 0x60000000;\n              piVar7 = piVar7 + 1;\n            } while (piVar7 < piVar10);\n            piVar8 = (int *)((long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4);\n          }\n          lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar2 == 0) {\n                    \n            FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n          }\n          if ((*(char *)(lVar2 + 0x2a61) == '\0') && (*(char *)(lVar2 + 0x42d1) == '\0')) {\n            if ((bVar1 & 1) != 0) {\n              uVar4 = *(undefined8 *)(param_1 + 8);\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              *piVar8 = uVar12 + 0x3d800000;\n              iVar5 = (int)uVar4;\n              iVar6 = (-iVar5 & 0xffffU) + 0x396b0000;\n              piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[3] = iVar6;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[2] = uVar11 + 0x800c0000;\n                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }\n              piVar8[7] = 0x7d605a14;\n              piVar8[8] = 0x4e800420;\n              piVar8 = piVar8 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar9 + lVar3) <= piVar8) {\n                return;\n              }\n              do {\n                *piVar8 = 0x60000000;\n                piVar8 = piVar8 + 1;\n              } while (piVar8 < (int *)((long)piVar9 + lVar3));\n              return;\n            }\n          }\n          else {\n            piVar8[6] = 0x7d6c5850;\n            piVar8[1] = 0x7c0802a6;\n            piVar8[2] = 0x429f0005;\n            piVar8[4] = 0x7d8802a6;\n            piVar8[5] = 0x7c0803a6;\n            *piVar8 = (iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar8[3] = (iVar5 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              piVar8[7] = uVar12 + 0x3d8c0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }\n              piVar8[0xc] = 0x7d605a14;\n              piVar8[10] = 0x7c0903a6;\n              piVar8[0xb] = 0x7c0b5a14;\n              piVar8[0xd] = 0x4e800420;\n              piVar8 = piVar8 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }\n        }\n      }\n                    \n      FUN_00352af0("../../gold/output.h",0xc5,"address");\n    }\n  }" { (expression_statement "piVar9 = (int *)(lVar2 + *(long *)(param_2 + 0x18));" (assignment_expression "piVar9 = (int *)(lVar2 + *(long *)(param_2 + 0x18))" identifier = (cast_expression "(int *)(lVar2 + *(long *)(param_2 + 0x18))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + *(long *)(param_2 + 0x18))" ( (binary_expression "lVar2 + *(long *)(param_2 + 0x18)" identifier + (pointer_expression "*(long *)(param_2 + 0x18)" * (cast_expression "(long *)(param_2 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) ))))) )))) ;) (expression_statement "lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x28);" (assignment_expression "lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x28)" identifier = (pointer_expression "*(long *)(*(long *)(param_1 + 0x38) + 0x28)" * (cast_expression "(long *)(*(long *)(param_1 + 0x38) + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x38) + 0x28)" ( (binary_expression "*(long *)(param_1 + 0x38) + 0x28" (pointer_expression "*(long *)(param_1 + 0x38)" * (cast_expression "(long *)(param_1 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (lVar2 != 0) {\n      if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n        lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x20);\n        if (lVar2 == 0) {\n          FUN_001dc950();\n                    \n          FUN_00352af0("../../gold/output.h",0xc5,"address");\n        }\n        if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n          iVar13 = (int)*(undefined8 *)(lVar2 + 8) + *(int *)(lVar2 + 0x9c) * 4;\n          iVar5 = (int)lVar3;\n          piVar10 = (int *)((ulong)(iVar5 - 0x40) + (long)piVar9);\n          piVar8 = piVar9;\n          if (piVar9 < piVar10 + -8) {\n            do {\n              piVar7 = piVar8 + 1;\n              *piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8;\n              piVar8 = piVar7;\n            } while (piVar7 < piVar10 + -8);\n            piVar8 = (int *)((long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4);\n          }\n          piVar7 = piVar8;\n          if (piVar8 < piVar10) {\n            do {\n              *piVar7 = 0x60000000;\n              piVar7 = piVar7 + 1;\n            } while (piVar7 < piVar10);\n            piVar8 = (int *)((long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4);\n          }\n          lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar2 == 0) {\n                    \n            FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n          }\n          if ((*(char *)(lVar2 + 0x2a61) == '\0') && (*(char *)(lVar2 + 0x42d1) == '\0')) {\n            if ((bVar1 & 1) != 0) {\n              uVar4 = *(undefined8 *)(param_1 + 8);\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              *piVar8 = uVar12 + 0x3d800000;\n              iVar5 = (int)uVar4;\n              iVar6 = (-iVar5 & 0xffffU) + 0x396b0000;\n              piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[3] = iVar6;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[2] = uVar11 + 0x800c0000;\n                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }\n              piVar8[7] = 0x7d605a14;\n              piVar8[8] = 0x4e800420;\n              piVar8 = piVar8 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar9 + lVar3) <= piVar8) {\n                return;\n              }\n              do {\n                *piVar8 = 0x60000000;\n                piVar8 = piVar8 + 1;\n              } while (piVar8 < (int *)((long)piVar9 + lVar3));\n              return;\n            }\n          }\n          else {\n            piVar8[6] = 0x7d6c5850;\n            piVar8[1] = 0x7c0802a6;\n            piVar8[2] = 0x429f0005;\n            piVar8[4] = 0x7d8802a6;\n            piVar8[5] = 0x7c0803a6;\n            *piVar8 = (iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar8[3] = (iVar5 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              piVar8[7] = uVar12 + 0x3d8c0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }\n              piVar8[0xc] = 0x7d605a14;\n              piVar8[10] = 0x7c0903a6;\n              piVar8[0xb] = 0x7c0b5a14;\n              piVar8[0xd] = 0x4e800420;\n              piVar8 = piVar8 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }\n        }\n      }\n                    \n      FUN_00352af0("../../gold/output.h",0xc5,"address");\n    }" if (parenthesized_expression "(lVar2 != 0)" ( (binary_expression "lVar2 != 0" identifier != number_literal) )) (compound_statement "{\n      if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n        lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x20);\n        if (lVar2 == 0) {\n          FUN_001dc950();\n                    \n          FUN_00352af0("../../gold/output.h",0xc5,"address");\n        }\n        if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n          iVar13 = (int)*(undefined8 *)(lVar2 + 8) + *(int *)(lVar2 + 0x9c) * 4;\n          iVar5 = (int)lVar3;\n          piVar10 = (int *)((ulong)(iVar5 - 0x40) + (long)piVar9);\n          piVar8 = piVar9;\n          if (piVar9 < piVar10 + -8) {\n            do {\n              piVar7 = piVar8 + 1;\n              *piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8;\n              piVar8 = piVar7;\n            } while (piVar7 < piVar10 + -8);\n            piVar8 = (int *)((long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4);\n          }\n          piVar7 = piVar8;\n          if (piVar8 < piVar10) {\n            do {\n              *piVar7 = 0x60000000;\n              piVar7 = piVar7 + 1;\n            } while (piVar7 < piVar10);\n            piVar8 = (int *)((long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4);\n          }\n          lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar2 == 0) {\n                    \n            FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n          }\n          if ((*(char *)(lVar2 + 0x2a61) == '\0') && (*(char *)(lVar2 + 0x42d1) == '\0')) {\n            if ((bVar1 & 1) != 0) {\n              uVar4 = *(undefined8 *)(param_1 + 8);\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              *piVar8 = uVar12 + 0x3d800000;\n              iVar5 = (int)uVar4;\n              iVar6 = (-iVar5 & 0xffffU) + 0x396b0000;\n              piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[3] = iVar6;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[2] = uVar11 + 0x800c0000;\n                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }\n              piVar8[7] = 0x7d605a14;\n              piVar8[8] = 0x4e800420;\n              piVar8 = piVar8 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar9 + lVar3) <= piVar8) {\n                return;\n              }\n              do {\n                *piVar8 = 0x60000000;\n                piVar8 = piVar8 + 1;\n              } while (piVar8 < (int *)((long)piVar9 + lVar3));\n              return;\n            }\n          }\n          else {\n            piVar8[6] = 0x7d6c5850;\n            piVar8[1] = 0x7c0802a6;\n            piVar8[2] = 0x429f0005;\n            piVar8[4] = 0x7d8802a6;\n            piVar8[5] = 0x7c0803a6;\n            *piVar8 = (iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar8[3] = (iVar5 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              piVar8[7] = uVar12 + 0x3d8c0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }\n              piVar8[0xc] = 0x7d605a14;\n              piVar8[10] = 0x7c0903a6;\n              piVar8[0xb] = 0x7c0b5a14;\n              piVar8[0xd] = 0x4e800420;\n              piVar8 = piVar8 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }\n        }\n      }\n                    \n      FUN_00352af0("../../gold/output.h",0xc5,"address");\n    }" { (if_statement "if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n        lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x20);\n        if (lVar2 == 0) {\n          FUN_001dc950();\n                    \n          FUN_00352af0("../../gold/output.h",0xc5,"address");\n        }\n        if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n          iVar13 = (int)*(undefined8 *)(lVar2 + 8) + *(int *)(lVar2 + 0x9c) * 4;\n          iVar5 = (int)lVar3;\n          piVar10 = (int *)((ulong)(iVar5 - 0x40) + (long)piVar9);\n          piVar8 = piVar9;\n          if (piVar9 < piVar10 + -8) {\n            do {\n              piVar7 = piVar8 + 1;\n              *piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8;\n              piVar8 = piVar7;\n            } while (piVar7 < piVar10 + -8);\n            piVar8 = (int *)((long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4);\n          }\n          piVar7 = piVar8;\n          if (piVar8 < piVar10) {\n            do {\n              *piVar7 = 0x60000000;\n              piVar7 = piVar7 + 1;\n            } while (piVar7 < piVar10);\n            piVar8 = (int *)((long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4);\n          }\n          lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar2 == 0) {\n                    \n            FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n          }\n          if ((*(char *)(lVar2 + 0x2a61) == '\0') && (*(char *)(lVar2 + 0x42d1) == '\0')) {\n            if ((bVar1 & 1) != 0) {\n              uVar4 = *(undefined8 *)(param_1 + 8);\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              *piVar8 = uVar12 + 0x3d800000;\n              iVar5 = (int)uVar4;\n              iVar6 = (-iVar5 & 0xffffU) + 0x396b0000;\n              piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[3] = iVar6;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[2] = uVar11 + 0x800c0000;\n                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }\n              piVar8[7] = 0x7d605a14;\n              piVar8[8] = 0x4e800420;\n              piVar8 = piVar8 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar9 + lVar3) <= piVar8) {\n                return;\n              }\n              do {\n                *piVar8 = 0x60000000;\n                piVar8 = piVar8 + 1;\n              } while (piVar8 < (int *)((long)piVar9 + lVar3));\n              return;\n            }\n          }\n          else {\n            piVar8[6] = 0x7d6c5850;\n            piVar8[1] = 0x7c0802a6;\n            piVar8[2] = 0x429f0005;\n            piVar8[4] = 0x7d8802a6;\n            piVar8[5] = 0x7c0803a6;\n            *piVar8 = (iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar8[3] = (iVar5 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              piVar8[7] = uVar12 + 0x3d8c0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }\n              piVar8[0xc] = 0x7d605a14;\n              piVar8[10] = 0x7c0903a6;\n              piVar8[0xb] = 0x7c0b5a14;\n              piVar8[0xd] = 0x4e800420;\n              piVar8 = piVar8 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }\n        }\n      }" if (parenthesized_expression "((*(byte *)(lVar2 + 0x20) & 1) != 0)" ( (binary_expression "(*(byte *)(lVar2 + 0x20) & 1) != 0" (parenthesized_expression "(*(byte *)(lVar2 + 0x20) & 1)" ( (binary_expression "*(byte *)(lVar2 + 0x20) & 1" (pointer_expression "*(byte *)(lVar2 + 0x20)" * (cast_expression "(byte *)(lVar2 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x20)" ( (binary_expression "lVar2 + 0x20" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n        lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x20);\n        if (lVar2 == 0) {\n          FUN_001dc950();\n                    \n          FUN_00352af0("../../gold/output.h",0xc5,"address");\n        }\n        if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n          iVar13 = (int)*(undefined8 *)(lVar2 + 8) + *(int *)(lVar2 + 0x9c) * 4;\n          iVar5 = (int)lVar3;\n          piVar10 = (int *)((ulong)(iVar5 - 0x40) + (long)piVar9);\n          piVar8 = piVar9;\n          if (piVar9 < piVar10 + -8) {\n            do {\n              piVar7 = piVar8 + 1;\n              *piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8;\n              piVar8 = piVar7;\n            } while (piVar7 < piVar10 + -8);\n            piVar8 = (int *)((long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4);\n          }\n          piVar7 = piVar8;\n          if (piVar8 < piVar10) {\n            do {\n              *piVar7 = 0x60000000;\n              piVar7 = piVar7 + 1;\n            } while (piVar7 < piVar10);\n            piVar8 = (int *)((long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4);\n          }\n          lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar2 == 0) {\n                    \n            FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n          }\n          if ((*(char *)(lVar2 + 0x2a61) == '\0') && (*(char *)(lVar2 + 0x42d1) == '\0')) {\n            if ((bVar1 & 1) != 0) {\n              uVar4 = *(undefined8 *)(param_1 + 8);\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              *piVar8 = uVar12 + 0x3d800000;\n              iVar5 = (int)uVar4;\n              iVar6 = (-iVar5 & 0xffffU) + 0x396b0000;\n              piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[3] = iVar6;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[2] = uVar11 + 0x800c0000;\n                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }\n              piVar8[7] = 0x7d605a14;\n              piVar8[8] = 0x4e800420;\n              piVar8 = piVar8 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar9 + lVar3) <= piVar8) {\n                return;\n              }\n              do {\n                *piVar8 = 0x60000000;\n                piVar8 = piVar8 + 1;\n              } while (piVar8 < (int *)((long)piVar9 + lVar3));\n              return;\n            }\n          }\n          else {\n            piVar8[6] = 0x7d6c5850;\n            piVar8[1] = 0x7c0802a6;\n            piVar8[2] = 0x429f0005;\n            piVar8[4] = 0x7d8802a6;\n            piVar8[5] = 0x7c0803a6;\n            *piVar8 = (iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar8[3] = (iVar5 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              piVar8[7] = uVar12 + 0x3d8c0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }\n              piVar8[0xc] = 0x7d605a14;\n              piVar8[10] = 0x7c0903a6;\n              piVar8[0xb] = 0x7c0b5a14;\n              piVar8[0xd] = 0x4e800420;\n              piVar8 = piVar8 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }\n        }\n      }" { (expression_statement "lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x20);" (assignment_expression "lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x20)" identifier = (pointer_expression "*(long *)(*(long *)(param_1 + 0x38) + 0x20)" * (cast_expression "(long *)(*(long *)(param_1 + 0x38) + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x38) + 0x20)" ( (binary_expression "*(long *)(param_1 + 0x38) + 0x20" (pointer_expression "*(long *)(param_1 + 0x38)" * (cast_expression "(long *)(param_1 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (lVar2 == 0) {\n          FUN_001dc950();\n                    \n          FUN_00352af0("../../gold/output.h",0xc5,"address");\n        }" if (parenthesized_expression "(lVar2 == 0)" ( (binary_expression "lVar2 == 0" identifier == number_literal) )) (compound_statement "{\n          FUN_001dc950();\n                    \n          FUN_00352af0("../../gold/output.h",0xc5,"address");\n        }" { (expression_statement "FUN_001dc950();" (call_expression "FUN_001dc950()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00352af0("../../gold/output.h",0xc5,"address");" (call_expression "FUN_00352af0("../../gold/output.h",0xc5,"address")" identifier (argument_list "("../../gold/output.h",0xc5,"address")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""address"" " string_content ") ))) ;) })) (if_statement "if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n          iVar13 = (int)*(undefined8 *)(lVar2 + 8) + *(int *)(lVar2 + 0x9c) * 4;\n          iVar5 = (int)lVar3;\n          piVar10 = (int *)((ulong)(iVar5 - 0x40) + (long)piVar9);\n          piVar8 = piVar9;\n          if (piVar9 < piVar10 + -8) {\n            do {\n              piVar7 = piVar8 + 1;\n              *piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8;\n              piVar8 = piVar7;\n            } while (piVar7 < piVar10 + -8);\n            piVar8 = (int *)((long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4);\n          }\n          piVar7 = piVar8;\n          if (piVar8 < piVar10) {\n            do {\n              *piVar7 = 0x60000000;\n              piVar7 = piVar7 + 1;\n            } while (piVar7 < piVar10);\n            piVar8 = (int *)((long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4);\n          }\n          lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar2 == 0) {\n                    \n            FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n          }\n          if ((*(char *)(lVar2 + 0x2a61) == '\0') && (*(char *)(lVar2 + 0x42d1) == '\0')) {\n            if ((bVar1 & 1) != 0) {\n              uVar4 = *(undefined8 *)(param_1 + 8);\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              *piVar8 = uVar12 + 0x3d800000;\n              iVar5 = (int)uVar4;\n              iVar6 = (-iVar5 & 0xffffU) + 0x396b0000;\n              piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[3] = iVar6;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[2] = uVar11 + 0x800c0000;\n                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }\n              piVar8[7] = 0x7d605a14;\n              piVar8[8] = 0x4e800420;\n              piVar8 = piVar8 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar9 + lVar3) <= piVar8) {\n                return;\n              }\n              do {\n                *piVar8 = 0x60000000;\n                piVar8 = piVar8 + 1;\n              } while (piVar8 < (int *)((long)piVar9 + lVar3));\n              return;\n            }\n          }\n          else {\n            piVar8[6] = 0x7d6c5850;\n            piVar8[1] = 0x7c0802a6;\n            piVar8[2] = 0x429f0005;\n            piVar8[4] = 0x7d8802a6;\n            piVar8[5] = 0x7c0803a6;\n            *piVar8 = (iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar8[3] = (iVar5 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              piVar8[7] = uVar12 + 0x3d8c0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }\n              piVar8[0xc] = 0x7d605a14;\n              piVar8[10] = 0x7c0903a6;\n              piVar8[0xb] = 0x7c0b5a14;\n              piVar8[0xd] = 0x4e800420;\n              piVar8 = piVar8 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }\n        }" if (parenthesized_expression "((*(byte *)(lVar2 + 0x20) & 1) != 0)" ( (binary_expression "(*(byte *)(lVar2 + 0x20) & 1) != 0" (parenthesized_expression "(*(byte *)(lVar2 + 0x20) & 1)" ( (binary_expression "*(byte *)(lVar2 + 0x20) & 1" (pointer_expression "*(byte *)(lVar2 + 0x20)" * (cast_expression "(byte *)(lVar2 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x20)" ( (binary_expression "lVar2 + 0x20" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n          iVar13 = (int)*(undefined8 *)(lVar2 + 8) + *(int *)(lVar2 + 0x9c) * 4;\n          iVar5 = (int)lVar3;\n          piVar10 = (int *)((ulong)(iVar5 - 0x40) + (long)piVar9);\n          piVar8 = piVar9;\n          if (piVar9 < piVar10 + -8) {\n            do {\n              piVar7 = piVar8 + 1;\n              *piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8;\n              piVar8 = piVar7;\n            } while (piVar7 < piVar10 + -8);\n            piVar8 = (int *)((long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4);\n          }\n          piVar7 = piVar8;\n          if (piVar8 < piVar10) {\n            do {\n              *piVar7 = 0x60000000;\n              piVar7 = piVar7 + 1;\n            } while (piVar7 < piVar10);\n            piVar8 = (int *)((long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4);\n          }\n          lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar2 == 0) {\n                    \n            FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n          }\n          if ((*(char *)(lVar2 + 0x2a61) == '\0') && (*(char *)(lVar2 + 0x42d1) == '\0')) {\n            if ((bVar1 & 1) != 0) {\n              uVar4 = *(undefined8 *)(param_1 + 8);\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              *piVar8 = uVar12 + 0x3d800000;\n              iVar5 = (int)uVar4;\n              iVar6 = (-iVar5 & 0xffffU) + 0x396b0000;\n              piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[3] = iVar6;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[2] = uVar11 + 0x800c0000;\n                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }\n              piVar8[7] = 0x7d605a14;\n              piVar8[8] = 0x4e800420;\n              piVar8 = piVar8 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar9 + lVar3) <= piVar8) {\n                return;\n              }\n              do {\n                *piVar8 = 0x60000000;\n                piVar8 = piVar8 + 1;\n              } while (piVar8 < (int *)((long)piVar9 + lVar3));\n              return;\n            }\n          }\n          else {\n            piVar8[6] = 0x7d6c5850;\n            piVar8[1] = 0x7c0802a6;\n            piVar8[2] = 0x429f0005;\n            piVar8[4] = 0x7d8802a6;\n            piVar8[5] = 0x7c0803a6;\n            *piVar8 = (iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar8[3] = (iVar5 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              piVar8[7] = uVar12 + 0x3d8c0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }\n              piVar8[0xc] = 0x7d605a14;\n              piVar8[10] = 0x7c0903a6;\n              piVar8[0xb] = 0x7c0b5a14;\n              piVar8[0xd] = 0x4e800420;\n              piVar8 = piVar8 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }\n        }" { (expression_statement "iVar13 = (int)*(undefined8 *)(lVar2 + 8) + *(int *)(lVar2 + 0x9c) * 4;" (assignment_expression "iVar13 = (int)*(undefined8 *)(lVar2 + 8) + *(int *)(lVar2 + 0x9c) * 4" identifier = (binary_expression "(int)*(undefined8 *)(lVar2 + 8) + *(int *)(lVar2 + 0x9c) * 4" (cast_expression "(int)*(undefined8 *)(lVar2 + 8)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(undefined8 *)(lVar2 + 8)" * (cast_expression "(undefined8 *)(lVar2 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 8)" ( (binary_expression "lVar2 + 8" identifier + number_literal) ))))) + (binary_expression "*(int *)(lVar2 + 0x9c) * 4" (pointer_expression "*(int *)(lVar2 + 0x9c)" * (cast_expression "(int *)(lVar2 + 0x9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x9c)" ( (binary_expression "lVar2 + 0x9c" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "iVar5 = (int)lVar3;" (assignment_expression "iVar5 = (int)lVar3" identifier = (cast_expression "(int)lVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar10 = (int *)((ulong)(iVar5 - 0x40) + (long)piVar9);" (assignment_expression "piVar10 = (int *)((ulong)(iVar5 - 0x40) + (long)piVar9)" identifier = (cast_expression "(int *)((ulong)(iVar5 - 0x40) + (long)piVar9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)(iVar5 - 0x40) + (long)piVar9)" ( (binary_expression "(ulong)(iVar5 - 0x40) + (long)piVar9" (call_expression "(ulong)(iVar5 - 0x40)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(iVar5 - 0x40)" ( (binary_expression "iVar5 - 0x40" identifier - number_literal) ))) + (cast_expression "(long)piVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) ;) (expression_statement "piVar8 = piVar9;" (assignment_expression "piVar8 = piVar9" identifier = identifier) ;) (if_statement "if (piVar9 < piVar10 + -8) {\n            do {\n              piVar7 = piVar8 + 1;\n              *piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8;\n              piVar8 = piVar7;\n            } while (piVar7 < piVar10 + -8);\n            piVar8 = (int *)((long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4);\n          }" if (parenthesized_expression "(piVar9 < piVar10 + -8)" ( (binary_expression "piVar9 < piVar10 + -8" identifier < (binary_expression "piVar10 + -8" identifier + number_literal)) )) (compound_statement "{\n            do {\n              piVar7 = piVar8 + 1;\n              *piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8;\n              piVar8 = piVar7;\n            } while (piVar7 < piVar10 + -8);\n            piVar8 = (int *)((long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4);\n          }" { (do_statement "do {\n              piVar7 = piVar8 + 1;\n              *piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8;\n              piVar8 = piVar7;\n            } while (piVar7 < piVar10 + -8);" do (compound_statement "{\n              piVar7 = piVar8 + 1;\n              *piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8;\n              piVar8 = piVar7;\n            }" { (expression_statement "piVar7 = piVar8 + 1;" (assignment_expression "piVar7 = piVar8 + 1" identifier = (binary_expression "piVar8 + 1" identifier + number_literal)) ;) (expression_statement "*piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8;" (assignment_expression "*piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8" (pointer_expression "*piVar8" * identifier) = (binary_expression "((int)piVar10 + 0x48000000) - (int)piVar8" (parenthesized_expression "((int)piVar10 + 0x48000000)" ( (binary_expression "(int)piVar10 + 0x48000000" (cast_expression "(int)piVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )) - (cast_expression "(int)piVar8" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "piVar8 = piVar7;" (assignment_expression "piVar8 = piVar7" identifier = identifier) ;) }) while (parenthesized_expression "(piVar7 < piVar10 + -8)" ( (binary_expression "piVar7 < piVar10 + -8" identifier < (binary_expression "piVar10 + -8" identifier + number_literal)) )) ;) (expression_statement "piVar8 = (int *)((long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4);" (assignment_expression "piVar8 = (int *)((long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4)" identifier = (cast_expression "(int *)((long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4)" ( (binary_expression "(long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4" (binary_expression "(long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU)" (cast_expression "(long)piVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (parenthesized_expression "((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU)" ( (binary_expression "(long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU" (binary_expression "(long)piVar10 + (-0x21 - (long)piVar9)" (cast_expression "(long)piVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (parenthesized_expression "(-0x21 - (long)piVar9)" ( (binary_expression "-0x21 - (long)piVar9" number_literal - (cast_expression "(long)piVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) & number_literal) ))) + number_literal) )))) ;) })) (expression_statement "piVar7 = piVar8;" (assignment_expression "piVar7 = piVar8" identifier = identifier) ;) (if_statement "if (piVar8 < piVar10) {\n            do {\n              *piVar7 = 0x60000000;\n              piVar7 = piVar7 + 1;\n            } while (piVar7 < piVar10);\n            piVar8 = (int *)((long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4);\n          }" if (parenthesized_expression "(piVar8 < piVar10)" ( (binary_expression "piVar8 < piVar10" identifier < identifier) )) (compound_statement "{\n            do {\n              *piVar7 = 0x60000000;\n              piVar7 = piVar7 + 1;\n            } while (piVar7 < piVar10);\n            piVar8 = (int *)((long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4);\n          }" { (do_statement "do {\n              *piVar7 = 0x60000000;\n              piVar7 = piVar7 + 1;\n            } while (piVar7 < piVar10);" do (compound_statement "{\n              *piVar7 = 0x60000000;\n              piVar7 = piVar7 + 1;\n            }" { (expression_statement "*piVar7 = 0x60000000;" (assignment_expression "*piVar7 = 0x60000000" (pointer_expression "*piVar7" * identifier) = number_literal) ;) (expression_statement "piVar7 = piVar7 + 1;" (assignment_expression "piVar7 = piVar7 + 1" identifier = (binary_expression "piVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar7 < piVar10)" ( (binary_expression "piVar7 < piVar10" identifier < identifier) )) ;) (expression_statement "piVar8 = (int *)((long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4);" (assignment_expression "piVar8 = (int *)((long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4)" identifier = (cast_expression "(int *)((long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4)" ( (binary_expression "(long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4" (binary_expression "(long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU)" (cast_expression "(long)piVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (parenthesized_expression "((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU)" ( (binary_expression "(long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU" (binary_expression "(long)piVar10 + (-1 - (long)piVar8)" (cast_expression "(long)piVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (parenthesized_expression "(-1 - (long)piVar8)" ( (binary_expression "-1 - (long)piVar8" number_literal - (cast_expression "(long)piVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) & number_literal) ))) + number_literal) )))) ;) })) (expression_statement "lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);" (assignment_expression "lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0067cb08 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0067cb08 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0067cb08 + 0x10)" ( (binary_expression "PTR_DAT_0067cb08 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar2 == 0) {\n                    \n            FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n          }" if (parenthesized_expression "(lVar2 == 0)" ( (binary_expression "lVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n            FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n          }" { (expression_statement "FUN_00352af0("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_00352af0("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (if_statement "if ((*(char *)(lVar2 + 0x2a61) == '\0') && (*(char *)(lVar2 + 0x42d1) == '\0')) {\n            if ((bVar1 & 1) != 0) {\n              uVar4 = *(undefined8 *)(param_1 + 8);\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              *piVar8 = uVar12 + 0x3d800000;\n              iVar5 = (int)uVar4;\n              iVar6 = (-iVar5 & 0xffffU) + 0x396b0000;\n              piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[3] = iVar6;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[2] = uVar11 + 0x800c0000;\n                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }\n              piVar8[7] = 0x7d605a14;\n              piVar8[8] = 0x4e800420;\n              piVar8 = piVar8 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar9 + lVar3) <= piVar8) {\n                return;\n              }\n              do {\n                *piVar8 = 0x60000000;\n                piVar8 = piVar8 + 1;\n              } while (piVar8 < (int *)((long)piVar9 + lVar3));\n              return;\n            }\n          }\n          else {\n            piVar8[6] = 0x7d6c5850;\n            piVar8[1] = 0x7c0802a6;\n            piVar8[2] = 0x429f0005;\n            piVar8[4] = 0x7d8802a6;\n            piVar8[5] = 0x7c0803a6;\n            *piVar8 = (iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar8[3] = (iVar5 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              piVar8[7] = uVar12 + 0x3d8c0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }\n              piVar8[0xc] = 0x7d605a14;\n              piVar8[10] = 0x7c0903a6;\n              piVar8[0xb] = 0x7c0b5a14;\n              piVar8[0xd] = 0x4e800420;\n              piVar8 = piVar8 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }" if (parenthesized_expression "((*(char *)(lVar2 + 0x2a61) == '\0') && (*(char *)(lVar2 + 0x42d1) == '\0'))" ( (binary_expression "(*(char *)(lVar2 + 0x2a61) == '\0') && (*(char *)(lVar2 + 0x42d1) == '\0')" (parenthesized_expression "(*(char *)(lVar2 + 0x2a61) == '\0')" ( (binary_expression "*(char *)(lVar2 + 0x2a61) == '\0'" (pointer_expression "*(char *)(lVar2 + 0x2a61)" * (cast_expression "(char *)(lVar2 + 0x2a61)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x2a61)" ( (binary_expression "lVar2 + 0x2a61" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(char *)(lVar2 + 0x42d1) == '\0')" ( (binary_expression "*(char *)(lVar2 + 0x42d1) == '\0'" (pointer_expression "*(char *)(lVar2 + 0x42d1)" * (cast_expression "(char *)(lVar2 + 0x42d1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar2 + 0x42d1)" ( (binary_expression "lVar2 + 0x42d1" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n            if ((bVar1 & 1) != 0) {\n              uVar4 = *(undefined8 *)(param_1 + 8);\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              *piVar8 = uVar12 + 0x3d800000;\n              iVar5 = (int)uVar4;\n              iVar6 = (-iVar5 & 0xffffU) + 0x396b0000;\n              piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[3] = iVar6;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[2] = uVar11 + 0x800c0000;\n                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }\n              piVar8[7] = 0x7d605a14;\n              piVar8[8] = 0x4e800420;\n              piVar8 = piVar8 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar9 + lVar3) <= piVar8) {\n                return;\n              }\n              do {\n                *piVar8 = 0x60000000;\n                piVar8 = piVar8 + 1;\n              } while (piVar8 < (int *)((long)piVar9 + lVar3));\n              return;\n            }\n          }" { (if_statement "if ((bVar1 & 1) != 0) {\n              uVar4 = *(undefined8 *)(param_1 + 8);\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              *piVar8 = uVar12 + 0x3d800000;\n              iVar5 = (int)uVar4;\n              iVar6 = (-iVar5 & 0xffffU) + 0x396b0000;\n              piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[3] = iVar6;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[2] = uVar11 + 0x800c0000;\n                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }\n              piVar8[7] = 0x7d605a14;\n              piVar8[8] = 0x4e800420;\n              piVar8 = piVar8 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar9 + lVar3) <= piVar8) {\n                return;\n              }\n              do {\n                *piVar8 = 0x60000000;\n                piVar8 = piVar8 + 1;\n              } while (piVar8 < (int *)((long)piVar9 + lVar3));\n              return;\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              uVar4 = *(undefined8 *)(param_1 + 8);\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              *piVar8 = uVar12 + 0x3d800000;\n              iVar5 = (int)uVar4;\n              iVar6 = (-iVar5 & 0xffffU) + 0x396b0000;\n              piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[3] = iVar6;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[2] = uVar11 + 0x800c0000;\n                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }\n              piVar8[7] = 0x7d605a14;\n              piVar8[8] = 0x4e800420;\n              piVar8 = piVar8 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar9 + lVar3) <= piVar8) {\n                return;\n              }\n              do {\n                *piVar8 = 0x60000000;\n                piVar8 = piVar8 + 1;\n              } while (piVar8 < (int *)((long)piVar9 + lVar3));\n              return;\n            }" { (expression_statement "uVar4 = *(undefined8 *)(param_1 + 8);" (assignment_expression "uVar4 = *(undefined8 *)(param_1 + 8)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 8)" * (cast_expression "(undefined8 *)(param_1 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = iVar13 + 0x8004U >> 0x10;" (assignment_expression "uVar12 = iVar13 + 0x8004U >> 0x10" identifier = (binary_expression "iVar13 + 0x8004U >> 0x10" (binary_expression "iVar13 + 0x8004U" identifier + number_literal) >> number_literal)) ;) (expression_statement "*piVar8 = uVar12 + 0x3d800000;" (assignment_expression "*piVar8 = uVar12 + 0x3d800000" (pointer_expression "*piVar8" * identifier) = (binary_expression "uVar12 + 0x3d800000" identifier + number_literal)) ;) (expression_statement "iVar5 = (int)uVar4;" (assignment_expression "iVar5 = (int)uVar4" identifier = (cast_expression "(int)uVar4" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "iVar6 = (-iVar5 & 0xffffU) + 0x396b0000;" (assignment_expression "iVar6 = (-iVar5 & 0xffffU) + 0x396b0000" identifier = (binary_expression "(-iVar5 & 0xffffU) + 0x396b0000" (parenthesized_expression "(-iVar5 & 0xffffU)" ( (binary_expression "-iVar5 & 0xffffU" (unary_expression "-iVar5" - identifier) & number_literal) )) + number_literal)) ;) (expression_statement "piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000;" (assignment_expression "piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000" (subscript_expression "piVar8[1]" identifier [ number_literal ]) = (binary_expression "(0x8000U - iVar5 >> 0x10) + 0x3d6b0000" (parenthesized_expression "(0x8000U - iVar5 >> 0x10)" ( (binary_expression "0x8000U - iVar5 >> 0x10" (binary_expression "0x8000U - iVar5" number_literal - identifier) >> number_literal) )) + number_literal)) ;) (expression_statement "uVar11 = (uint)(ushort)((short)iVar13 + 4);" (assignment_expression "uVar11 = (uint)(ushort)((short)iVar13 + 4)" identifier = (call_expression "(uint)(ushort)((short)iVar13 + 4)" (call_expression "(uint)(ushort)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(ushort)" ( identifier ))) (argument_list "((short)iVar13 + 4)" ( (binary_expression "(short)iVar13 + 4" (cast_expression "(short)iVar13" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier) + number_literal) )))) ;) (if_statement "if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[3] = iVar6;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[2] = uVar11 + 0x800c0000;\n                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }" if (parenthesized_expression "(iVar13 + 0x8008U >> 0x10 == uVar12)" ( (binary_expression "iVar13 + 0x8008U >> 0x10 == uVar12" (binary_expression "iVar13 + 0x8008U >> 0x10" (binary_expression "iVar13 + 0x8008U" identifier + number_literal) >> number_literal) == identifier) )) (compound_statement "{\n                piVar8[3] = iVar6;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[2] = uVar11 + 0x800c0000;\n                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }" { (expression_statement "piVar8[3] = iVar6;" (assignment_expression "piVar8[3] = iVar6" (subscript_expression "piVar8[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar8[4] = 0x7c0903a6;" (assignment_expression "piVar8[4] = 0x7c0903a6" (subscript_expression "piVar8[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[5] = 0x7c0b5a14;" (assignment_expression "piVar8[5] = 0x7c0b5a14" (subscript_expression "piVar8[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[2] = uVar11 + 0x800c0000;" (assignment_expression "piVar8[2] = uVar11 + 0x800c0000" (subscript_expression "piVar8[2]" identifier [ number_literal ]) = (binary_expression "uVar11 + 0x800c0000" identifier + number_literal)) ;) (expression_statement "piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;" (assignment_expression "piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000" (subscript_expression "piVar8[6]" identifier [ number_literal ]) = (binary_expression "(iVar13 + 8U & 0xffff) + 0x818c0000" (parenthesized_expression "(iVar13 + 8U & 0xffff)" ( (binary_expression "iVar13 + 8U & 0xffff" (binary_expression "iVar13 + 8U" identifier + number_literal) & number_literal) )) + number_literal)) ;) }) (else_clause "else {\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }" else (compound_statement "{\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }" { (expression_statement "piVar8[3] = iVar6;" (assignment_expression "piVar8[3] = iVar6" (subscript_expression "piVar8[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar8[2] = uVar11 + 0x840c0000;" (assignment_expression "piVar8[2] = uVar11 + 0x840c0000" (subscript_expression "piVar8[2]" identifier [ number_literal ]) = (binary_expression "uVar11 + 0x840c0000" identifier + number_literal)) ;) (expression_statement "piVar8[4] = 0x7c0903a6;" (assignment_expression "piVar8[4] = 0x7c0903a6" (subscript_expression "piVar8[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[5] = 0x7c0b5a14;" (assignment_expression "piVar8[5] = 0x7c0b5a14" (subscript_expression "piVar8[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[6] = -0x7e73fffc;" (assignment_expression "piVar8[6] = -0x7e73fffc" (subscript_expression "piVar8[6]" identifier [ number_literal ]) = number_literal) ;) }))) (expression_statement "piVar8[7] = 0x7d605a14;" (assignment_expression "piVar8[7] = 0x7d605a14" (subscript_expression "piVar8[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[8] = 0x4e800420;" (assignment_expression "piVar8[8] = 0x4e800420" (subscript_expression "piVar8[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8 = piVar8 + 9;" (assignment_expression "piVar8 = piVar8 + 9" identifier = (binary_expression "piVar8 + 9" identifier + number_literal)) ;) (labeled_statement "joined_r0x001dd725:\n              if ((int *)((long)piVar9 + lVar3) <= piVar8) {\n                return;\n              }" statement_identifier : (if_statement "if ((int *)((long)piVar9 + lVar3) <= piVar8) {\n                return;\n              }" if (parenthesized_expression "((int *)((long)piVar9 + lVar3) <= piVar8)" ( (binary_expression "(int *)((long)piVar9 + lVar3) <= piVar8" (cast_expression "(int *)((long)piVar9 + lVar3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)piVar9 + lVar3)" ( (binary_expression "(long)piVar9 + lVar3" (cast_expression "(long)piVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) ))) <= identifier) )) (compound_statement "{\n                return;\n              }" { (return_statement "return;" return ;) }))) (do_statement "do {\n                *piVar8 = 0x60000000;\n                piVar8 = piVar8 + 1;\n              } while (piVar8 < (int *)((long)piVar9 + lVar3));" do (compound_statement "{\n                *piVar8 = 0x60000000;\n                piVar8 = piVar8 + 1;\n              }" { (expression_statement "*piVar8 = 0x60000000;" (assignment_expression "*piVar8 = 0x60000000" (pointer_expression "*piVar8" * identifier) = number_literal) ;) (expression_statement "piVar8 = piVar8 + 1;" (assignment_expression "piVar8 = piVar8 + 1" identifier = (binary_expression "piVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar8 < (int *)((long)piVar9 + lVar3))" ( (binary_expression "piVar8 < (int *)((long)piVar9 + lVar3)" identifier < (cast_expression "(int *)((long)piVar9 + lVar3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)piVar9 + lVar3)" ( (binary_expression "(long)piVar9 + lVar3" (cast_expression "(long)piVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) )) ;) (return_statement "return;" return ;) })) }) (else_clause "else {\n            piVar8[6] = 0x7d6c5850;\n            piVar8[1] = 0x7c0802a6;\n            piVar8[2] = 0x429f0005;\n            piVar8[4] = 0x7d8802a6;\n            piVar8[5] = 0x7c0803a6;\n            *piVar8 = (iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar8[3] = (iVar5 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              piVar8[7] = uVar12 + 0x3d8c0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }\n              piVar8[0xc] = 0x7d605a14;\n              piVar8[10] = 0x7c0903a6;\n              piVar8[0xb] = 0x7c0b5a14;\n              piVar8[0xd] = 0x4e800420;\n              piVar8 = piVar8 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }" else (compound_statement "{\n            piVar8[6] = 0x7d6c5850;\n            piVar8[1] = 0x7c0802a6;\n            piVar8[2] = 0x429f0005;\n            piVar8[4] = 0x7d8802a6;\n            piVar8[5] = 0x7c0803a6;\n            *piVar8 = (iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar8[3] = (iVar5 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              piVar8[7] = uVar12 + 0x3d8c0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }\n              piVar8[0xc] = 0x7d605a14;\n              piVar8[10] = 0x7c0903a6;\n              piVar8[0xb] = 0x7c0b5a14;\n              piVar8[0xd] = 0x4e800420;\n              piVar8 = piVar8 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }" { (expression_statement "piVar8[6] = 0x7d6c5850;" (assignment_expression "piVar8[6] = 0x7d6c5850" (subscript_expression "piVar8[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[1] = 0x7c0802a6;" (assignment_expression "piVar8[1] = 0x7c0802a6" (subscript_expression "piVar8[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[2] = 0x429f0005;" (assignment_expression "piVar8[2] = 0x429f0005" (subscript_expression "piVar8[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[4] = 0x7d8802a6;" (assignment_expression "piVar8[4] = 0x7d8802a6" (subscript_expression "piVar8[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[5] = 0x7c0803a6;" (assignment_expression "piVar8[5] = 0x7c0803a6" (subscript_expression "piVar8[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*piVar8 = (iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000;" (assignment_expression "*piVar8 = (iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000" (pointer_expression "*piVar8" * identifier) = (binary_expression "(iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000" (parenthesized_expression "(iVar5 + 0x7fccU >> 0x10)" ( (binary_expression "iVar5 + 0x7fccU >> 0x10" (binary_expression "iVar5 + 0x7fccU" identifier + number_literal) >> number_literal) )) + number_literal)) ;) (expression_statement "piVar8[3] = (iVar5 - 0x34U & 0xffff) + 0x396b0000;" (assignment_expression "piVar8[3] = (iVar5 - 0x34U & 0xffff) + 0x396b0000" (subscript_expression "piVar8[3]" identifier [ number_literal ]) = (binary_expression "(iVar5 - 0x34U & 0xffff) + 0x396b0000" (parenthesized_expression "(iVar5 - 0x34U & 0xffff)" ( (binary_expression "iVar5 - 0x34U & 0xffff" (binary_expression "iVar5 - 0x34U" identifier - number_literal) & number_literal) )) + number_literal)) ;) (if_statement "if ((bVar1 & 1) != 0) {\n              iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              piVar8[7] = uVar12 + 0x3d8c0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }\n              piVar8[0xc] = 0x7d605a14;\n              piVar8[10] = 0x7c0903a6;\n              piVar8[0xb] = 0x7c0b5a14;\n              piVar8[0xd] = 0x4e800420;\n              piVar8 = piVar8 + 0xe;\n              goto joined_r0x001dd725;\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              iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              piVar8[7] = uVar12 + 0x3d8c0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }\n              piVar8[0xc] = 0x7d605a14;\n              piVar8[10] = 0x7c0903a6;\n              piVar8[0xb] = 0x7c0b5a14;\n              piVar8[0xd] = 0x4e800420;\n              piVar8 = piVar8 + 0xe;\n              goto joined_r0x001dd725;\n            }" { (expression_statement "iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));" (assignment_expression "iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8))" identifier = (binary_expression "iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8))" identifier - (parenthesized_expression "((iVar5 - 0x34U) + *(int *)(param_1 + 8))" ( (binary_expression "(iVar5 - 0x34U) + *(int *)(param_1 + 8)" (parenthesized_expression "(iVar5 - 0x34U)" ( (binary_expression "iVar5 - 0x34U" identifier - number_literal) )) + (pointer_expression "*(int *)(param_1 + 8)" * (cast_expression "(int *)(param_1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) )))) ;) (expression_statement "uVar12 = iVar13 + 0x8004U >> 0x10;" (assignment_expression "uVar12 = iVar13 + 0x8004U >> 0x10" identifier = (binary_expression "iVar13 + 0x8004U >> 0x10" (binary_expression "iVar13 + 0x8004U" identifier + number_literal) >> number_literal)) ;) (expression_statement "piVar8[7] = uVar12 + 0x3d8c0000;" (assignment_expression "piVar8[7] = uVar12 + 0x3d8c0000" (subscript_expression "piVar8[7]" identifier [ number_literal ]) = (binary_expression "uVar12 + 0x3d8c0000" identifier + number_literal)) ;) (expression_statement "uVar11 = (uint)(ushort)((short)iVar13 + 4);" (assignment_expression "uVar11 = (uint)(ushort)((short)iVar13 + 4)" identifier = (call_expression "(uint)(ushort)((short)iVar13 + 4)" (call_expression "(uint)(ushort)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(ushort)" ( identifier ))) (argument_list "((short)iVar13 + 4)" ( (binary_expression "(short)iVar13 + 4" (cast_expression "(short)iVar13" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier) + number_literal) )))) ;) (if_statement "if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }" if (parenthesized_expression "(iVar13 + 0x8008U >> 0x10 == uVar12)" ( (binary_expression "iVar13 + 0x8008U >> 0x10 == uVar12" (binary_expression "iVar13 + 0x8008U >> 0x10" (binary_expression "iVar13 + 0x8008U" identifier + number_literal) >> number_literal) == identifier) )) (compound_statement "{\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }" { (expression_statement "piVar8[8] = uVar11 + 0x800c0000;" (assignment_expression "piVar8[8] = uVar11 + 0x800c0000" (subscript_expression "piVar8[8]" identifier [ number_literal ]) = (binary_expression "uVar11 + 0x800c0000" identifier + number_literal)) ;) (expression_statement "piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;" (assignment_expression "piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000" (subscript_expression "piVar8[9]" identifier [ number_literal ]) = (binary_expression "(iVar13 + 8U & 0xffff) + 0x818c0000" (parenthesized_expression "(iVar13 + 8U & 0xffff)" ( (binary_expression "iVar13 + 8U & 0xffff" (binary_expression "iVar13 + 8U" identifier + number_literal) & number_literal) )) + number_literal)) ;) }) (else_clause "else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }" else (compound_statement "{\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }" { (expression_statement "piVar8[9] = -0x7e73fffc;" (assignment_expression "piVar8[9] = -0x7e73fffc" (subscript_expression "piVar8[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[8] = uVar11 + 0x840c0000;" (assignment_expression "piVar8[8] = uVar11 + 0x840c0000" (subscript_expression "piVar8[8]" identifier [ number_literal ]) = (binary_expression "uVar11 + 0x840c0000" identifier + number_literal)) ;) }))) (expression_statement "piVar8[0xc] = 0x7d605a14;" (assignment_expression "piVar8[0xc] = 0x7d605a14" (subscript_expression "piVar8[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[10] = 0x7c0903a6;" (assignment_expression "piVar8[10] = 0x7c0903a6" (subscript_expression "piVar8[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[0xb] = 0x7c0b5a14;" (assignment_expression "piVar8[0xb] = 0x7c0b5a14" (subscript_expression "piVar8[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8[0xd] = 0x4e800420;" (assignment_expression "piVar8[0xd] = 0x4e800420" (subscript_expression "piVar8[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8 = piVar8 + 0xe;" (assignment_expression "piVar8 = piVar8 + 0xe" identifier = (binary_expression "piVar8 + 0xe" identifier + number_literal)) ;) (goto_statement "goto joined_r0x001dd725;" goto statement_identifier ;) })) }))) })) })) (expression_statement "FUN_00352af0("../../gold/output.h",0xc5,"address");" (call_expression "FUN_00352af0("../../gold/output.h",0xc5,"address")" identifier (argument_list "("../../gold/output.h",0xc5,"address")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""address"" " string_content ") ))) ;) })) }))) (expression_statement "FUN_00352af0("../../gold/powerpc.cc",0x36a,"plt_section");" (call_expression "FUN_00352af0("../../gold/powerpc.cc",0x36a,"plt_section")" identifier (argument_list "("../../gold/powerpc.cc",0x36a,"plt_section")" ( (string_literal ""../../gold/powerpc.cc"" " string_content ") , number_literal , (string_literal ""plt_section"" " string_content ") ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration (sized_type_specifier long) IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (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 IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < LIT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < (binary_expression IDENT + IDENT)) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != 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 { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) ))) + (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (binary_expression IDENT + LIT)) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (binary_expression IDENT + LIT)) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ))) & LIT) ))) + LIT) )))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ))) & LIT) ))) + LIT) )))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (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) )))) == (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + LIT) >> LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression - IDENT) & LIT) )) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression LIT - IDENT) >> LIT) )) + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier short)) ) IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + LIT) >> LIT) == IDENT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) & LIT) )) + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) ))) <= IDENT) )) (compound_statement { (return_statement return ;) }))) (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) )))) )) ;) (return_statement return ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) >> LIT) )) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) & LIT) )) + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT - LIT) )) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + LIT) >> LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier short)) ) IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + LIT) >> LIT) == IDENT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) & LIT) )) + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) }))) })) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) }))) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })))
(function_definition "void FUN_001dd4b0(long param_1,long param_2)\n\n{\n  byte bVar1;\n  long lVar2;\n  long lVar3;\n  undefined8 uVar4;\n  int iVar5;\n  int iVar6;\n  int *piVar7;\n  int *piVar8;\n  int *piVar9;\n  int *piVar10;\n  uint uVar11;\n  uint uVar12;\n  int iVar13;\n  \n  bVar1 = *(byte *)(param_1 + 0x20);\n  if ((bVar1 & 4) == 0) {\n                    \n    FUN_00352af0("../../gold/output.h",0xe3,"offset");\n  }\n  lVar2 = *(long *)(param_1 + 0x18);\n  if ((bVar1 & 2) == 0) {\n                    \n    FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n  }\n  lVar3 = *(long *)(param_1 + 0x10);\n  if ((lVar2 < 0) || (*(long *)(param_2 + 0x10) < lVar2 + lVar3)) {\n    FUN_001dd100();\n  }\n  else {\n    piVar9 = (int *)(lVar2 + *(long *)(param_2 + 0x18));\n    lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x28);\n    if (lVar2 != 0) {\n      if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n        lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x20);\n        if (lVar2 == 0) {\n          FUN_001dc950();\n                    \n          FUN_00352af0("../../gold/output.h",0xc5,"address");\n        }\n        if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n          iVar13 = (int)*(undefined8 *)(lVar2 + 8) + *(int *)(lVar2 + 0x9c) * 4;\n          iVar5 = (int)lVar3;\n          piVar10 = (int *)((ulong)(iVar5 - 0x40) + (long)piVar9);\n          piVar8 = piVar9;\n          if (piVar9 < piVar10 + -8) {\n            do {\n              piVar7 = piVar8 + 1;\n              *piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8;\n              piVar8 = piVar7;\n            } while (piVar7 < piVar10 + -8);\n            piVar8 = (int *)((long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4);\n          }\n          piVar7 = piVar8;\n          if (piVar8 < piVar10) {\n            do {\n              *piVar7 = 0x60000000;\n              piVar7 = piVar7 + 1;\n            } while (piVar7 < piVar10);\n            piVar8 = (int *)((long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4);\n          }\n          lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar2 == 0) {\n                    \n            FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n          }\n          if ((*(char *)(lVar2 + 0x2a61) == '\0') && (*(char *)(lVar2 + 0x42d1) == '\0')) {\n            if ((bVar1 & 1) != 0) {\n              uVar4 = *(undefined8 *)(param_1 + 8);\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              *piVar8 = uVar12 + 0x3d800000;\n              iVar5 = (int)uVar4;\n              iVar6 = (-iVar5 & 0xffffU) + 0x396b0000;\n              piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[3] = iVar6;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[2] = uVar11 + 0x800c0000;\n                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }\n              piVar8[7] = 0x7d605a14;\n              piVar8[8] = 0x4e800420;\n              piVar8 = piVar8 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar9 + lVar3) <= piVar8) {\n                return;\n              }\n              do {\n                *piVar8 = 0x60000000;\n                piVar8 = piVar8 + 1;\n              } while (piVar8 < (int *)((long)piVar9 + lVar3));\n              return;\n            }\n          }\n          else {\n            piVar8[6] = 0x7d6c5850;\n            piVar8[1] = 0x7c0802a6;\n            piVar8[2] = 0x429f0005;\n            piVar8[4] = 0x7d8802a6;\n            piVar8[5] = 0x7c0803a6;\n            *piVar8 = (iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar8[3] = (iVar5 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              piVar8[7] = uVar12 + 0x3d8c0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }\n              piVar8[0xc] = 0x7d605a14;\n              piVar8[10] = 0x7c0903a6;\n              piVar8[0xb] = 0x7c0b5a14;\n              piVar8[0xd] = 0x4e800420;\n              piVar8 = piVar8 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }\n        }\n      }\n                    \n      FUN_00352af0("../../gold/output.h",0xc5,"address");\n    }\n  }\n                    \n  FUN_00352af0("../../gold/powerpc.cc",0x36a,"plt_section");\n}" (primitive_type "void") (function_declarator "FUN_001dd4b0(long param_1,long param_2)" (identifier "FUN_001dd4b0") (parameter_list "(long param_1,long param_2)" (( "(") (parameter_declaration "long param_1" (sized_type_specifier "long" (long "long")) (identifier "param_1")) (, ",") (parameter_declaration "long param_2" (sized_type_specifier "long" (long "long")) (identifier "param_2")) () ")"))) (compound_statement "{\n  byte bVar1;\n  long lVar2;\n  long lVar3;\n  undefined8 uVar4;\n  int iVar5;\n  int iVar6;\n  int *piVar7;\n  int *piVar8;\n  int *piVar9;\n  int *piVar10;\n  uint uVar11;\n  uint uVar12;\n  int iVar13;\n  \n  bVar1 = *(byte *)(param_1 + 0x20);\n  if ((bVar1 & 4) == 0) {\n                    \n    FUN_00352af0("../../gold/output.h",0xe3,"offset");\n  }\n  lVar2 = *(long *)(param_1 + 0x18);\n  if ((bVar1 & 2) == 0) {\n                    \n    FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n  }\n  lVar3 = *(long *)(param_1 + 0x10);\n  if ((lVar2 < 0) || (*(long *)(param_2 + 0x10) < lVar2 + lVar3)) {\n    FUN_001dd100();\n  }\n  else {\n    piVar9 = (int *)(lVar2 + *(long *)(param_2 + 0x18));\n    lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x28);\n    if (lVar2 != 0) {\n      if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n        lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x20);\n        if (lVar2 == 0) {\n          FUN_001dc950();\n                    \n          FUN_00352af0("../../gold/output.h",0xc5,"address");\n        }\n        if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n          iVar13 = (int)*(undefined8 *)(lVar2 + 8) + *(int *)(lVar2 + 0x9c) * 4;\n          iVar5 = (int)lVar3;\n          piVar10 = (int *)((ulong)(iVar5 - 0x40) + (long)piVar9);\n          piVar8 = piVar9;\n          if (piVar9 < piVar10 + -8) {\n            do {\n              piVar7 = piVar8 + 1;\n              *piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8;\n              piVar8 = piVar7;\n            } while (piVar7 < piVar10 + -8);\n            piVar8 = (int *)((long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4);\n          }\n          piVar7 = piVar8;\n          if (piVar8 < piVar10) {\n            do {\n              *piVar7 = 0x60000000;\n              piVar7 = piVar7 + 1;\n            } while (piVar7 < piVar10);\n            piVar8 = (int *)((long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4);\n          }\n          lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar2 == 0) {\n                    \n            FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n          }\n          if ((*(char *)(lVar2 + 0x2a61) == '\0') && (*(char *)(lVar2 + 0x42d1) == '\0')) {\n            if ((bVar1 & 1) != 0) {\n              uVar4 = *(undefined8 *)(param_1 + 8);\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              *piVar8 = uVar12 + 0x3d800000;\n              iVar5 = (int)uVar4;\n              iVar6 = (-iVar5 & 0xffffU) + 0x396b0000;\n              piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[3] = iVar6;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[2] = uVar11 + 0x800c0000;\n                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }\n              piVar8[7] = 0x7d605a14;\n              piVar8[8] = 0x4e800420;\n              piVar8 = piVar8 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar9 + lVar3) <= piVar8) {\n                return;\n              }\n              do {\n                *piVar8 = 0x60000000;\n                piVar8 = piVar8 + 1;\n              } while (piVar8 < (int *)((long)piVar9 + lVar3));\n              return;\n            }\n          }\n          else {\n            piVar8[6] = 0x7d6c5850;\n            piVar8[1] = 0x7c0802a6;\n            piVar8[2] = 0x429f0005;\n            piVar8[4] = 0x7d8802a6;\n            piVar8[5] = 0x7c0803a6;\n            *piVar8 = (iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar8[3] = (iVar5 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              piVar8[7] = uVar12 + 0x3d8c0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }\n              piVar8[0xc] = 0x7d605a14;\n              piVar8[10] = 0x7c0903a6;\n              piVar8[0xb] = 0x7c0b5a14;\n              piVar8[0xd] = 0x4e800420;\n              piVar8 = piVar8 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }\n        }\n      }\n                    \n      FUN_00352af0("../../gold/output.h",0xc5,"address");\n    }\n  }\n                    \n  FUN_00352af0("../../gold/powerpc.cc",0x36a,"plt_section");\n}" ({ "{") (declaration "byte bVar1;" (type_identifier "byte") (identifier "bVar1") (; ";")) (declaration "long lVar2;" (sized_type_specifier "long" (long "long")) (identifier "lVar2") (; ";")) (declaration "long lVar3;" (sized_type_specifier "long" (long "long")) (identifier "lVar3") (; ";")) (declaration "undefined8 uVar4;" (type_identifier "undefined8") (identifier "uVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "int *piVar7;" (primitive_type "int") (pointer_declarator "*piVar7" (* "*") (identifier "piVar7")) (; ";")) (declaration "int *piVar8;" (primitive_type "int") (pointer_declarator "*piVar8" (* "*") (identifier "piVar8")) (; ";")) (declaration "int *piVar9;" (primitive_type "int") (pointer_declarator "*piVar9" (* "*") (identifier "piVar9")) (; ";")) (declaration "int *piVar10;" (primitive_type "int") (pointer_declarator "*piVar10" (* "*") (identifier "piVar10")) (; ";")) (declaration "uint uVar11;" (type_identifier "uint") (identifier "uVar11") (; ";")) (declaration "uint uVar12;" (type_identifier "uint") (identifier "uVar12") (; ";")) (declaration "int iVar13;" (primitive_type "int") (identifier "iVar13") (; ";")) (expression_statement "bVar1 = *(byte *)(param_1 + 0x20);" (assignment_expression "bVar1 = *(byte *)(param_1 + 0x20)" (identifier "bVar1") (= "=") (pointer_expression "*(byte *)(param_1 + 0x20)" (* "*") (cast_expression "(byte *)(param_1 + 0x20)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (if_statement "if ((bVar1 & 4) == 0) {\n                    \n    FUN_00352af0("../../gold/output.h",0xe3,"offset");\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                    \n    FUN_00352af0("../../gold/output.h",0xe3,"offset");\n  }" ({ "{") (expression_statement "FUN_00352af0("../../gold/output.h",0xe3,"offset");" (call_expression "FUN_00352af0("../../gold/output.h",0xe3,"offset")" (identifier "FUN_00352af0") (argument_list "("../../gold/output.h",0xe3,"offset")" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0xe3") (, ",") (string_literal ""offset"" (" """) (string_content "offset") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "lVar2 = *(long *)(param_1 + 0x18);" (assignment_expression "lVar2 = *(long *)(param_1 + 0x18)" (identifier "lVar2") (= "=") (pointer_expression "*(long *)(param_1 + 0x18)" (* "*") (cast_expression "(long *)(param_1 + 0x18)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (if_statement "if ((bVar1 & 2) == 0) {\n                    \n    FUN_00352af0("../../gold/output.h",0xcf,"data_size");\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                    \n    FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n  }" ({ "{") (expression_statement "FUN_00352af0("../../gold/output.h",0xcf,"data_size");" (call_expression "FUN_00352af0("../../gold/output.h",0xcf,"data_size")" (identifier "FUN_00352af0") (argument_list "("../../gold/output.h",0xcf,"data_size")" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0xcf") (, ",") (string_literal ""data_size"" (" """) (string_content "data_size") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "lVar3 = *(long *)(param_1 + 0x10);" (assignment_expression "lVar3 = *(long *)(param_1 + 0x10)" (identifier "lVar3") (= "=") (pointer_expression "*(long *)(param_1 + 0x10)" (* "*") (cast_expression "(long *)(param_1 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if ((lVar2 < 0) || (*(long *)(param_2 + 0x10) < lVar2 + lVar3)) {\n    FUN_001dd100();\n  }\n  else {\n    piVar9 = (int *)(lVar2 + *(long *)(param_2 + 0x18));\n    lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x28);\n    if (lVar2 != 0) {\n      if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n        lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x20);\n        if (lVar2 == 0) {\n          FUN_001dc950();\n                    \n          FUN_00352af0("../../gold/output.h",0xc5,"address");\n        }\n        if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n          iVar13 = (int)*(undefined8 *)(lVar2 + 8) + *(int *)(lVar2 + 0x9c) * 4;\n          iVar5 = (int)lVar3;\n          piVar10 = (int *)((ulong)(iVar5 - 0x40) + (long)piVar9);\n          piVar8 = piVar9;\n          if (piVar9 < piVar10 + -8) {\n            do {\n              piVar7 = piVar8 + 1;\n              *piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8;\n              piVar8 = piVar7;\n            } while (piVar7 < piVar10 + -8);\n            piVar8 = (int *)((long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4);\n          }\n          piVar7 = piVar8;\n          if (piVar8 < piVar10) {\n            do {\n              *piVar7 = 0x60000000;\n              piVar7 = piVar7 + 1;\n            } while (piVar7 < piVar10);\n            piVar8 = (int *)((long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4);\n          }\n          lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar2 == 0) {\n                    \n            FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n          }\n          if ((*(char *)(lVar2 + 0x2a61) == '\0') && (*(char *)(lVar2 + 0x42d1) == '\0')) {\n            if ((bVar1 & 1) != 0) {\n              uVar4 = *(undefined8 *)(param_1 + 8);\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              *piVar8 = uVar12 + 0x3d800000;\n              iVar5 = (int)uVar4;\n              iVar6 = (-iVar5 & 0xffffU) + 0x396b0000;\n              piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[3] = iVar6;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[2] = uVar11 + 0x800c0000;\n                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }\n              piVar8[7] = 0x7d605a14;\n              piVar8[8] = 0x4e800420;\n              piVar8 = piVar8 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar9 + lVar3) <= piVar8) {\n                return;\n              }\n              do {\n                *piVar8 = 0x60000000;\n                piVar8 = piVar8 + 1;\n              } while (piVar8 < (int *)((long)piVar9 + lVar3));\n              return;\n            }\n          }\n          else {\n            piVar8[6] = 0x7d6c5850;\n            piVar8[1] = 0x7c0802a6;\n            piVar8[2] = 0x429f0005;\n            piVar8[4] = 0x7d8802a6;\n            piVar8[5] = 0x7c0803a6;\n            *piVar8 = (iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar8[3] = (iVar5 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              piVar8[7] = uVar12 + 0x3d8c0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }\n              piVar8[0xc] = 0x7d605a14;\n              piVar8[10] = 0x7c0903a6;\n              piVar8[0xb] = 0x7c0b5a14;\n              piVar8[0xd] = 0x4e800420;\n              piVar8 = piVar8 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }\n        }\n      }\n                    \n      FUN_00352af0("../../gold/output.h",0xc5,"address");\n    }\n  }" (if "if") (parenthesized_expression "((lVar2 < 0) || (*(long *)(param_2 + 0x10) < lVar2 + lVar3))" (( "(") (binary_expression "(lVar2 < 0) || (*(long *)(param_2 + 0x10) < lVar2 + lVar3)" (parenthesized_expression "(lVar2 < 0)" (( "(") (binary_expression "lVar2 < 0" (identifier "lVar2") (< "<") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(*(long *)(param_2 + 0x10) < lVar2 + lVar3)" (( "(") (binary_expression "*(long *)(param_2 + 0x10) < lVar2 + lVar3" (pointer_expression "*(long *)(param_2 + 0x10)" (* "*") (cast_expression "(long *)(param_2 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x10)" (( "(") (binary_expression "param_2 + 0x10" (identifier "param_2") (+ "+") (number_literal "0x10")) () ")")))) (< "<") (binary_expression "lVar2 + lVar3" (identifier "lVar2") (+ "+") (identifier "lVar3"))) () ")"))) () ")")) (compound_statement "{\n    FUN_001dd100();\n  }" ({ "{") (expression_statement "FUN_001dd100();" (call_expression "FUN_001dd100()" (identifier "FUN_001dd100") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n    piVar9 = (int *)(lVar2 + *(long *)(param_2 + 0x18));\n    lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x28);\n    if (lVar2 != 0) {\n      if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n        lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x20);\n        if (lVar2 == 0) {\n          FUN_001dc950();\n                    \n          FUN_00352af0("../../gold/output.h",0xc5,"address");\n        }\n        if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n          iVar13 = (int)*(undefined8 *)(lVar2 + 8) + *(int *)(lVar2 + 0x9c) * 4;\n          iVar5 = (int)lVar3;\n          piVar10 = (int *)((ulong)(iVar5 - 0x40) + (long)piVar9);\n          piVar8 = piVar9;\n          if (piVar9 < piVar10 + -8) {\n            do {\n              piVar7 = piVar8 + 1;\n              *piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8;\n              piVar8 = piVar7;\n            } while (piVar7 < piVar10 + -8);\n            piVar8 = (int *)((long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4);\n          }\n          piVar7 = piVar8;\n          if (piVar8 < piVar10) {\n            do {\n              *piVar7 = 0x60000000;\n              piVar7 = piVar7 + 1;\n            } while (piVar7 < piVar10);\n            piVar8 = (int *)((long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4);\n          }\n          lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar2 == 0) {\n                    \n            FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n          }\n          if ((*(char *)(lVar2 + 0x2a61) == '\0') && (*(char *)(lVar2 + 0x42d1) == '\0')) {\n            if ((bVar1 & 1) != 0) {\n              uVar4 = *(undefined8 *)(param_1 + 8);\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              *piVar8 = uVar12 + 0x3d800000;\n              iVar5 = (int)uVar4;\n              iVar6 = (-iVar5 & 0xffffU) + 0x396b0000;\n              piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[3] = iVar6;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[2] = uVar11 + 0x800c0000;\n                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }\n              piVar8[7] = 0x7d605a14;\n              piVar8[8] = 0x4e800420;\n              piVar8 = piVar8 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar9 + lVar3) <= piVar8) {\n                return;\n              }\n              do {\n                *piVar8 = 0x60000000;\n                piVar8 = piVar8 + 1;\n              } while (piVar8 < (int *)((long)piVar9 + lVar3));\n              return;\n            }\n          }\n          else {\n            piVar8[6] = 0x7d6c5850;\n            piVar8[1] = 0x7c0802a6;\n            piVar8[2] = 0x429f0005;\n            piVar8[4] = 0x7d8802a6;\n            piVar8[5] = 0x7c0803a6;\n            *piVar8 = (iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar8[3] = (iVar5 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              piVar8[7] = uVar12 + 0x3d8c0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }\n              piVar8[0xc] = 0x7d605a14;\n              piVar8[10] = 0x7c0903a6;\n              piVar8[0xb] = 0x7c0b5a14;\n              piVar8[0xd] = 0x4e800420;\n              piVar8 = piVar8 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }\n        }\n      }\n                    \n      FUN_00352af0("../../gold/output.h",0xc5,"address");\n    }\n  }" (else "else") (compound_statement "{\n    piVar9 = (int *)(lVar2 + *(long *)(param_2 + 0x18));\n    lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x28);\n    if (lVar2 != 0) {\n      if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n        lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x20);\n        if (lVar2 == 0) {\n          FUN_001dc950();\n                    \n          FUN_00352af0("../../gold/output.h",0xc5,"address");\n        }\n        if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n          iVar13 = (int)*(undefined8 *)(lVar2 + 8) + *(int *)(lVar2 + 0x9c) * 4;\n          iVar5 = (int)lVar3;\n          piVar10 = (int *)((ulong)(iVar5 - 0x40) + (long)piVar9);\n          piVar8 = piVar9;\n          if (piVar9 < piVar10 + -8) {\n            do {\n              piVar7 = piVar8 + 1;\n              *piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8;\n              piVar8 = piVar7;\n            } while (piVar7 < piVar10 + -8);\n            piVar8 = (int *)((long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4);\n          }\n          piVar7 = piVar8;\n          if (piVar8 < piVar10) {\n            do {\n              *piVar7 = 0x60000000;\n              piVar7 = piVar7 + 1;\n            } while (piVar7 < piVar10);\n            piVar8 = (int *)((long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4);\n          }\n          lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar2 == 0) {\n                    \n            FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n          }\n          if ((*(char *)(lVar2 + 0x2a61) == '\0') && (*(char *)(lVar2 + 0x42d1) == '\0')) {\n            if ((bVar1 & 1) != 0) {\n              uVar4 = *(undefined8 *)(param_1 + 8);\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              *piVar8 = uVar12 + 0x3d800000;\n              iVar5 = (int)uVar4;\n              iVar6 = (-iVar5 & 0xffffU) + 0x396b0000;\n              piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[3] = iVar6;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[2] = uVar11 + 0x800c0000;\n                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }\n              piVar8[7] = 0x7d605a14;\n              piVar8[8] = 0x4e800420;\n              piVar8 = piVar8 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar9 + lVar3) <= piVar8) {\n                return;\n              }\n              do {\n                *piVar8 = 0x60000000;\n                piVar8 = piVar8 + 1;\n              } while (piVar8 < (int *)((long)piVar9 + lVar3));\n              return;\n            }\n          }\n          else {\n            piVar8[6] = 0x7d6c5850;\n            piVar8[1] = 0x7c0802a6;\n            piVar8[2] = 0x429f0005;\n            piVar8[4] = 0x7d8802a6;\n            piVar8[5] = 0x7c0803a6;\n            *piVar8 = (iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar8[3] = (iVar5 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              piVar8[7] = uVar12 + 0x3d8c0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }\n              piVar8[0xc] = 0x7d605a14;\n              piVar8[10] = 0x7c0903a6;\n              piVar8[0xb] = 0x7c0b5a14;\n              piVar8[0xd] = 0x4e800420;\n              piVar8 = piVar8 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }\n        }\n      }\n                    \n      FUN_00352af0("../../gold/output.h",0xc5,"address");\n    }\n  }" ({ "{") (expression_statement "piVar9 = (int *)(lVar2 + *(long *)(param_2 + 0x18));" (assignment_expression "piVar9 = (int *)(lVar2 + *(long *)(param_2 + 0x18))" (identifier "piVar9") (= "=") (cast_expression "(int *)(lVar2 + *(long *)(param_2 + 0x18))" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + *(long *)(param_2 + 0x18))" (( "(") (binary_expression "lVar2 + *(long *)(param_2 + 0x18)" (identifier "lVar2") (+ "+") (pointer_expression "*(long *)(param_2 + 0x18)" (* "*") (cast_expression "(long *)(param_2 + 0x18)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x18)" (( "(") (binary_expression "param_2 + 0x18" (identifier "param_2") (+ "+") (number_literal "0x18")) () ")"))))) () ")")))) (; ";")) (expression_statement "lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x28);" (assignment_expression "lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x28)" (identifier "lVar2") (= "=") (pointer_expression "*(long *)(*(long *)(param_1 + 0x38) + 0x28)" (* "*") (cast_expression "(long *)(*(long *)(param_1 + 0x38) + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0x38) + 0x28)" (( "(") (binary_expression "*(long *)(param_1 + 0x38) + 0x28" (pointer_expression "*(long *)(param_1 + 0x38)" (* "*") (cast_expression "(long *)(param_1 + 0x38)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")")))) (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (if_statement "if (lVar2 != 0) {\n      if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n        lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x20);\n        if (lVar2 == 0) {\n          FUN_001dc950();\n                    \n          FUN_00352af0("../../gold/output.h",0xc5,"address");\n        }\n        if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n          iVar13 = (int)*(undefined8 *)(lVar2 + 8) + *(int *)(lVar2 + 0x9c) * 4;\n          iVar5 = (int)lVar3;\n          piVar10 = (int *)((ulong)(iVar5 - 0x40) + (long)piVar9);\n          piVar8 = piVar9;\n          if (piVar9 < piVar10 + -8) {\n            do {\n              piVar7 = piVar8 + 1;\n              *piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8;\n              piVar8 = piVar7;\n            } while (piVar7 < piVar10 + -8);\n            piVar8 = (int *)((long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4);\n          }\n          piVar7 = piVar8;\n          if (piVar8 < piVar10) {\n            do {\n              *piVar7 = 0x60000000;\n              piVar7 = piVar7 + 1;\n            } while (piVar7 < piVar10);\n            piVar8 = (int *)((long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4);\n          }\n          lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar2 == 0) {\n                    \n            FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n          }\n          if ((*(char *)(lVar2 + 0x2a61) == '\0') && (*(char *)(lVar2 + 0x42d1) == '\0')) {\n            if ((bVar1 & 1) != 0) {\n              uVar4 = *(undefined8 *)(param_1 + 8);\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              *piVar8 = uVar12 + 0x3d800000;\n              iVar5 = (int)uVar4;\n              iVar6 = (-iVar5 & 0xffffU) + 0x396b0000;\n              piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[3] = iVar6;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[2] = uVar11 + 0x800c0000;\n                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }\n              piVar8[7] = 0x7d605a14;\n              piVar8[8] = 0x4e800420;\n              piVar8 = piVar8 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar9 + lVar3) <= piVar8) {\n                return;\n              }\n              do {\n                *piVar8 = 0x60000000;\n                piVar8 = piVar8 + 1;\n              } while (piVar8 < (int *)((long)piVar9 + lVar3));\n              return;\n            }\n          }\n          else {\n            piVar8[6] = 0x7d6c5850;\n            piVar8[1] = 0x7c0802a6;\n            piVar8[2] = 0x429f0005;\n            piVar8[4] = 0x7d8802a6;\n            piVar8[5] = 0x7c0803a6;\n            *piVar8 = (iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar8[3] = (iVar5 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              piVar8[7] = uVar12 + 0x3d8c0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }\n              piVar8[0xc] = 0x7d605a14;\n              piVar8[10] = 0x7c0903a6;\n              piVar8[0xb] = 0x7c0b5a14;\n              piVar8[0xd] = 0x4e800420;\n              piVar8 = piVar8 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }\n        }\n      }\n                    \n      FUN_00352af0("../../gold/output.h",0xc5,"address");\n    }" (if "if") (parenthesized_expression "(lVar2 != 0)" (( "(") (binary_expression "lVar2 != 0" (identifier "lVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n        lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x20);\n        if (lVar2 == 0) {\n          FUN_001dc950();\n                    \n          FUN_00352af0("../../gold/output.h",0xc5,"address");\n        }\n        if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n          iVar13 = (int)*(undefined8 *)(lVar2 + 8) + *(int *)(lVar2 + 0x9c) * 4;\n          iVar5 = (int)lVar3;\n          piVar10 = (int *)((ulong)(iVar5 - 0x40) + (long)piVar9);\n          piVar8 = piVar9;\n          if (piVar9 < piVar10 + -8) {\n            do {\n              piVar7 = piVar8 + 1;\n              *piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8;\n              piVar8 = piVar7;\n            } while (piVar7 < piVar10 + -8);\n            piVar8 = (int *)((long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4);\n          }\n          piVar7 = piVar8;\n          if (piVar8 < piVar10) {\n            do {\n              *piVar7 = 0x60000000;\n              piVar7 = piVar7 + 1;\n            } while (piVar7 < piVar10);\n            piVar8 = (int *)((long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4);\n          }\n          lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar2 == 0) {\n                    \n            FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n          }\n          if ((*(char *)(lVar2 + 0x2a61) == '\0') && (*(char *)(lVar2 + 0x42d1) == '\0')) {\n            if ((bVar1 & 1) != 0) {\n              uVar4 = *(undefined8 *)(param_1 + 8);\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              *piVar8 = uVar12 + 0x3d800000;\n              iVar5 = (int)uVar4;\n              iVar6 = (-iVar5 & 0xffffU) + 0x396b0000;\n              piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[3] = iVar6;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[2] = uVar11 + 0x800c0000;\n                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }\n              piVar8[7] = 0x7d605a14;\n              piVar8[8] = 0x4e800420;\n              piVar8 = piVar8 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar9 + lVar3) <= piVar8) {\n                return;\n              }\n              do {\n                *piVar8 = 0x60000000;\n                piVar8 = piVar8 + 1;\n              } while (piVar8 < (int *)((long)piVar9 + lVar3));\n              return;\n            }\n          }\n          else {\n            piVar8[6] = 0x7d6c5850;\n            piVar8[1] = 0x7c0802a6;\n            piVar8[2] = 0x429f0005;\n            piVar8[4] = 0x7d8802a6;\n            piVar8[5] = 0x7c0803a6;\n            *piVar8 = (iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar8[3] = (iVar5 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              piVar8[7] = uVar12 + 0x3d8c0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }\n              piVar8[0xc] = 0x7d605a14;\n              piVar8[10] = 0x7c0903a6;\n              piVar8[0xb] = 0x7c0b5a14;\n              piVar8[0xd] = 0x4e800420;\n              piVar8 = piVar8 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }\n        }\n      }\n                    \n      FUN_00352af0("../../gold/output.h",0xc5,"address");\n    }" ({ "{") (if_statement "if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n        lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x20);\n        if (lVar2 == 0) {\n          FUN_001dc950();\n                    \n          FUN_00352af0("../../gold/output.h",0xc5,"address");\n        }\n        if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n          iVar13 = (int)*(undefined8 *)(lVar2 + 8) + *(int *)(lVar2 + 0x9c) * 4;\n          iVar5 = (int)lVar3;\n          piVar10 = (int *)((ulong)(iVar5 - 0x40) + (long)piVar9);\n          piVar8 = piVar9;\n          if (piVar9 < piVar10 + -8) {\n            do {\n              piVar7 = piVar8 + 1;\n              *piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8;\n              piVar8 = piVar7;\n            } while (piVar7 < piVar10 + -8);\n            piVar8 = (int *)((long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4);\n          }\n          piVar7 = piVar8;\n          if (piVar8 < piVar10) {\n            do {\n              *piVar7 = 0x60000000;\n              piVar7 = piVar7 + 1;\n            } while (piVar7 < piVar10);\n            piVar8 = (int *)((long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4);\n          }\n          lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar2 == 0) {\n                    \n            FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n          }\n          if ((*(char *)(lVar2 + 0x2a61) == '\0') && (*(char *)(lVar2 + 0x42d1) == '\0')) {\n            if ((bVar1 & 1) != 0) {\n              uVar4 = *(undefined8 *)(param_1 + 8);\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              *piVar8 = uVar12 + 0x3d800000;\n              iVar5 = (int)uVar4;\n              iVar6 = (-iVar5 & 0xffffU) + 0x396b0000;\n              piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[3] = iVar6;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[2] = uVar11 + 0x800c0000;\n                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }\n              piVar8[7] = 0x7d605a14;\n              piVar8[8] = 0x4e800420;\n              piVar8 = piVar8 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar9 + lVar3) <= piVar8) {\n                return;\n              }\n              do {\n                *piVar8 = 0x60000000;\n                piVar8 = piVar8 + 1;\n              } while (piVar8 < (int *)((long)piVar9 + lVar3));\n              return;\n            }\n          }\n          else {\n            piVar8[6] = 0x7d6c5850;\n            piVar8[1] = 0x7c0802a6;\n            piVar8[2] = 0x429f0005;\n            piVar8[4] = 0x7d8802a6;\n            piVar8[5] = 0x7c0803a6;\n            *piVar8 = (iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar8[3] = (iVar5 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              piVar8[7] = uVar12 + 0x3d8c0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }\n              piVar8[0xc] = 0x7d605a14;\n              piVar8[10] = 0x7c0903a6;\n              piVar8[0xb] = 0x7c0b5a14;\n              piVar8[0xd] = 0x4e800420;\n              piVar8 = piVar8 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }\n        }\n      }" (if "if") (parenthesized_expression "((*(byte *)(lVar2 + 0x20) & 1) != 0)" (( "(") (binary_expression "(*(byte *)(lVar2 + 0x20) & 1) != 0" (parenthesized_expression "(*(byte *)(lVar2 + 0x20) & 1)" (( "(") (binary_expression "*(byte *)(lVar2 + 0x20) & 1" (pointer_expression "*(byte *)(lVar2 + 0x20)" (* "*") (cast_expression "(byte *)(lVar2 + 0x20)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0x20)" (( "(") (binary_expression "lVar2 + 0x20" (identifier "lVar2") (+ "+") (number_literal "0x20")) () ")")))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x20);\n        if (lVar2 == 0) {\n          FUN_001dc950();\n                    \n          FUN_00352af0("../../gold/output.h",0xc5,"address");\n        }\n        if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n          iVar13 = (int)*(undefined8 *)(lVar2 + 8) + *(int *)(lVar2 + 0x9c) * 4;\n          iVar5 = (int)lVar3;\n          piVar10 = (int *)((ulong)(iVar5 - 0x40) + (long)piVar9);\n          piVar8 = piVar9;\n          if (piVar9 < piVar10 + -8) {\n            do {\n              piVar7 = piVar8 + 1;\n              *piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8;\n              piVar8 = piVar7;\n            } while (piVar7 < piVar10 + -8);\n            piVar8 = (int *)((long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4);\n          }\n          piVar7 = piVar8;\n          if (piVar8 < piVar10) {\n            do {\n              *piVar7 = 0x60000000;\n              piVar7 = piVar7 + 1;\n            } while (piVar7 < piVar10);\n            piVar8 = (int *)((long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4);\n          }\n          lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar2 == 0) {\n                    \n            FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n          }\n          if ((*(char *)(lVar2 + 0x2a61) == '\0') && (*(char *)(lVar2 + 0x42d1) == '\0')) {\n            if ((bVar1 & 1) != 0) {\n              uVar4 = *(undefined8 *)(param_1 + 8);\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              *piVar8 = uVar12 + 0x3d800000;\n              iVar5 = (int)uVar4;\n              iVar6 = (-iVar5 & 0xffffU) + 0x396b0000;\n              piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[3] = iVar6;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[2] = uVar11 + 0x800c0000;\n                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }\n              piVar8[7] = 0x7d605a14;\n              piVar8[8] = 0x4e800420;\n              piVar8 = piVar8 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar9 + lVar3) <= piVar8) {\n                return;\n              }\n              do {\n                *piVar8 = 0x60000000;\n                piVar8 = piVar8 + 1;\n              } while (piVar8 < (int *)((long)piVar9 + lVar3));\n              return;\n            }\n          }\n          else {\n            piVar8[6] = 0x7d6c5850;\n            piVar8[1] = 0x7c0802a6;\n            piVar8[2] = 0x429f0005;\n            piVar8[4] = 0x7d8802a6;\n            piVar8[5] = 0x7c0803a6;\n            *piVar8 = (iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar8[3] = (iVar5 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              piVar8[7] = uVar12 + 0x3d8c0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }\n              piVar8[0xc] = 0x7d605a14;\n              piVar8[10] = 0x7c0903a6;\n              piVar8[0xb] = 0x7c0b5a14;\n              piVar8[0xd] = 0x4e800420;\n              piVar8 = piVar8 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }\n        }\n      }" ({ "{") (expression_statement "lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x20);" (assignment_expression "lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x20)" (identifier "lVar2") (= "=") (pointer_expression "*(long *)(*(long *)(param_1 + 0x38) + 0x20)" (* "*") (cast_expression "(long *)(*(long *)(param_1 + 0x38) + 0x20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0x38) + 0x20)" (( "(") (binary_expression "*(long *)(param_1 + 0x38) + 0x20" (pointer_expression "*(long *)(param_1 + 0x38)" (* "*") (cast_expression "(long *)(param_1 + 0x38)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")")))) (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (if_statement "if (lVar2 == 0) {\n          FUN_001dc950();\n                    \n          FUN_00352af0("../../gold/output.h",0xc5,"address");\n        }" (if "if") (parenthesized_expression "(lVar2 == 0)" (( "(") (binary_expression "lVar2 == 0" (identifier "lVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          FUN_001dc950();\n                    \n          FUN_00352af0("../../gold/output.h",0xc5,"address");\n        }" ({ "{") (expression_statement "FUN_001dc950();" (call_expression "FUN_001dc950()" (identifier "FUN_001dc950") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_00352af0("../../gold/output.h",0xc5,"address");" (call_expression "FUN_00352af0("../../gold/output.h",0xc5,"address")" (identifier "FUN_00352af0") (argument_list "("../../gold/output.h",0xc5,"address")" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0xc5") (, ",") (string_literal ""address"" (" """) (string_content "address") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {\n          iVar13 = (int)*(undefined8 *)(lVar2 + 8) + *(int *)(lVar2 + 0x9c) * 4;\n          iVar5 = (int)lVar3;\n          piVar10 = (int *)((ulong)(iVar5 - 0x40) + (long)piVar9);\n          piVar8 = piVar9;\n          if (piVar9 < piVar10 + -8) {\n            do {\n              piVar7 = piVar8 + 1;\n              *piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8;\n              piVar8 = piVar7;\n            } while (piVar7 < piVar10 + -8);\n            piVar8 = (int *)((long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4);\n          }\n          piVar7 = piVar8;\n          if (piVar8 < piVar10) {\n            do {\n              *piVar7 = 0x60000000;\n              piVar7 = piVar7 + 1;\n            } while (piVar7 < piVar10);\n            piVar8 = (int *)((long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4);\n          }\n          lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar2 == 0) {\n                    \n            FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n          }\n          if ((*(char *)(lVar2 + 0x2a61) == '\0') && (*(char *)(lVar2 + 0x42d1) == '\0')) {\n            if ((bVar1 & 1) != 0) {\n              uVar4 = *(undefined8 *)(param_1 + 8);\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              *piVar8 = uVar12 + 0x3d800000;\n              iVar5 = (int)uVar4;\n              iVar6 = (-iVar5 & 0xffffU) + 0x396b0000;\n              piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[3] = iVar6;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[2] = uVar11 + 0x800c0000;\n                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }\n              piVar8[7] = 0x7d605a14;\n              piVar8[8] = 0x4e800420;\n              piVar8 = piVar8 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar9 + lVar3) <= piVar8) {\n                return;\n              }\n              do {\n                *piVar8 = 0x60000000;\n                piVar8 = piVar8 + 1;\n              } while (piVar8 < (int *)((long)piVar9 + lVar3));\n              return;\n            }\n          }\n          else {\n            piVar8[6] = 0x7d6c5850;\n            piVar8[1] = 0x7c0802a6;\n            piVar8[2] = 0x429f0005;\n            piVar8[4] = 0x7d8802a6;\n            piVar8[5] = 0x7c0803a6;\n            *piVar8 = (iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar8[3] = (iVar5 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              piVar8[7] = uVar12 + 0x3d8c0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }\n              piVar8[0xc] = 0x7d605a14;\n              piVar8[10] = 0x7c0903a6;\n              piVar8[0xb] = 0x7c0b5a14;\n              piVar8[0xd] = 0x4e800420;\n              piVar8 = piVar8 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }\n        }" (if "if") (parenthesized_expression "((*(byte *)(lVar2 + 0x20) & 1) != 0)" (( "(") (binary_expression "(*(byte *)(lVar2 + 0x20) & 1) != 0" (parenthesized_expression "(*(byte *)(lVar2 + 0x20) & 1)" (( "(") (binary_expression "*(byte *)(lVar2 + 0x20) & 1" (pointer_expression "*(byte *)(lVar2 + 0x20)" (* "*") (cast_expression "(byte *)(lVar2 + 0x20)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0x20)" (( "(") (binary_expression "lVar2 + 0x20" (identifier "lVar2") (+ "+") (number_literal "0x20")) () ")")))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          iVar13 = (int)*(undefined8 *)(lVar2 + 8) + *(int *)(lVar2 + 0x9c) * 4;\n          iVar5 = (int)lVar3;\n          piVar10 = (int *)((ulong)(iVar5 - 0x40) + (long)piVar9);\n          piVar8 = piVar9;\n          if (piVar9 < piVar10 + -8) {\n            do {\n              piVar7 = piVar8 + 1;\n              *piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8;\n              piVar8 = piVar7;\n            } while (piVar7 < piVar10 + -8);\n            piVar8 = (int *)((long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4);\n          }\n          piVar7 = piVar8;\n          if (piVar8 < piVar10) {\n            do {\n              *piVar7 = 0x60000000;\n              piVar7 = piVar7 + 1;\n            } while (piVar7 < piVar10);\n            piVar8 = (int *)((long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4);\n          }\n          lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n          if (lVar2 == 0) {\n                    \n            FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n          }\n          if ((*(char *)(lVar2 + 0x2a61) == '\0') && (*(char *)(lVar2 + 0x42d1) == '\0')) {\n            if ((bVar1 & 1) != 0) {\n              uVar4 = *(undefined8 *)(param_1 + 8);\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              *piVar8 = uVar12 + 0x3d800000;\n              iVar5 = (int)uVar4;\n              iVar6 = (-iVar5 & 0xffffU) + 0x396b0000;\n              piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[3] = iVar6;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[2] = uVar11 + 0x800c0000;\n                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }\n              piVar8[7] = 0x7d605a14;\n              piVar8[8] = 0x4e800420;\n              piVar8 = piVar8 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar9 + lVar3) <= piVar8) {\n                return;\n              }\n              do {\n                *piVar8 = 0x60000000;\n                piVar8 = piVar8 + 1;\n              } while (piVar8 < (int *)((long)piVar9 + lVar3));\n              return;\n            }\n          }\n          else {\n            piVar8[6] = 0x7d6c5850;\n            piVar8[1] = 0x7c0802a6;\n            piVar8[2] = 0x429f0005;\n            piVar8[4] = 0x7d8802a6;\n            piVar8[5] = 0x7c0803a6;\n            *piVar8 = (iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar8[3] = (iVar5 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              piVar8[7] = uVar12 + 0x3d8c0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }\n              piVar8[0xc] = 0x7d605a14;\n              piVar8[10] = 0x7c0903a6;\n              piVar8[0xb] = 0x7c0b5a14;\n              piVar8[0xd] = 0x4e800420;\n              piVar8 = piVar8 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }\n        }" ({ "{") (expression_statement "iVar13 = (int)*(undefined8 *)(lVar2 + 8) + *(int *)(lVar2 + 0x9c) * 4;" (assignment_expression "iVar13 = (int)*(undefined8 *)(lVar2 + 8) + *(int *)(lVar2 + 0x9c) * 4" (identifier "iVar13") (= "=") (binary_expression "(int)*(undefined8 *)(lVar2 + 8) + *(int *)(lVar2 + 0x9c) * 4" (cast_expression "(int)*(undefined8 *)(lVar2 + 8)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(undefined8 *)(lVar2 + 8)" (* "*") (cast_expression "(undefined8 *)(lVar2 + 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 8)" (( "(") (binary_expression "lVar2 + 8" (identifier "lVar2") (+ "+") (number_literal "8")) () ")"))))) (+ "+") (binary_expression "*(int *)(lVar2 + 0x9c) * 4" (pointer_expression "*(int *)(lVar2 + 0x9c)" (* "*") (cast_expression "(int *)(lVar2 + 0x9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0x9c)" (( "(") (binary_expression "lVar2 + 0x9c" (identifier "lVar2") (+ "+") (number_literal "0x9c")) () ")")))) (* "*") (number_literal "4")))) (; ";")) (expression_statement "iVar5 = (int)lVar3;" (assignment_expression "iVar5 = (int)lVar3" (identifier "iVar5") (= "=") (cast_expression "(int)lVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar3"))) (; ";")) (expression_statement "piVar10 = (int *)((ulong)(iVar5 - 0x40) + (long)piVar9);" (assignment_expression "piVar10 = (int *)((ulong)(iVar5 - 0x40) + (long)piVar9)" (identifier "piVar10") (= "=") (cast_expression "(int *)((ulong)(iVar5 - 0x40) + (long)piVar9)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulong)(iVar5 - 0x40) + (long)piVar9)" (( "(") (binary_expression "(ulong)(iVar5 - 0x40) + (long)piVar9" (call_expression "(ulong)(iVar5 - 0x40)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(iVar5 - 0x40)" (( "(") (binary_expression "iVar5 - 0x40" (identifier "iVar5") (- "-") (number_literal "0x40")) () ")"))) (+ "+") (cast_expression "(long)piVar9" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "piVar9"))) () ")")))) (; ";")) (expression_statement "piVar8 = piVar9;" (assignment_expression "piVar8 = piVar9" (identifier "piVar8") (= "=") (identifier "piVar9")) (; ";")) (if_statement "if (piVar9 < piVar10 + -8) {\n            do {\n              piVar7 = piVar8 + 1;\n              *piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8;\n              piVar8 = piVar7;\n            } while (piVar7 < piVar10 + -8);\n            piVar8 = (int *)((long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4);\n          }" (if "if") (parenthesized_expression "(piVar9 < piVar10 + -8)" (( "(") (binary_expression "piVar9 < piVar10 + -8" (identifier "piVar9") (< "<") (binary_expression "piVar10 + -8" (identifier "piVar10") (+ "+") (number_literal "-8"))) () ")")) (compound_statement "{\n            do {\n              piVar7 = piVar8 + 1;\n              *piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8;\n              piVar8 = piVar7;\n            } while (piVar7 < piVar10 + -8);\n            piVar8 = (int *)((long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4);\n          }" ({ "{") (do_statement "do {\n              piVar7 = piVar8 + 1;\n              *piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8;\n              piVar8 = piVar7;\n            } while (piVar7 < piVar10 + -8);" (do "do") (compound_statement "{\n              piVar7 = piVar8 + 1;\n              *piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8;\n              piVar8 = piVar7;\n            }" ({ "{") (expression_statement "piVar7 = piVar8 + 1;" (assignment_expression "piVar7 = piVar8 + 1" (identifier "piVar7") (= "=") (binary_expression "piVar8 + 1" (identifier "piVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8;" (assignment_expression "*piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (= "=") (binary_expression "((int)piVar10 + 0x48000000) - (int)piVar8" (parenthesized_expression "((int)piVar10 + 0x48000000)" (( "(") (binary_expression "(int)piVar10 + 0x48000000" (cast_expression "(int)piVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar10")) (+ "+") (number_literal "0x48000000")) () ")")) (- "-") (cast_expression "(int)piVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar8")))) (; ";")) (expression_statement "piVar8 = piVar7;" (assignment_expression "piVar8 = piVar7" (identifier "piVar8") (= "=") (identifier "piVar7")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar7 < piVar10 + -8)" (( "(") (binary_expression "piVar7 < piVar10 + -8" (identifier "piVar7") (< "<") (binary_expression "piVar10 + -8" (identifier "piVar10") (+ "+") (number_literal "-8"))) () ")")) (; ";")) (expression_statement "piVar8 = (int *)((long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4);" (assignment_expression "piVar8 = (int *)((long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4)" (identifier "piVar8") (= "=") (cast_expression "(int *)((long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4)" (( "(") (binary_expression "(long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4" (binary_expression "(long)piVar9 +\n                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU)" (cast_expression "(long)piVar9" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "piVar9")) (+ "+") (parenthesized_expression "((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU)" (( "(") (binary_expression "(long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU" (binary_expression "(long)piVar10 + (-0x21 - (long)piVar9)" (cast_expression "(long)piVar10" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "piVar10")) (+ "+") (parenthesized_expression "(-0x21 - (long)piVar9)" (( "(") (binary_expression "-0x21 - (long)piVar9" (number_literal "-0x21") (- "-") (cast_expression "(long)piVar9" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "piVar9"))) () ")"))) (& "&") (number_literal "0xfffffffffffffffcU")) () ")"))) (+ "+") (number_literal "4")) () ")")))) (; ";")) (} "}"))) (expression_statement "piVar7 = piVar8;" (assignment_expression "piVar7 = piVar8" (identifier "piVar7") (= "=") (identifier "piVar8")) (; ";")) (if_statement "if (piVar8 < piVar10) {\n            do {\n              *piVar7 = 0x60000000;\n              piVar7 = piVar7 + 1;\n            } while (piVar7 < piVar10);\n            piVar8 = (int *)((long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4);\n          }" (if "if") (parenthesized_expression "(piVar8 < piVar10)" (( "(") (binary_expression "piVar8 < piVar10" (identifier "piVar8") (< "<") (identifier "piVar10")) () ")")) (compound_statement "{\n            do {\n              *piVar7 = 0x60000000;\n              piVar7 = piVar7 + 1;\n            } while (piVar7 < piVar10);\n            piVar8 = (int *)((long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4);\n          }" ({ "{") (do_statement "do {\n              *piVar7 = 0x60000000;\n              piVar7 = piVar7 + 1;\n            } while (piVar7 < piVar10);" (do "do") (compound_statement "{\n              *piVar7 = 0x60000000;\n              piVar7 = piVar7 + 1;\n            }" ({ "{") (expression_statement "*piVar7 = 0x60000000;" (assignment_expression "*piVar7 = 0x60000000" (pointer_expression "*piVar7" (* "*") (identifier "piVar7")) (= "=") (number_literal "0x60000000")) (; ";")) (expression_statement "piVar7 = piVar7 + 1;" (assignment_expression "piVar7 = piVar7 + 1" (identifier "piVar7") (= "=") (binary_expression "piVar7 + 1" (identifier "piVar7") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar7 < piVar10)" (( "(") (binary_expression "piVar7 < piVar10" (identifier "piVar7") (< "<") (identifier "piVar10")) () ")")) (; ";")) (expression_statement "piVar8 = (int *)((long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4);" (assignment_expression "piVar8 = (int *)((long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4)" (identifier "piVar8") (= "=") (cast_expression "(int *)((long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4)" (( "(") (binary_expression "(long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4" (binary_expression "(long)piVar8 +\n                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU)" (cast_expression "(long)piVar8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "piVar8")) (+ "+") (parenthesized_expression "((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU)" (( "(") (binary_expression "(long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU" (binary_expression "(long)piVar10 + (-1 - (long)piVar8)" (cast_expression "(long)piVar10" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "piVar10")) (+ "+") (parenthesized_expression "(-1 - (long)piVar8)" (( "(") (binary_expression "-1 - (long)piVar8" (number_literal "-1") (- "-") (cast_expression "(long)piVar8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "piVar8"))) () ")"))) (& "&") (number_literal "0xfffffffffffffffcU")) () ")"))) (+ "+") (number_literal "4")) () ")")))) (; ";")) (} "}"))) (expression_statement "lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);" (assignment_expression "lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10)" (identifier "lVar2") (= "=") (pointer_expression "*(long *)(PTR_DAT_0067cb08 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0067cb08 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0067cb08 + 0x10)" (( "(") (binary_expression "PTR_DAT_0067cb08 + 0x10" (identifier "PTR_DAT_0067cb08") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (lVar2 == 0) {\n                    \n            FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n          }" (if "if") (parenthesized_expression "(lVar2 == 0)" (( "(") (binary_expression "lVar2 == 0" (identifier "lVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n            FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n          }" ({ "{") (expression_statement "FUN_00352af0("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_00352af0("../../gold/parameters.h",0x5c,"options")" (identifier "FUN_00352af0") (argument_list "("../../gold/parameters.h",0x5c,"options")" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x5c") (, ",") (string_literal ""options"" (" """) (string_content "options") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if ((*(char *)(lVar2 + 0x2a61) == '\0') && (*(char *)(lVar2 + 0x42d1) == '\0')) {\n            if ((bVar1 & 1) != 0) {\n              uVar4 = *(undefined8 *)(param_1 + 8);\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              *piVar8 = uVar12 + 0x3d800000;\n              iVar5 = (int)uVar4;\n              iVar6 = (-iVar5 & 0xffffU) + 0x396b0000;\n              piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[3] = iVar6;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[2] = uVar11 + 0x800c0000;\n                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }\n              piVar8[7] = 0x7d605a14;\n              piVar8[8] = 0x4e800420;\n              piVar8 = piVar8 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar9 + lVar3) <= piVar8) {\n                return;\n              }\n              do {\n                *piVar8 = 0x60000000;\n                piVar8 = piVar8 + 1;\n              } while (piVar8 < (int *)((long)piVar9 + lVar3));\n              return;\n            }\n          }\n          else {\n            piVar8[6] = 0x7d6c5850;\n            piVar8[1] = 0x7c0802a6;\n            piVar8[2] = 0x429f0005;\n            piVar8[4] = 0x7d8802a6;\n            piVar8[5] = 0x7c0803a6;\n            *piVar8 = (iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar8[3] = (iVar5 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              piVar8[7] = uVar12 + 0x3d8c0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }\n              piVar8[0xc] = 0x7d605a14;\n              piVar8[10] = 0x7c0903a6;\n              piVar8[0xb] = 0x7c0b5a14;\n              piVar8[0xd] = 0x4e800420;\n              piVar8 = piVar8 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }" (if "if") (parenthesized_expression "((*(char *)(lVar2 + 0x2a61) == '\0') && (*(char *)(lVar2 + 0x42d1) == '\0'))" (( "(") (binary_expression "(*(char *)(lVar2 + 0x2a61) == '\0') && (*(char *)(lVar2 + 0x42d1) == '\0')" (parenthesized_expression "(*(char *)(lVar2 + 0x2a61) == '\0')" (( "(") (binary_expression "*(char *)(lVar2 + 0x2a61) == '\0'" (pointer_expression "*(char *)(lVar2 + 0x2a61)" (* "*") (cast_expression "(char *)(lVar2 + 0x2a61)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0x2a61)" (( "(") (binary_expression "lVar2 + 0x2a61" (identifier "lVar2") (+ "+") (number_literal "0x2a61")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(*(char *)(lVar2 + 0x42d1) == '\0')" (( "(") (binary_expression "*(char *)(lVar2 + 0x42d1) == '\0'" (pointer_expression "*(char *)(lVar2 + 0x42d1)" (* "*") (cast_expression "(char *)(lVar2 + 0x42d1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar2 + 0x42d1)" (( "(") (binary_expression "lVar2 + 0x42d1" (identifier "lVar2") (+ "+") (number_literal "0x42d1")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n            if ((bVar1 & 1) != 0) {\n              uVar4 = *(undefined8 *)(param_1 + 8);\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              *piVar8 = uVar12 + 0x3d800000;\n              iVar5 = (int)uVar4;\n              iVar6 = (-iVar5 & 0xffffU) + 0x396b0000;\n              piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[3] = iVar6;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[2] = uVar11 + 0x800c0000;\n                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }\n              piVar8[7] = 0x7d605a14;\n              piVar8[8] = 0x4e800420;\n              piVar8 = piVar8 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar9 + lVar3) <= piVar8) {\n                return;\n              }\n              do {\n                *piVar8 = 0x60000000;\n                piVar8 = piVar8 + 1;\n              } while (piVar8 < (int *)((long)piVar9 + lVar3));\n              return;\n            }\n          }" ({ "{") (if_statement "if ((bVar1 & 1) != 0) {\n              uVar4 = *(undefined8 *)(param_1 + 8);\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              *piVar8 = uVar12 + 0x3d800000;\n              iVar5 = (int)uVar4;\n              iVar6 = (-iVar5 & 0xffffU) + 0x396b0000;\n              piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[3] = iVar6;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[2] = uVar11 + 0x800c0000;\n                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }\n              piVar8[7] = 0x7d605a14;\n              piVar8[8] = 0x4e800420;\n              piVar8 = piVar8 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar9 + lVar3) <= piVar8) {\n                return;\n              }\n              do {\n                *piVar8 = 0x60000000;\n                piVar8 = piVar8 + 1;\n              } while (piVar8 < (int *)((long)piVar9 + lVar3));\n              return;\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              uVar4 = *(undefined8 *)(param_1 + 8);\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              *piVar8 = uVar12 + 0x3d800000;\n              iVar5 = (int)uVar4;\n              iVar6 = (-iVar5 & 0xffffU) + 0x396b0000;\n              piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[3] = iVar6;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[2] = uVar11 + 0x800c0000;\n                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }\n              piVar8[7] = 0x7d605a14;\n              piVar8[8] = 0x4e800420;\n              piVar8 = piVar8 + 9;\njoined_r0x001dd725:\n              if ((int *)((long)piVar9 + lVar3) <= piVar8) {\n                return;\n              }\n              do {\n                *piVar8 = 0x60000000;\n                piVar8 = piVar8 + 1;\n              } while (piVar8 < (int *)((long)piVar9 + lVar3));\n              return;\n            }" ({ "{") (expression_statement "uVar4 = *(undefined8 *)(param_1 + 8);" (assignment_expression "uVar4 = *(undefined8 *)(param_1 + 8)" (identifier "uVar4") (= "=") (pointer_expression "*(undefined8 *)(param_1 + 8)" (* "*") (cast_expression "(undefined8 *)(param_1 + 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "uVar12 = iVar13 + 0x8004U >> 0x10;" (assignment_expression "uVar12 = iVar13 + 0x8004U >> 0x10" (identifier "uVar12") (= "=") (binary_expression "iVar13 + 0x8004U >> 0x10" (binary_expression "iVar13 + 0x8004U" (identifier "iVar13") (+ "+") (number_literal "0x8004U")) (>> ">>") (number_literal "0x10"))) (; ";")) (expression_statement "*piVar8 = uVar12 + 0x3d800000;" (assignment_expression "*piVar8 = uVar12 + 0x3d800000" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (= "=") (binary_expression "uVar12 + 0x3d800000" (identifier "uVar12") (+ "+") (number_literal "0x3d800000"))) (; ";")) (expression_statement "iVar5 = (int)uVar4;" (assignment_expression "iVar5 = (int)uVar4" (identifier "iVar5") (= "=") (cast_expression "(int)uVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar4"))) (; ";")) (expression_statement "iVar6 = (-iVar5 & 0xffffU) + 0x396b0000;" (assignment_expression "iVar6 = (-iVar5 & 0xffffU) + 0x396b0000" (identifier "iVar6") (= "=") (binary_expression "(-iVar5 & 0xffffU) + 0x396b0000" (parenthesized_expression "(-iVar5 & 0xffffU)" (( "(") (binary_expression "-iVar5 & 0xffffU" (unary_expression "-iVar5" (- "-") (identifier "iVar5")) (& "&") (number_literal "0xffffU")) () ")")) (+ "+") (number_literal "0x396b0000"))) (; ";")) (expression_statement "piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000;" (assignment_expression "piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000" (subscript_expression "piVar8[1]" (identifier "piVar8") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "(0x8000U - iVar5 >> 0x10) + 0x3d6b0000" (parenthesized_expression "(0x8000U - iVar5 >> 0x10)" (( "(") (binary_expression "0x8000U - iVar5 >> 0x10" (binary_expression "0x8000U - iVar5" (number_literal "0x8000U") (- "-") (identifier "iVar5")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (number_literal "0x3d6b0000"))) (; ";")) (expression_statement "uVar11 = (uint)(ushort)((short)iVar13 + 4);" (assignment_expression "uVar11 = (uint)(ushort)((short)iVar13 + 4)" (identifier "uVar11") (= "=") (call_expression "(uint)(ushort)((short)iVar13 + 4)" (call_expression "(uint)(ushort)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(ushort)" (( "(") (identifier "ushort") () ")"))) (argument_list "((short)iVar13 + 4)" (( "(") (binary_expression "(short)iVar13 + 4" (cast_expression "(short)iVar13" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (identifier "iVar13")) (+ "+") (number_literal "4")) () ")")))) (; ";")) (if_statement "if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[3] = iVar6;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[2] = uVar11 + 0x800c0000;\n                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }" (if "if") (parenthesized_expression "(iVar13 + 0x8008U >> 0x10 == uVar12)" (( "(") (binary_expression "iVar13 + 0x8008U >> 0x10 == uVar12" (binary_expression "iVar13 + 0x8008U >> 0x10" (binary_expression "iVar13 + 0x8008U" (identifier "iVar13") (+ "+") (number_literal "0x8008U")) (>> ">>") (number_literal "0x10")) (== "==") (identifier "uVar12")) () ")")) (compound_statement "{\n                piVar8[3] = iVar6;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[2] = uVar11 + 0x800c0000;\n                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }" ({ "{") (expression_statement "piVar8[3] = iVar6;" (assignment_expression "piVar8[3] = iVar6" (subscript_expression "piVar8[3]" (identifier "piVar8") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "iVar6")) (; ";")) (expression_statement "piVar8[4] = 0x7c0903a6;" (assignment_expression "piVar8[4] = 0x7c0903a6" (subscript_expression "piVar8[4]" (identifier "piVar8") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0x7c0903a6")) (; ";")) (expression_statement "piVar8[5] = 0x7c0b5a14;" (assignment_expression "piVar8[5] = 0x7c0b5a14" (subscript_expression "piVar8[5]" (identifier "piVar8") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0x7c0b5a14")) (; ";")) (expression_statement "piVar8[2] = uVar11 + 0x800c0000;" (assignment_expression "piVar8[2] = uVar11 + 0x800c0000" (subscript_expression "piVar8[2]" (identifier "piVar8") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "uVar11 + 0x800c0000" (identifier "uVar11") (+ "+") (number_literal "0x800c0000"))) (; ";")) (expression_statement "piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;" (assignment_expression "piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000" (subscript_expression "piVar8[6]" (identifier "piVar8") ([ "[") (number_literal "6") (] "]")) (= "=") (binary_expression "(iVar13 + 8U & 0xffff) + 0x818c0000" (parenthesized_expression "(iVar13 + 8U & 0xffff)" (( "(") (binary_expression "iVar13 + 8U & 0xffff" (binary_expression "iVar13 + 8U" (identifier "iVar13") (+ "+") (number_literal "8U")) (& "&") (number_literal "0xffff")) () ")")) (+ "+") (number_literal "0x818c0000"))) (; ";")) (} "}")) (else_clause "else {\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }" (else "else") (compound_statement "{\n                piVar8[3] = iVar6;\n                piVar8[2] = uVar11 + 0x840c0000;\n                piVar8[4] = 0x7c0903a6;\n                piVar8[5] = 0x7c0b5a14;\n                piVar8[6] = -0x7e73fffc;\n              }" ({ "{") (expression_statement "piVar8[3] = iVar6;" (assignment_expression "piVar8[3] = iVar6" (subscript_expression "piVar8[3]" (identifier "piVar8") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "iVar6")) (; ";")) (expression_statement "piVar8[2] = uVar11 + 0x840c0000;" (assignment_expression "piVar8[2] = uVar11 + 0x840c0000" (subscript_expression "piVar8[2]" (identifier "piVar8") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "uVar11 + 0x840c0000" (identifier "uVar11") (+ "+") (number_literal "0x840c0000"))) (; ";")) (expression_statement "piVar8[4] = 0x7c0903a6;" (assignment_expression "piVar8[4] = 0x7c0903a6" (subscript_expression "piVar8[4]" (identifier "piVar8") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0x7c0903a6")) (; ";")) (expression_statement "piVar8[5] = 0x7c0b5a14;" (assignment_expression "piVar8[5] = 0x7c0b5a14" (subscript_expression "piVar8[5]" (identifier "piVar8") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0x7c0b5a14")) (; ";")) (expression_statement "piVar8[6] = -0x7e73fffc;" (assignment_expression "piVar8[6] = -0x7e73fffc" (subscript_expression "piVar8[6]" (identifier "piVar8") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "-0x7e73fffc")) (; ";")) (} "}")))) (expression_statement "piVar8[7] = 0x7d605a14;" (assignment_expression "piVar8[7] = 0x7d605a14" (subscript_expression "piVar8[7]" (identifier "piVar8") ([ "[") (number_literal "7") (] "]")) (= "=") (number_literal "0x7d605a14")) (; ";")) (expression_statement "piVar8[8] = 0x4e800420;" (assignment_expression "piVar8[8] = 0x4e800420" (subscript_expression "piVar8[8]" (identifier "piVar8") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "0x4e800420")) (; ";")) (expression_statement "piVar8 = piVar8 + 9;" (assignment_expression "piVar8 = piVar8 + 9" (identifier "piVar8") (= "=") (binary_expression "piVar8 + 9" (identifier "piVar8") (+ "+") (number_literal "9"))) (; ";")) (labeled_statement "joined_r0x001dd725:\n              if ((int *)((long)piVar9 + lVar3) <= piVar8) {\n                return;\n              }" (statement_identifier "joined_r0x001dd725") (: ":") (if_statement "if ((int *)((long)piVar9 + lVar3) <= piVar8) {\n                return;\n              }" (if "if") (parenthesized_expression "((int *)((long)piVar9 + lVar3) <= piVar8)" (( "(") (binary_expression "(int *)((long)piVar9 + lVar3) <= piVar8" (cast_expression "(int *)((long)piVar9 + lVar3)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)piVar9 + lVar3)" (( "(") (binary_expression "(long)piVar9 + lVar3" (cast_expression "(long)piVar9" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "piVar9")) (+ "+") (identifier "lVar3")) () ")"))) (<= "<=") (identifier "piVar8")) () ")")) (compound_statement "{\n                return;\n              }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}")))) (do_statement "do {\n                *piVar8 = 0x60000000;\n                piVar8 = piVar8 + 1;\n              } while (piVar8 < (int *)((long)piVar9 + lVar3));" (do "do") (compound_statement "{\n                *piVar8 = 0x60000000;\n                piVar8 = piVar8 + 1;\n              }" ({ "{") (expression_statement "*piVar8 = 0x60000000;" (assignment_expression "*piVar8 = 0x60000000" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (= "=") (number_literal "0x60000000")) (; ";")) (expression_statement "piVar8 = piVar8 + 1;" (assignment_expression "piVar8 = piVar8 + 1" (identifier "piVar8") (= "=") (binary_expression "piVar8 + 1" (identifier "piVar8") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar8 < (int *)((long)piVar9 + lVar3))" (( "(") (binary_expression "piVar8 < (int *)((long)piVar9 + lVar3)" (identifier "piVar8") (< "<") (cast_expression "(int *)((long)piVar9 + lVar3)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)piVar9 + lVar3)" (( "(") (binary_expression "(long)piVar9 + lVar3" (cast_expression "(long)piVar9" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "piVar9")) (+ "+") (identifier "lVar3")) () ")")))) () ")")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n            piVar8[6] = 0x7d6c5850;\n            piVar8[1] = 0x7c0802a6;\n            piVar8[2] = 0x429f0005;\n            piVar8[4] = 0x7d8802a6;\n            piVar8[5] = 0x7c0803a6;\n            *piVar8 = (iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar8[3] = (iVar5 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              piVar8[7] = uVar12 + 0x3d8c0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }\n              piVar8[0xc] = 0x7d605a14;\n              piVar8[10] = 0x7c0903a6;\n              piVar8[0xb] = 0x7c0b5a14;\n              piVar8[0xd] = 0x4e800420;\n              piVar8 = piVar8 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }" (else "else") (compound_statement "{\n            piVar8[6] = 0x7d6c5850;\n            piVar8[1] = 0x7c0802a6;\n            piVar8[2] = 0x429f0005;\n            piVar8[4] = 0x7d8802a6;\n            piVar8[5] = 0x7c0803a6;\n            *piVar8 = (iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000;\n            piVar8[3] = (iVar5 - 0x34U & 0xffff) + 0x396b0000;\n            if ((bVar1 & 1) != 0) {\n              iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              piVar8[7] = uVar12 + 0x3d8c0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }\n              piVar8[0xc] = 0x7d605a14;\n              piVar8[10] = 0x7c0903a6;\n              piVar8[0xb] = 0x7c0b5a14;\n              piVar8[0xd] = 0x4e800420;\n              piVar8 = piVar8 + 0xe;\n              goto joined_r0x001dd725;\n            }\n          }" ({ "{") (expression_statement "piVar8[6] = 0x7d6c5850;" (assignment_expression "piVar8[6] = 0x7d6c5850" (subscript_expression "piVar8[6]" (identifier "piVar8") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "0x7d6c5850")) (; ";")) (expression_statement "piVar8[1] = 0x7c0802a6;" (assignment_expression "piVar8[1] = 0x7c0802a6" (subscript_expression "piVar8[1]" (identifier "piVar8") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0x7c0802a6")) (; ";")) (expression_statement "piVar8[2] = 0x429f0005;" (assignment_expression "piVar8[2] = 0x429f0005" (subscript_expression "piVar8[2]" (identifier "piVar8") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0x429f0005")) (; ";")) (expression_statement "piVar8[4] = 0x7d8802a6;" (assignment_expression "piVar8[4] = 0x7d8802a6" (subscript_expression "piVar8[4]" (identifier "piVar8") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0x7d8802a6")) (; ";")) (expression_statement "piVar8[5] = 0x7c0803a6;" (assignment_expression "piVar8[5] = 0x7c0803a6" (subscript_expression "piVar8[5]" (identifier "piVar8") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0x7c0803a6")) (; ";")) (expression_statement "*piVar8 = (iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000;" (assignment_expression "*piVar8 = (iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (= "=") (binary_expression "(iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000" (parenthesized_expression "(iVar5 + 0x7fccU >> 0x10)" (( "(") (binary_expression "iVar5 + 0x7fccU >> 0x10" (binary_expression "iVar5 + 0x7fccU" (identifier "iVar5") (+ "+") (number_literal "0x7fccU")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (number_literal "0x3d6b0000"))) (; ";")) (expression_statement "piVar8[3] = (iVar5 - 0x34U & 0xffff) + 0x396b0000;" (assignment_expression "piVar8[3] = (iVar5 - 0x34U & 0xffff) + 0x396b0000" (subscript_expression "piVar8[3]" (identifier "piVar8") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "(iVar5 - 0x34U & 0xffff) + 0x396b0000" (parenthesized_expression "(iVar5 - 0x34U & 0xffff)" (( "(") (binary_expression "iVar5 - 0x34U & 0xffff" (binary_expression "iVar5 - 0x34U" (identifier "iVar5") (- "-") (number_literal "0x34U")) (& "&") (number_literal "0xffff")) () ")")) (+ "+") (number_literal "0x396b0000"))) (; ";")) (if_statement "if ((bVar1 & 1) != 0) {\n              iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              piVar8[7] = uVar12 + 0x3d8c0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }\n              piVar8[0xc] = 0x7d605a14;\n              piVar8[10] = 0x7c0903a6;\n              piVar8[0xb] = 0x7c0b5a14;\n              piVar8[0xd] = 0x4e800420;\n              piVar8 = piVar8 + 0xe;\n              goto joined_r0x001dd725;\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              iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));\n              uVar12 = iVar13 + 0x8004U >> 0x10;\n              piVar8[7] = uVar12 + 0x3d8c0000;\n              uVar11 = (uint)(ushort)((short)iVar13 + 4);\n              if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }\n              piVar8[0xc] = 0x7d605a14;\n              piVar8[10] = 0x7c0903a6;\n              piVar8[0xb] = 0x7c0b5a14;\n              piVar8[0xd] = 0x4e800420;\n              piVar8 = piVar8 + 0xe;\n              goto joined_r0x001dd725;\n            }" ({ "{") (expression_statement "iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));" (assignment_expression "iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8))" (identifier "iVar13") (= "=") (binary_expression "iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8))" (identifier "iVar13") (- "-") (parenthesized_expression "((iVar5 - 0x34U) + *(int *)(param_1 + 8))" (( "(") (binary_expression "(iVar5 - 0x34U) + *(int *)(param_1 + 8)" (parenthesized_expression "(iVar5 - 0x34U)" (( "(") (binary_expression "iVar5 - 0x34U" (identifier "iVar5") (- "-") (number_literal "0x34U")) () ")")) (+ "+") (pointer_expression "*(int *)(param_1 + 8)" (* "*") (cast_expression "(int *)(param_1 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")"))))) () ")")))) (; ";")) (expression_statement "uVar12 = iVar13 + 0x8004U >> 0x10;" (assignment_expression "uVar12 = iVar13 + 0x8004U >> 0x10" (identifier "uVar12") (= "=") (binary_expression "iVar13 + 0x8004U >> 0x10" (binary_expression "iVar13 + 0x8004U" (identifier "iVar13") (+ "+") (number_literal "0x8004U")) (>> ">>") (number_literal "0x10"))) (; ";")) (expression_statement "piVar8[7] = uVar12 + 0x3d8c0000;" (assignment_expression "piVar8[7] = uVar12 + 0x3d8c0000" (subscript_expression "piVar8[7]" (identifier "piVar8") ([ "[") (number_literal "7") (] "]")) (= "=") (binary_expression "uVar12 + 0x3d8c0000" (identifier "uVar12") (+ "+") (number_literal "0x3d8c0000"))) (; ";")) (expression_statement "uVar11 = (uint)(ushort)((short)iVar13 + 4);" (assignment_expression "uVar11 = (uint)(ushort)((short)iVar13 + 4)" (identifier "uVar11") (= "=") (call_expression "(uint)(ushort)((short)iVar13 + 4)" (call_expression "(uint)(ushort)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(ushort)" (( "(") (identifier "ushort") () ")"))) (argument_list "((short)iVar13 + 4)" (( "(") (binary_expression "(short)iVar13 + 4" (cast_expression "(short)iVar13" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (identifier "iVar13")) (+ "+") (number_literal "4")) () ")")))) (; ";")) (if_statement "if (iVar13 + 0x8008U >> 0x10 == uVar12) {\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }\n              else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }" (if "if") (parenthesized_expression "(iVar13 + 0x8008U >> 0x10 == uVar12)" (( "(") (binary_expression "iVar13 + 0x8008U >> 0x10 == uVar12" (binary_expression "iVar13 + 0x8008U >> 0x10" (binary_expression "iVar13 + 0x8008U" (identifier "iVar13") (+ "+") (number_literal "0x8008U")) (>> ">>") (number_literal "0x10")) (== "==") (identifier "uVar12")) () ")")) (compound_statement "{\n                piVar8[8] = uVar11 + 0x800c0000;\n                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;\n              }" ({ "{") (expression_statement "piVar8[8] = uVar11 + 0x800c0000;" (assignment_expression "piVar8[8] = uVar11 + 0x800c0000" (subscript_expression "piVar8[8]" (identifier "piVar8") ([ "[") (number_literal "8") (] "]")) (= "=") (binary_expression "uVar11 + 0x800c0000" (identifier "uVar11") (+ "+") (number_literal "0x800c0000"))) (; ";")) (expression_statement "piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;" (assignment_expression "piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000" (subscript_expression "piVar8[9]" (identifier "piVar8") ([ "[") (number_literal "9") (] "]")) (= "=") (binary_expression "(iVar13 + 8U & 0xffff) + 0x818c0000" (parenthesized_expression "(iVar13 + 8U & 0xffff)" (( "(") (binary_expression "iVar13 + 8U & 0xffff" (binary_expression "iVar13 + 8U" (identifier "iVar13") (+ "+") (number_literal "8U")) (& "&") (number_literal "0xffff")) () ")")) (+ "+") (number_literal "0x818c0000"))) (; ";")) (} "}")) (else_clause "else {\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }" (else "else") (compound_statement "{\n                piVar8[9] = -0x7e73fffc;\n                piVar8[8] = uVar11 + 0x840c0000;\n              }" ({ "{") (expression_statement "piVar8[9] = -0x7e73fffc;" (assignment_expression "piVar8[9] = -0x7e73fffc" (subscript_expression "piVar8[9]" (identifier "piVar8") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "-0x7e73fffc")) (; ";")) (expression_statement "piVar8[8] = uVar11 + 0x840c0000;" (assignment_expression "piVar8[8] = uVar11 + 0x840c0000" (subscript_expression "piVar8[8]" (identifier "piVar8") ([ "[") (number_literal "8") (] "]")) (= "=") (binary_expression "uVar11 + 0x840c0000" (identifier "uVar11") (+ "+") (number_literal "0x840c0000"))) (; ";")) (} "}")))) (expression_statement "piVar8[0xc] = 0x7d605a14;" (assignment_expression "piVar8[0xc] = 0x7d605a14" (subscript_expression "piVar8[0xc]" (identifier "piVar8") ([ "[") (number_literal "0xc") (] "]")) (= "=") (number_literal "0x7d605a14")) (; ";")) (expression_statement "piVar8[10] = 0x7c0903a6;" (assignment_expression "piVar8[10] = 0x7c0903a6" (subscript_expression "piVar8[10]" (identifier "piVar8") ([ "[") (number_literal "10") (] "]")) (= "=") (number_literal "0x7c0903a6")) (; ";")) (expression_statement "piVar8[0xb] = 0x7c0b5a14;" (assignment_expression "piVar8[0xb] = 0x7c0b5a14" (subscript_expression "piVar8[0xb]" (identifier "piVar8") ([ "[") (number_literal "0xb") (] "]")) (= "=") (number_literal "0x7c0b5a14")) (; ";")) (expression_statement "piVar8[0xd] = 0x4e800420;" (assignment_expression "piVar8[0xd] = 0x4e800420" (subscript_expression "piVar8[0xd]" (identifier "piVar8") ([ "[") (number_literal "0xd") (] "]")) (= "=") (number_literal "0x4e800420")) (; ";")) (expression_statement "piVar8 = piVar8 + 0xe;" (assignment_expression "piVar8 = piVar8 + 0xe" (identifier "piVar8") (= "=") (binary_expression "piVar8 + 0xe" (identifier "piVar8") (+ "+") (number_literal "0xe"))) (; ";")) (goto_statement "goto joined_r0x001dd725;" (goto "goto") (statement_identifier "joined_r0x001dd725") (; ";")) (} "}"))) (} "}")))) (} "}"))) (} "}"))) (expression_statement "FUN_00352af0("../../gold/output.h",0xc5,"address");" (call_expression "FUN_00352af0("../../gold/output.h",0xc5,"address")" (identifier "FUN_00352af0") (argument_list "("../../gold/output.h",0xc5,"address")" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0xc5") (, ",") (string_literal ""address"" (" """) (string_content "address") (" """)) () ")"))) (; ";")) (} "}"))) (} "}")))) (expression_statement "FUN_00352af0("../../gold/powerpc.cc",0x36a,"plt_section");" (call_expression "FUN_00352af0("../../gold/powerpc.cc",0x36a,"plt_section")" (identifier "FUN_00352af0") (argument_list "("../../gold/powerpc.cc",0x36a,"plt_section")" (( "(") (string_literal ""../../gold/powerpc.cc"" (" """) (string_content "../../gold/powerpc.cc") (" """)) (, ",") (number_literal "0x36a") (, ",") (string_literal ""plt_section"" (" """) (string_content "plt_section") (" """)) () ")"))) (; ";")) (} "}")))

/* WARNING: Type propagation algorithm not settling */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original prototype: void do_write(Output_data_glink<32,_false> * this, Output_file * of) */

void __thiscall
anon_unknown.dwarf_6a1ea8::Output_data_glink<32,var_9>::do_write
          (Output_data_glink<32,var_9> *this,type_3 *of)

{
  byte var_3;
  size_t var_5;
  long var_6;
  var_1<32,var_9> *var_8;
  var_2<32,var_9> *var_10;
  type_1 *var_18;
  type_2 uVar6;
  int var_13;
  int iVar8;
  int *var_17;
  int *var_16;
  type_3 *in_RCX;
  int *var_14;
  int *var_15;
  type_4 var_21;
  type_4 var_20;
  int var_19;
  
  var_3 = this->field_0x20;
  if ((var_3 & 4) == 0) {
                    /* WARNING: Subroutine does not return */
    gold::var_4("../../gold/output.h",0xe3,"offset");
  }
  var_5 = *(size_t *)&this->field_0x18;
  if ((var_3 & 2) == 0) {
                    /* WARNING: Subroutine does not return */
    gold::var_4("../../gold/output.h",0xcf,"data_size");
  }
  var_6 = *(long *)&this->field_0x10;
  if (((long)var_5 < 0) || (of->file_size_ < (long)(var_5 + var_6))) {
    gold::Output_file::var_7((type_3 *)this,(type_5)of,var_5,in_RCX);
  }
  else {
    var_14 = (int *)(of->base_ + var_5);
    var_8 = this->targ_->plt_;
    if (var_8 != (var_1<32,var_9> *)0x0) {
      if (((var_8->super_Output_section_data_build).super_Output_section_data.super_Output_data.
           field_0x20 & 1) != 0) {
        var_10 = this->targ_->got_;
        if (var_10 == (var_2<32,var_9> *)0x0) {
                    /* WARNING: Subroutine does not return */
          var_11<32,var_9>::var_12((var_11<32,var_9> *)this);
        }
        if (((var_10->super_Output_data_got<32,var_9>).super_Output_data_got_base.
             super_Output_section_data_build.super_Output_section_data.super_Output_data.field_0x20
            & 1) != 0) {
          var_19 = (int)(var_10->super_Output_data_got<32,var_9>).super_Output_data_got_base.
                        super_Output_section_data_build.super_Output_section_data.super_Output_data.
                        address_ + var_10->header_index_ * 4;
          var_13 = (int)var_6;
          var_15 = (int *)((ulong)(var_13 - 0x40) + (long)var_14);
          var_16 = var_14;
          if (var_14 < var_15 + -8) {
            do {
              var_17 = var_16 + 1;
              *var_16 = ((int)var_15 + 0x48000000) - (int)var_16;
              var_16 = var_17;
            } while (var_17 < var_15 + -8);
            var_16 = (int *)((long)var_14 +
                             ((long)var_15 + (-0x21 - (long)var_14) & 0xfffffffffffffffcU) + 4);
          }
          var_17 = var_16;
          if (var_16 < var_15) {
            do {
              *var_17 = 0x60000000;
              var_17 = var_17 + 1;
            } while (var_17 < var_15);
            var_16 = (int *)((long)var_16 +
                             ((long)var_15 + (-1 - (long)var_16) & 0xfffffffffffffffcU) + 4);
          }
          var_18 = gold::parameters->options_;
          if (var_18 == (type_1 *)0x0) {
                    /* WARNING: Subroutine does not return */
            gold::var_4("../../gold/parameters.h",0x5c,"options");
          }
          if (((var_18->shared_).value == false) && ((var_18->pie_).value == false)) {
            if ((var_3 & 1) != 0) {
              uVar6 = *(type_2 *)&this->field_0x8;
              var_20 = var_19 + 0x8004U >> 0x10;
              *var_16 = var_20 + 0x3d800000;
              var_13 = (int)uVar6;
              iVar8 = (-var_13 & 0xffffU) + 0x396b0000;
              var_16[1] = (0x8000U - var_13 >> 0x10) + 0x3d6b0000;
              var_21 = (type_4)(ushort)((short)var_19 + 4);
              if (var_19 + 0x8008U >> 0x10 == var_20) {
                var_16[3] = iVar8;
                var_16[4] = 0x7c0903a6;
                var_16[5] = 0x7c0b5a14;
                var_16[2] = var_21 + 0x800c0000;
                var_16[6] = (var_19 + 8U & 0xffff) + 0x818c0000;
              }
              else {
                var_16[3] = iVar8;
                var_16[2] = var_21 + 0x840c0000;
                var_16[4] = 0x7c0903a6;
                var_16[5] = 0x7c0b5a14;
                var_16[6] = -0x7e73fffc;
              }
              var_16[7] = 0x7d605a14;
              var_16[8] = 0x4e800420;
              var_16 = var_16 + 9;
joined_r0x001dd725:
              if ((int *)((long)var_14 + var_6) <= var_16) {
                return;
              }
              do {
                *var_16 = 0x60000000;
                var_16 = var_16 + 1;
              } while (var_16 < (int *)((long)var_14 + var_6));
              return;
            }
          }
          else {
            var_16[6] = 0x7d6c5850;
            var_16[1] = 0x7c0802a6;
            var_16[2] = 0x429f0005;
            var_16[4] = 0x7d8802a6;
            var_16[5] = 0x7c0803a6;
            *var_16 = (var_13 + 0x7fccU >> 0x10) + 0x3d6b0000;
            var_16[3] = (var_13 - 0x34U & 0xffff) + 0x396b0000;
            if ((var_3 & 1) != 0) {
              var_19 = var_19 - ((var_13 - 0x34U) + *(int *)&this->field_0x8);
              var_20 = var_19 + 0x8004U >> 0x10;
              var_16[7] = var_20 + 0x3d8c0000;
              var_21 = (type_4)(ushort)((short)var_19 + 4);
              if (var_19 + 0x8008U >> 0x10 == var_20) {
                var_16[8] = var_21 + 0x800c0000;
                var_16[9] = (var_19 + 8U & 0xffff) + 0x818c0000;
              }
              else {
                var_16[9] = -0x7e73fffc;
                var_16[8] = var_21 + 0x840c0000;
              }
              var_16[0xc] = 0x7d605a14;
              var_16[10] = 0x7c0903a6;
              var_16[0xb] = 0x7c0b5a14;
              var_16[0xd] = 0x4e800420;
              var_16 = var_16 + 0xe;
              goto joined_r0x001dd725;
            }
          }
        }
      }
                    /* WARNING: Subroutine does not return */
      gold::var_4("../../gold/output.h",0xc5,"address");
    }
  }
                    /* WARNING: Subroutine does not return */
  gold::var_4("../../gold/powerpc.cc",0x36a,"plt_section");
}


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

void MASKED(long param_1,long param_2)

{
  byte bVar1;
  long lVar2;
  long lVar3;
  undefined8 uVar4;
  int iVar5;
  int iVar6;
  int *piVar7;
  int *piVar8;
  int *piVar9;
  int *piVar10;
  uint uVar11;
  uint uVar12;
  int iVar13;
  
  bVar1 = *(byte *)(param_1 + 0x20);
  if ((bVar1 & 4) == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_00352af0("../../gold/output.h",0xe3,"offset");
  }
  lVar2 = *(long *)(param_1 + 0x18);
  if ((bVar1 & 2) == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_00352af0("../../gold/output.h",0xcf,"data_size");
  }
  lVar3 = *(long *)(param_1 + 0x10);
  if ((lVar2 < 0) || (*(long *)(param_2 + 0x10) < lVar2 + lVar3)) {
    FUN_001dd100();
  }
  else {
    piVar9 = (int *)(lVar2 + *(long *)(param_2 + 0x18));
    lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x28);
    if (lVar2 != 0) {
      if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {
        lVar2 = *(long *)(*(long *)(param_1 + 0x38) + 0x20);
        if (lVar2 == 0) {
          FUN_001dc950();
                    /* WARNING: Subroutine does not return */
          FUN_00352af0("../../gold/output.h",0xc5,"address");
        }
        if ((*(byte *)(lVar2 + 0x20) & 1) != 0) {
          iVar13 = (int)*(undefined8 *)(lVar2 + 8) + *(int *)(lVar2 + 0x9c) * 4;
          iVar5 = (int)lVar3;
          piVar10 = (int *)((ulong)(iVar5 - 0x40) + (long)piVar9);
          piVar8 = piVar9;
          if (piVar9 < piVar10 + -8) {
            do {
              piVar7 = piVar8 + 1;
              *piVar8 = ((int)piVar10 + 0x48000000) - (int)piVar8;
              piVar8 = piVar7;
            } while (piVar7 < piVar10 + -8);
            piVar8 = (int *)((long)piVar9 +
                            ((long)piVar10 + (-0x21 - (long)piVar9) & 0xfffffffffffffffcU) + 4);
          }
          piVar7 = piVar8;
          if (piVar8 < piVar10) {
            do {
              *piVar7 = 0x60000000;
              piVar7 = piVar7 + 1;
            } while (piVar7 < piVar10);
            piVar8 = (int *)((long)piVar8 +
                            ((long)piVar10 + (-1 - (long)piVar8) & 0xfffffffffffffffcU) + 4);
          }
          lVar2 = *(long *)(PTR_DAT_0067cb08 + 0x10);
          if (lVar2 == 0) {
                    /* WARNING: Subroutine does not return */
            FUN_00352af0("../../gold/parameters.h",0x5c,"options");
          }
          if ((*(char *)(lVar2 + 0x2a61) == '\0') && (*(char *)(lVar2 + 0x42d1) == '\0')) {
            if ((bVar1 & 1) != 0) {
              uVar4 = *(undefined8 *)(param_1 + 8);
              uVar12 = iVar13 + 0x8004U >> 0x10;
              *piVar8 = uVar12 + 0x3d800000;
              iVar5 = (int)uVar4;
              iVar6 = (-iVar5 & 0xffffU) + 0x396b0000;
              piVar8[1] = (0x8000U - iVar5 >> 0x10) + 0x3d6b0000;
              uVar11 = (uint)(ushort)((short)iVar13 + 4);
              if (iVar13 + 0x8008U >> 0x10 == uVar12) {
                piVar8[3] = iVar6;
                piVar8[4] = 0x7c0903a6;
                piVar8[5] = 0x7c0b5a14;
                piVar8[2] = uVar11 + 0x800c0000;
                piVar8[6] = (iVar13 + 8U & 0xffff) + 0x818c0000;
              }
              else {
                piVar8[3] = iVar6;
                piVar8[2] = uVar11 + 0x840c0000;
                piVar8[4] = 0x7c0903a6;
                piVar8[5] = 0x7c0b5a14;
                piVar8[6] = -0x7e73fffc;
              }
              piVar8[7] = 0x7d605a14;
              piVar8[8] = 0x4e800420;
              piVar8 = piVar8 + 9;
joined_r0x001dd725:
              if ((int *)((long)piVar9 + lVar3) <= piVar8) {
                return;
              }
              do {
                *piVar8 = 0x60000000;
                piVar8 = piVar8 + 1;
              } while (piVar8 < (int *)((long)piVar9 + lVar3));
              return;
            }
          }
          else {
            piVar8[6] = 0x7d6c5850;
            piVar8[1] = 0x7c0802a6;
            piVar8[2] = 0x429f0005;
            piVar8[4] = 0x7d8802a6;
            piVar8[5] = 0x7c0803a6;
            *piVar8 = (iVar5 + 0x7fccU >> 0x10) + 0x3d6b0000;
            piVar8[3] = (iVar5 - 0x34U & 0xffff) + 0x396b0000;
            if ((bVar1 & 1) != 0) {
              iVar13 = iVar13 - ((iVar5 - 0x34U) + *(int *)(param_1 + 8));
              uVar12 = iVar13 + 0x8004U >> 0x10;
              piVar8[7] = uVar12 + 0x3d8c0000;
              uVar11 = (uint)(ushort)((short)iVar13 + 4);
              if (iVar13 + 0x8008U >> 0x10 == uVar12) {
                piVar8[8] = uVar11 + 0x800c0000;
                piVar8[9] = (iVar13 + 8U & 0xffff) + 0x818c0000;
              }
              else {
                piVar8[9] = -0x7e73fffc;
                piVar8[8] = uVar11 + 0x840c0000;
              }
              piVar8[0xc] = 0x7d605a14;
              piVar8[10] = 0x7c0903a6;
              piVar8[0xb] = 0x7c0b5a14;
              piVar8[0xd] = 0x4e800420;
              piVar8 = piVar8 + 0xe;
              goto joined_r0x001dd725;
            }
          }
        }
      }
                    /* WARNING: Subroutine does not return */
      FUN_00352af0("../../gold/output.h",0xc5,"address");
    }
  }
                    /* WARNING: Subroutine does not return */
  FUN_00352af0("../../gold/powerpc.cc",0x36a,"plt_section");
}

