
/* WARNING: Function: __x86.get_pc_thunk.bp replaced with injection: get_pc_thunk.bp */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: void scan_relocatable_relocs(Target_i386 * this, Symbol_table * symtab,
   Layout * layout, Sized_relobj_file<32,_false> * object, uint data_shndx, uint sh_type, uchar *
   prelocs, size_t reloc_count, Output_section * output_section, bool needs_special_offset_handling,
   size_t local_symbol_count, uchar * plocal_symbols, Relocatable_relocs * rr) */

void __thiscall
anon_unknown.dwarf_217836::Target_i386::scan_relocatable_relocs
          (Target_i386 *this,Symbol_table *symtab,Layout *layout,
          Sized_relobj_file<32,_false> *object,uint data_shndx,uint sh_type,uchar *prelocs,
          size_t reloc_count,Output_section *output_section,bool needs_special_offset_handling,
          size_t param_10,uchar *plocal_symbols,Relocatable_relocs *rr)

{
  undefined1 *puVar1;
  pointer ppOVar2;
  _func_int_varargs *p_Var3;
  bool bVar4;
  uint uVar5;
  pointer pSVar6;
  int iVar7;
  Xindex *this_00;
  uint uVar8;
  uchar uVar9;
  uint symndx;
  size_t local_48;
  uchar local_1d [13];
  
  if (sh_type != 9) {
                    /* WARNING: Subroutine does not return */
    gold::do_gold_unreachable("../../gold/i386.cc",0xed0,"scan_relocatable_relocs");
  }
  if (reloc_count != 0) {
    local_48 = 0;
    do {
      while ((needs_special_offset_handling &&
             (bVar4 = gold::Output_section::is_input_address_mapped
                                (output_section,(Relobj *)object,data_shndx,
                                 (ulonglong)*(uint *)(prelocs + local_48 * 8)), !bVar4))) {
LAB_00050750:
        local_1d[0] = '\b';
        std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>
                  (&rr->reloc_strategies_,local_1d);
        local_48 = local_48 + 1;
        if (reloc_count == local_48) {
          return;
        }
      }
      uVar5 = *(uint *)(prelocs + local_48 * 8 + 4);
      symndx = uVar5 >> 8;
      if (symndx < param_10) {
        if (plocal_symbols == (uchar *)0x0) {
                    /* WARNING: Subroutine does not return */
          gold::do_gold_unreachable("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");
        }
        uVar8 = (uint)*(ushort *)(plocal_symbols + symndx * 0x10 + 0xe);
        if (uVar8 < 0xff00) {
LAB_00050725:
          if (uVar8 != 0) {
            ppOVar2 = (object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.
                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                      ._M_impl._M_start;
            if ((uint)((int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.
                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                            ._M_impl._M_finish - (int)ppOVar2 >> 2) <= uVar8) {
                    /* WARNING: Subroutine does not return */
              gold::do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");
            }
            if (ppOVar2[uVar8] == (Output_section *)0x0) goto LAB_00050750;
          }
        }
        else if (uVar8 == 0xffff) {
          this_00 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;
          if (this_00 == (Xindex *)0x0) {
            this_00 = (Xindex *)
                      (*(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.
                        _vptr_Object[0x1b])(object);
            (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_00;
          }
          uVar8 = gold::Xindex::sym_xindex_to_shndx(this_00,(Object *)object,symndx);
          goto LAB_00050725;
        }
        uVar5 = uVar5 & 0xff;
        if ((plocal_symbols[symndx * 0x10 + 0xc] & 0xf) != 3) {
          if (uVar5 == 0 && symndx == 0) goto LAB_00050750;
          pSVar6 = (object->local_values_).
                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>
                   ._M_impl._M_start;
          if ((uint)((int)(object->local_values_).
                          super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>
                          ._M_impl._M_finish - (int)pSVar6 >> 4) <= symndx) {
                    /* WARNING: Subroutine does not return */
            gold::do_gold_unreachable
                      ("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");
          }
          pSVar6 = pSVar6 + symndx;
          uVar5 = pSVar6->output_symtab_index_;
          if ((uVar5 != 0) && (uVar5 != 0xfffffffe)) {
                    /* WARNING: Subroutine does not return */
            gold::do_gold_unreachable
                      ("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");
          }
          pSVar6->output_symtab_index_ = 0xfffffffe;
          local_1d[0] = '\0';
          goto LAB_0005060d;
        }
        uVar5 = Classify_reloc::get_size_for_reloc(uVar5,(Relobj *)object);
        switch(uVar5) {
        case 0:
          uVar9 = '\x02';
          break;
        case 1:
          uVar9 = '\x03';
          p_Var3 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object
                   [0x18];
          goto joined_r0x0005082e;
        case 2:
          uVar9 = '\x04';
          break;
        default:
                    /* WARNING: Subroutine does not return */
          gold::do_gold_unreachable("../../gold/target-reloc.h",0x276,"local_section_strategy");
        case 4:
          uVar9 = '\x05';
          break;
        case 8:
          uVar9 = '\x06';
        }
        p_Var3 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object
                 [0x18];
joined_r0x0005082e:
        if (p_Var3 == gold::Relobj::do_output_section) {
          ppOVar2 = (object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.
                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                    ._M_impl._M_start;
          if ((uint)((int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.
                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                          ._M_impl._M_finish - (int)ppOVar2 >> 2) <= uVar8) {
                    /* WARNING: Subroutine does not return */
            gold::do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");
          }
          puVar1 = &ppOVar2[uVar8]->field_0x90;
          *puVar1 = *puVar1 | 1;
          local_1d[0] = uVar9;
        }
        else {
          iVar7 = (*p_Var3)(object,uVar8);
          *(byte *)(iVar7 + 0x90) = *(byte *)(iVar7 + 0x90) | 1;
          local_1d[0] = uVar9;
        }
      }
      else {
        local_1d[0] = '\0';
      }
LAB_0005060d:
      std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>
                (&rr->reloc_strategies_,local_1d);
      local_48 = local_48 + 1;
      rr->output_reloc_count_ = rr->output_reloc_count_ + 1;
    } while (reloc_count != local_48);
  }
  return;
}



void FUN_000505b0(void)

{
  uint uVar1;
  char cVar2;
  int *piVar3;
  int iVar4;
  int iVar5;
  uint uVar6;
  int unaff_EBP;
  uint uVar7;
  undefined8 uVar8;
  int *in_stack_00000010;
  undefined4 in_stack_00000014;
  int in_stack_00000018;
  int in_stack_0000001c;
  int in_stack_00000020;
  undefined4 in_stack_00000024;
  char in_stack_00000028;
  uint in_stack_0000002c;
  int in_stack_00000030;
  int in_stack_00000034;
  int local_48;
  char local_40;
  undefined1 local_1d [13];
  
  FUN_00058c4e();
  if (in_stack_00000018 != 9) {
                    /* WARNING: Subroutine does not return */
    FUN_0008b620(unaff_EBP + 0x1fae05,0xed0,unaff_EBP + 0x1fce66,in_stack_00000028);
  }
  if (in_stack_00000020 != 0) {
    local_48 = 0;
    do {
      while ((in_stack_00000028 != '\0' &&
             (cVar2 = FUN_000efc00(in_stack_00000024,in_stack_00000010,in_stack_00000014,
                                   *(undefined4 *)(in_stack_0000001c + local_48 * 8),0),
             cVar2 == '\0'))) {
LAB_00050750:
        local_1d[0] = 8;
        FUN_000563d0(in_stack_00000034,local_1d);
        local_48 = local_48 + 1;
        if (in_stack_00000020 == local_48) {
          return;
        }
      }
      uVar1 = *(uint *)(in_stack_0000001c + 4 + local_48 * 8);
      uVar7 = uVar1 >> 8;
      if (uVar7 < in_stack_0000002c) {
        if (in_stack_00000030 == 0) {
                    /* WARNING: Subroutine does not return */
          FUN_0008b620(unaff_EBP + 0x1faf23,0x2e4,unaff_EBP + 0x1fce4e);
        }
        iVar5 = in_stack_00000030 + uVar7 * 0x10;
        uVar6 = (uint)*(ushort *)(iVar5 + 0xe);
        if (uVar6 < 0xff00) {
LAB_00050725:
          if (uVar6 != 0) {
            if ((uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2) <= uVar6) {
                    /* WARNING: Subroutine does not return */
              FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6);
            }
            if (*(int *)(in_stack_00000010[0xe] + uVar6 * 4) == 0) goto LAB_00050750;
          }
        }
        else if (uVar6 == 0xffff) {
          iVar4 = in_stack_00000010[0xc];
          if (iVar4 == 0) {
            iVar4 = (**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010);
            in_stack_00000010[0xc] = iVar4;
          }
          uVar6 = FUN_000beba0(iVar4,in_stack_00000010,uVar7);
          goto LAB_00050725;
        }
        local_40 = (char)uVar1;
        if ((*(byte *)(iVar5 + 0xc) & 0xf) == 3) {
          uVar8 = FUN_000490f0();
          if ((uint)uVar8 < 9) {
                    /* WARNING: Could not recover jumptable at 0x000507a9. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            (*(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a))();
            return;
          }
                    /* WARNING: Subroutine does not return */
          FUN_0008b620(unaff_EBP + 0x1faf23,0x276,unaff_EBP + 0x1fce36,
                       (int)((ulonglong)uVar8 >> 0x20));
        }
        if (local_40 == '\0' && uVar7 == 0) goto LAB_00050750;
        if ((uint)(in_stack_00000010[0x38] - in_stack_00000010[0x37] >> 4) <= uVar7) {
                    /* WARNING: Subroutine does not return */
          FUN_0008b620(unaff_EBP + 0x1fadcf,0x8e3,unaff_EBP + 0x1fceca);
        }
        piVar3 = (int *)(in_stack_00000010[0x37] + uVar7 * 0x10);
        iVar5 = *piVar3;
        if ((iVar5 != 0) && (iVar5 != -2)) {
                    /* WARNING: Subroutine does not return */
          FUN_0008b620(unaff_EBP + 0x1fadcf,0x71f,unaff_EBP + 0x1fce8a);
        }
        *piVar3 = -2;
      }
      local_1d[0] = 0;
      FUN_000563d0(in_stack_00000034,local_1d);
      local_48 = local_48 + 1;
      *(int *)(in_stack_00000034 + 0xc) = *(int *)(in_stack_00000034 + 0xc) + 1;
    } while (in_stack_00000020 != local_48);
  }
  return;
}


PUSH EBP
CALL 0x00058c4e
ADD EBP,0x2eea4a
PUSH EDI
PUSH ESI
PUSH EBX
SUB ESP,0x3c
MOVZX EAX,byte ptr [ESP + 0x74]
CMP dword ptr [ESP + 0x64],0x9
MOV EDI,dword ptr [ESP + 0x5c]
MOV byte ptr [ESP + 0x17],AL
JNZ 0x00050929
MOV EAX,dword ptr [ESP + 0x6c]
TEST EAX,EAX
JZ 0x0005077e
LEA EAX,[ESP + 0x2f]
MOV dword ptr [ESP + 0x4],0x0
MOV dword ptr [ESP + 0x8],EAX
LEA EAX,[EBP + 0xffd16640]
MOV dword ptr [ESP + 0x1c],EAX
JMP 0x00050641
MOV byte ptr [ESP + 0x2f],0x0
SUB ESP,0x8
PUSH dword ptr [ESP + 0x10]
PUSH dword ptr [ESP + 0x8c]
CALL 0x000563d0
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x80]
ADD dword ptr [ESP + 0x4],0x1
ADD dword ptr [EAX + 0xc],0x1
MOV EAX,dword ptr [ESP + 0x4]
CMP dword ptr [ESP + 0x6c],EAX
JZ 0x0005077e
CMP byte ptr [ESP + 0x17],0x0
JNZ 0x000507b0
MOV EAX,dword ptr [ESP + 0x68]
MOV ECX,dword ptr [ESP + 0x4]
MOV EAX,dword ptr [EAX + ECX*0x8 + 0x4]
MOV ESI,EAX
MOV dword ptr [ESP + 0xc],EAX
SHR ESI,0x8
CMP dword ptr [ESP + 0x78],ESI
JBE 0x00050608
MOV EAX,dword ptr [ESP + 0x7c]
TEST EAX,EAX
JZ 0x000508b7
MOV EAX,ESI
MOV EDX,dword ptr [ESP + 0x7c]
SHL EAX,0x4
ADD EDX,EAX
MOV dword ptr [ESP + 0x10],EAX
MOVZX EBX,word ptr [EDX + 0xe]
CMP EBX,0xfeff
JBE 0x00050725
CMP EBX,0xffff
JZ 0x00050700
MOVZX EDX,byte ptr [EDX + 0xc]
MOVZX EAX,byte ptr [ESP + 0xc]
AND EDX,0xf
CMP DL,0x3
JZ 0x00050790
OR EAX,ESI
JZ 0x00050750
MOV EAX,dword ptr [EDI + 0xdc]
MOV EDX,dword ptr [EDI + 0xe0]
SUB EDX,EAX
SAR EDX,0x4
CMP ESI,EDX
JNC 0x000508f1
ADD EAX,dword ptr [ESP + 0x10]
MOV EDX,dword ptr [EAX]
TEST EDX,EDX
JZ 0x000506e3
CMP EDX,-0x2
JNZ 0x000508d4
MOV dword ptr [EAX],0xfffffffe
XOR ESI,ESI
MOV EAX,ESI
MOV byte ptr [ESP + 0x2f],AL
JMP 0x0005060d
MOV EAX,dword ptr [EDI + 0x30]
TEST EAX,EAX
JZ 0x00050880
MOV dword ptr [ESP + 0x18],EDX
SUB ESP,0x4
MOV EBX,EBP
PUSH ESI
PUSH EDI
PUSH EAX
CALL 0x000beba0
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x18]
MOV EBX,EAX
TEST EBX,EBX
JZ 0x0005069a
MOV ECX,dword ptr [EDI + 0x38]
MOV EAX,dword ptr [EDI + 0x3c]
SUB EAX,ECX
SAR EAX,0x2
CMP EAX,EBX
JBE 0x0005090e
MOV ECX,dword ptr [ECX + EBX*0x4]
TEST ECX,ECX
JNZ 0x0005069a
LEA ESI,[ESI]
NOP
MOV byte ptr [ESP + 0x2f],0x8
SUB ESP,0x8
PUSH dword ptr [ESP + 0x10]
PUSH dword ptr [ESP + 0x8c]
CALL 0x000563d0
ADD ESP,0x10
ADD dword ptr [ESP + 0x4],0x1
MOV EAX,dword ptr [ESP + 0x4]
CMP dword ptr [ESP + 0x6c],EAX
JNZ 0x00050641
ADD ESP,0x3c
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EDX,EDI
CALL 0x000490f0
CMP EAX,0x8
JA 0x0005089c
MOV ECX,dword ptr [EBP + EAX*0x4 + 0xfff0d58c]
ADD ECX,EBP
JMP ECX
SUB ESP,0xc
XOR EDX,EDX
MOV EBX,EBP
MOV EAX,dword ptr [ESP + 0x74]
MOV ECX,dword ptr [ESP + 0x10]
MOV EAX,dword ptr [EAX + ECX*0x8]
PUSH EDX
PUSH EAX
PUSH dword ptr [ESP + 0x74]
PUSH EDI
PUSH dword ptr [ESP + 0x8c]
CALL 0x000efc00
ADD ESP,0x20
TEST AL,AL
JNZ 0x0005064c
JMP 0x00050750
MOV dword ptr [ESP + 0x18],EDX
SUB ESP,0xc
MOV EAX,dword ptr [EDI]
PUSH EDI
CALL dword ptr [EAX + 0x6c]
MOV EDX,dword ptr [ESP + 0x28]
MOV dword ptr [EDI + 0x30],EAX
ADD ESP,0x10
JMP 0x0005070b
LEA EAX,[EBP + 0xfff0e3ec]
PUSH EDX
MOV EBX,EBP
PUSH EAX
LEA EAX,[EBP + 0xfff0c4d9]
PUSH 0x276
PUSH EAX
CALL 0x0008b620
SUB ESP,0x4
LEA EAX,[EBP + 0xfff0e404]
MOV EBX,EBP
PUSH EAX
LEA EAX,[EBP + 0xfff0c4d9]
PUSH 0x2e4
PUSH EAX
CALL 0x0008b620
SUB ESP,0x4
LEA EAX,[EBP + 0xfff0e440]
MOV EBX,EBP
PUSH EAX
LEA EAX,[EBP + 0xfff0c385]
PUSH 0x71f
PUSH EAX
CALL 0x0008b620
SUB ESP,0x4
LEA EAX,[EBP + 0xfff0e480]
MOV EBX,EBP
PUSH EAX
LEA EAX,[EBP + 0xfff0c385]
PUSH 0x8e3
PUSH EAX
CALL 0x0008b620
LEA EAX,[EBP + 0xfff0e4a4]
PUSH EBX
MOV EBX,EBP
PUSH EAX
LEA EAX,[EBP + 0xfff0c385]
PUSH 0x50b
PUSH EAX
CALL 0x0008b620
PUSH EAX
LEA EAX,[EBP + 0xfff0e41c]
MOV EBX,EBP
PUSH EAX
LEA EAX,[EBP + 0xfff0c3bb]
PUSH 0xed0
PUSH EAX
CALL 0x0008b620
(translation_unit "void FUN_000505b0(void)\n\n{\n  uint uVar1;\n  char cVar2;\n  int *piVar3;\n  int iVar4;\n  int iVar5;\n  uint uVar6;\n  int unaff_EBP;\n  uint uVar7;\n  undefined8 uVar8;\n  int *in_stack_00000010;\n  undefined4 in_stack_00000014;\n  int in_stack_00000018;\n  int in_stack_0000001c;\n  int in_stack_00000020;\n  undefined4 in_stack_00000024;\n  char in_stack_00000028;\n  uint in_stack_0000002c;\n  int in_stack_00000030;\n  int in_stack_00000034;\n  int local_48;\n  char local_40;\n  undefined1 local_1d [13];\n  \n  FUN_00058c4e();\n  if (in_stack_00000018 != 9) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0008b620(unaff_EBP + 0x1fae05,0xed0,unaff_EBP + 0x1fce66,in_stack_00000028);\n  }\n  if (in_stack_00000020 != 0) {\n    local_48 = 0;\n    do {\n      while ((in_stack_00000028 != '\0' &&\n             (cVar2 = FUN_000efc00(in_stack_00000024,in_stack_00000010,in_stack_00000014,\n                                   *(undefined4 *)(in_stack_0000001c + local_48 * 8),0),\n             cVar2 == '\0'))) {\nLAB_00050750:\n        local_1d[0] = 8;\n        FUN_000563d0(in_stack_00000034,local_1d);\n        local_48 = local_48 + 1;\n        if (in_stack_00000020 == local_48) {\n          return;\n        }\n      }\n      uVar1 = *(uint *)(in_stack_0000001c + 4 + local_48 * 8);\n      uVar7 = uVar1 >> 8;\n      if (uVar7 < in_stack_0000002c) {\n        if (in_stack_00000030 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620(unaff_EBP + 0x1faf23,0x2e4,unaff_EBP + 0x1fce4e);\n        }\n        iVar5 = in_stack_00000030 + uVar7 * 0x10;\n        uVar6 = (uint)*(ushort *)(iVar5 + 0xe);\n        if (uVar6 < 0xff00) {\nLAB_00050725:\n          if (uVar6 != 0) {\n            if ((uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2) <= uVar6) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6);\n            }\n            if (*(int *)(in_stack_00000010[0xe] + uVar6 * 4) == 0) goto LAB_00050750;\n          }\n        }\n        else if (uVar6 == 0xffff) {\n          iVar4 = in_stack_00000010[0xc];\n          if (iVar4 == 0) {\n            iVar4 = (**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010);\n            in_stack_00000010[0xc] = iVar4;\n          }\n          uVar6 = FUN_000beba0(iVar4,in_stack_00000010,uVar7);\n          goto LAB_00050725;\n        }\n        local_40 = (char)uVar1;\n        if ((*(byte *)(iVar5 + 0xc) & 0xf) == 3) {\n          uVar8 = FUN_000490f0();\n          if ((uint)uVar8 < 9) {\n                    /* WARNING: Could not recover jumptable at 0x000507a9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a))();\n            return;\n          }\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620(unaff_EBP + 0x1faf23,0x276,unaff_EBP + 0x1fce36,\n                       (int)((ulonglong)uVar8 >> 0x20));\n        }\n        if (local_40 == '\0' && uVar7 == 0) goto LAB_00050750;\n        if ((uint)(in_stack_00000010[0x38] - in_stack_00000010[0x37] >> 4) <= uVar7) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x8e3,unaff_EBP + 0x1fceca);\n        }\n        piVar3 = (int *)(in_stack_00000010[0x37] + uVar7 * 0x10);\n        iVar5 = *piVar3;\n        if ((iVar5 != 0) && (iVar5 != -2)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x71f,unaff_EBP + 0x1fce8a);\n        }\n        *piVar3 = -2;\n      }\n      local_1d[0] = 0;\n      FUN_000563d0(in_stack_00000034,local_1d);\n      local_48 = local_48 + 1;\n      *(int *)(in_stack_00000034 + 0xc) = *(int *)(in_stack_00000034 + 0xc) + 1;\n    } while (in_stack_00000020 != local_48);\n  }\n  return;\n}\n\n" (function_definition "void FUN_000505b0(void)\n\n{\n  uint uVar1;\n  char cVar2;\n  int *piVar3;\n  int iVar4;\n  int iVar5;\n  uint uVar6;\n  int unaff_EBP;\n  uint uVar7;\n  undefined8 uVar8;\n  int *in_stack_00000010;\n  undefined4 in_stack_00000014;\n  int in_stack_00000018;\n  int in_stack_0000001c;\n  int in_stack_00000020;\n  undefined4 in_stack_00000024;\n  char in_stack_00000028;\n  uint in_stack_0000002c;\n  int in_stack_00000030;\n  int in_stack_00000034;\n  int local_48;\n  char local_40;\n  undefined1 local_1d [13];\n  \n  FUN_00058c4e();\n  if (in_stack_00000018 != 9) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0008b620(unaff_EBP + 0x1fae05,0xed0,unaff_EBP + 0x1fce66,in_stack_00000028);\n  }\n  if (in_stack_00000020 != 0) {\n    local_48 = 0;\n    do {\n      while ((in_stack_00000028 != '\0' &&\n             (cVar2 = FUN_000efc00(in_stack_00000024,in_stack_00000010,in_stack_00000014,\n                                   *(undefined4 *)(in_stack_0000001c + local_48 * 8),0),\n             cVar2 == '\0'))) {\nLAB_00050750:\n        local_1d[0] = 8;\n        FUN_000563d0(in_stack_00000034,local_1d);\n        local_48 = local_48 + 1;\n        if (in_stack_00000020 == local_48) {\n          return;\n        }\n      }\n      uVar1 = *(uint *)(in_stack_0000001c + 4 + local_48 * 8);\n      uVar7 = uVar1 >> 8;\n      if (uVar7 < in_stack_0000002c) {\n        if (in_stack_00000030 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620(unaff_EBP + 0x1faf23,0x2e4,unaff_EBP + 0x1fce4e);\n        }\n        iVar5 = in_stack_00000030 + uVar7 * 0x10;\n        uVar6 = (uint)*(ushort *)(iVar5 + 0xe);\n        if (uVar6 < 0xff00) {\nLAB_00050725:\n          if (uVar6 != 0) {\n            if ((uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2) <= uVar6) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6);\n            }\n            if (*(int *)(in_stack_00000010[0xe] + uVar6 * 4) == 0) goto LAB_00050750;\n          }\n        }\n        else if (uVar6 == 0xffff) {\n          iVar4 = in_stack_00000010[0xc];\n          if (iVar4 == 0) {\n            iVar4 = (**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010);\n            in_stack_00000010[0xc] = iVar4;\n          }\n          uVar6 = FUN_000beba0(iVar4,in_stack_00000010,uVar7);\n          goto LAB_00050725;\n        }\n        local_40 = (char)uVar1;\n        if ((*(byte *)(iVar5 + 0xc) & 0xf) == 3) {\n          uVar8 = FUN_000490f0();\n          if ((uint)uVar8 < 9) {\n                    /* WARNING: Could not recover jumptable at 0x000507a9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a))();\n            return;\n          }\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620(unaff_EBP + 0x1faf23,0x276,unaff_EBP + 0x1fce36,\n                       (int)((ulonglong)uVar8 >> 0x20));\n        }\n        if (local_40 == '\0' && uVar7 == 0) goto LAB_00050750;\n        if ((uint)(in_stack_00000010[0x38] - in_stack_00000010[0x37] >> 4) <= uVar7) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x8e3,unaff_EBP + 0x1fceca);\n        }\n        piVar3 = (int *)(in_stack_00000010[0x37] + uVar7 * 0x10);\n        iVar5 = *piVar3;\n        if ((iVar5 != 0) && (iVar5 != -2)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x71f,unaff_EBP + 0x1fce8a);\n        }\n        *piVar3 = -2;\n      }\n      local_1d[0] = 0;\n      FUN_000563d0(in_stack_00000034,local_1d);\n      local_48 = local_48 + 1;\n      *(int *)(in_stack_00000034 + 0xc) = *(int *)(in_stack_00000034 + 0xc) + 1;\n    } while (in_stack_00000020 != local_48);\n  }\n  return;\n}" primitive_type (function_declarator "FUN_000505b0(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  uint uVar1;\n  char cVar2;\n  int *piVar3;\n  int iVar4;\n  int iVar5;\n  uint uVar6;\n  int unaff_EBP;\n  uint uVar7;\n  undefined8 uVar8;\n  int *in_stack_00000010;\n  undefined4 in_stack_00000014;\n  int in_stack_00000018;\n  int in_stack_0000001c;\n  int in_stack_00000020;\n  undefined4 in_stack_00000024;\n  char in_stack_00000028;\n  uint in_stack_0000002c;\n  int in_stack_00000030;\n  int in_stack_00000034;\n  int local_48;\n  char local_40;\n  undefined1 local_1d [13];\n  \n  FUN_00058c4e();\n  if (in_stack_00000018 != 9) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0008b620(unaff_EBP + 0x1fae05,0xed0,unaff_EBP + 0x1fce66,in_stack_00000028);\n  }\n  if (in_stack_00000020 != 0) {\n    local_48 = 0;\n    do {\n      while ((in_stack_00000028 != '\0' &&\n             (cVar2 = FUN_000efc00(in_stack_00000024,in_stack_00000010,in_stack_00000014,\n                                   *(undefined4 *)(in_stack_0000001c + local_48 * 8),0),\n             cVar2 == '\0'))) {\nLAB_00050750:\n        local_1d[0] = 8;\n        FUN_000563d0(in_stack_00000034,local_1d);\n        local_48 = local_48 + 1;\n        if (in_stack_00000020 == local_48) {\n          return;\n        }\n      }\n      uVar1 = *(uint *)(in_stack_0000001c + 4 + local_48 * 8);\n      uVar7 = uVar1 >> 8;\n      if (uVar7 < in_stack_0000002c) {\n        if (in_stack_00000030 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620(unaff_EBP + 0x1faf23,0x2e4,unaff_EBP + 0x1fce4e);\n        }\n        iVar5 = in_stack_00000030 + uVar7 * 0x10;\n        uVar6 = (uint)*(ushort *)(iVar5 + 0xe);\n        if (uVar6 < 0xff00) {\nLAB_00050725:\n          if (uVar6 != 0) {\n            if ((uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2) <= uVar6) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6);\n            }\n            if (*(int *)(in_stack_00000010[0xe] + uVar6 * 4) == 0) goto LAB_00050750;\n          }\n        }\n        else if (uVar6 == 0xffff) {\n          iVar4 = in_stack_00000010[0xc];\n          if (iVar4 == 0) {\n            iVar4 = (**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010);\n            in_stack_00000010[0xc] = iVar4;\n          }\n          uVar6 = FUN_000beba0(iVar4,in_stack_00000010,uVar7);\n          goto LAB_00050725;\n        }\n        local_40 = (char)uVar1;\n        if ((*(byte *)(iVar5 + 0xc) & 0xf) == 3) {\n          uVar8 = FUN_000490f0();\n          if ((uint)uVar8 < 9) {\n                    /* WARNING: Could not recover jumptable at 0x000507a9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a))();\n            return;\n          }\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620(unaff_EBP + 0x1faf23,0x276,unaff_EBP + 0x1fce36,\n                       (int)((ulonglong)uVar8 >> 0x20));\n        }\n        if (local_40 == '\0' && uVar7 == 0) goto LAB_00050750;\n        if ((uint)(in_stack_00000010[0x38] - in_stack_00000010[0x37] >> 4) <= uVar7) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x8e3,unaff_EBP + 0x1fceca);\n        }\n        piVar3 = (int *)(in_stack_00000010[0x37] + uVar7 * 0x10);\n        iVar5 = *piVar3;\n        if ((iVar5 != 0) && (iVar5 != -2)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x71f,unaff_EBP + 0x1fce8a);\n        }\n        *piVar3 = -2;\n      }\n      local_1d[0] = 0;\n      FUN_000563d0(in_stack_00000034,local_1d);\n      local_48 = local_48 + 1;\n      *(int *)(in_stack_00000034 + 0xc) = *(int *)(in_stack_00000034 + 0xc) + 1;\n    } while (in_stack_00000020 != local_48);\n  }\n  return;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "int unaff_EBP;" primitive_type identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "undefined8 uVar8;" type_identifier identifier ;) (declaration "int *in_stack_00000010;" primitive_type (pointer_declarator "*in_stack_00000010" * identifier) ;) (declaration "undefined4 in_stack_00000014;" type_identifier identifier ;) (declaration "int in_stack_00000018;" primitive_type identifier ;) (declaration "int in_stack_0000001c;" primitive_type identifier ;) (declaration "int in_stack_00000020;" primitive_type identifier ;) (declaration "undefined4 in_stack_00000024;" type_identifier identifier ;) (declaration "char in_stack_00000028;" primitive_type identifier ;) (declaration "uint in_stack_0000002c;" type_identifier identifier ;) (declaration "int in_stack_00000030;" primitive_type identifier ;) (declaration "int in_stack_00000034;" primitive_type identifier ;) (declaration "int local_48;" primitive_type identifier ;) (declaration "char local_40;" primitive_type identifier ;) (declaration "undefined1 local_1d [13];" type_identifier (array_declarator "local_1d [13]" identifier [ number_literal ]) ;) (expression_statement "FUN_00058c4e();" (call_expression "FUN_00058c4e()" identifier (argument_list "()" ( ))) ;) (if_statement "if (in_stack_00000018 != 9) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0008b620(unaff_EBP + 0x1fae05,0xed0,unaff_EBP + 0x1fce66,in_stack_00000028);\n  }" if (parenthesized_expression "(in_stack_00000018 != 9)" ( (binary_expression "in_stack_00000018 != 9" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_0008b620(unaff_EBP + 0x1fae05,0xed0,unaff_EBP + 0x1fce66,in_stack_00000028);\n  }" { comment (expression_statement "FUN_0008b620(unaff_EBP + 0x1fae05,0xed0,unaff_EBP + 0x1fce66,in_stack_00000028);" (call_expression "FUN_0008b620(unaff_EBP + 0x1fae05,0xed0,unaff_EBP + 0x1fce66,in_stack_00000028)" identifier (argument_list "(unaff_EBP + 0x1fae05,0xed0,unaff_EBP + 0x1fce66,in_stack_00000028)" ( (binary_expression "unaff_EBP + 0x1fae05" identifier + number_literal) , number_literal , (binary_expression "unaff_EBP + 0x1fce66" identifier + number_literal) , identifier ))) ;) })) (if_statement "if (in_stack_00000020 != 0) {\n    local_48 = 0;\n    do {\n      while ((in_stack_00000028 != '\0' &&\n             (cVar2 = FUN_000efc00(in_stack_00000024,in_stack_00000010,in_stack_00000014,\n                                   *(undefined4 *)(in_stack_0000001c + local_48 * 8),0),\n             cVar2 == '\0'))) {\nLAB_00050750:\n        local_1d[0] = 8;\n        FUN_000563d0(in_stack_00000034,local_1d);\n        local_48 = local_48 + 1;\n        if (in_stack_00000020 == local_48) {\n          return;\n        }\n      }\n      uVar1 = *(uint *)(in_stack_0000001c + 4 + local_48 * 8);\n      uVar7 = uVar1 >> 8;\n      if (uVar7 < in_stack_0000002c) {\n        if (in_stack_00000030 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620(unaff_EBP + 0x1faf23,0x2e4,unaff_EBP + 0x1fce4e);\n        }\n        iVar5 = in_stack_00000030 + uVar7 * 0x10;\n        uVar6 = (uint)*(ushort *)(iVar5 + 0xe);\n        if (uVar6 < 0xff00) {\nLAB_00050725:\n          if (uVar6 != 0) {\n            if ((uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2) <= uVar6) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6);\n            }\n            if (*(int *)(in_stack_00000010[0xe] + uVar6 * 4) == 0) goto LAB_00050750;\n          }\n        }\n        else if (uVar6 == 0xffff) {\n          iVar4 = in_stack_00000010[0xc];\n          if (iVar4 == 0) {\n            iVar4 = (**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010);\n            in_stack_00000010[0xc] = iVar4;\n          }\n          uVar6 = FUN_000beba0(iVar4,in_stack_00000010,uVar7);\n          goto LAB_00050725;\n        }\n        local_40 = (char)uVar1;\n        if ((*(byte *)(iVar5 + 0xc) & 0xf) == 3) {\n          uVar8 = FUN_000490f0();\n          if ((uint)uVar8 < 9) {\n                    /* WARNING: Could not recover jumptable at 0x000507a9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a))();\n            return;\n          }\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620(unaff_EBP + 0x1faf23,0x276,unaff_EBP + 0x1fce36,\n                       (int)((ulonglong)uVar8 >> 0x20));\n        }\n        if (local_40 == '\0' && uVar7 == 0) goto LAB_00050750;\n        if ((uint)(in_stack_00000010[0x38] - in_stack_00000010[0x37] >> 4) <= uVar7) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x8e3,unaff_EBP + 0x1fceca);\n        }\n        piVar3 = (int *)(in_stack_00000010[0x37] + uVar7 * 0x10);\n        iVar5 = *piVar3;\n        if ((iVar5 != 0) && (iVar5 != -2)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x71f,unaff_EBP + 0x1fce8a);\n        }\n        *piVar3 = -2;\n      }\n      local_1d[0] = 0;\n      FUN_000563d0(in_stack_00000034,local_1d);\n      local_48 = local_48 + 1;\n      *(int *)(in_stack_00000034 + 0xc) = *(int *)(in_stack_00000034 + 0xc) + 1;\n    } while (in_stack_00000020 != local_48);\n  }" if (parenthesized_expression "(in_stack_00000020 != 0)" ( (binary_expression "in_stack_00000020 != 0" identifier != number_literal) )) (compound_statement "{\n    local_48 = 0;\n    do {\n      while ((in_stack_00000028 != '\0' &&\n             (cVar2 = FUN_000efc00(in_stack_00000024,in_stack_00000010,in_stack_00000014,\n                                   *(undefined4 *)(in_stack_0000001c + local_48 * 8),0),\n             cVar2 == '\0'))) {\nLAB_00050750:\n        local_1d[0] = 8;\n        FUN_000563d0(in_stack_00000034,local_1d);\n        local_48 = local_48 + 1;\n        if (in_stack_00000020 == local_48) {\n          return;\n        }\n      }\n      uVar1 = *(uint *)(in_stack_0000001c + 4 + local_48 * 8);\n      uVar7 = uVar1 >> 8;\n      if (uVar7 < in_stack_0000002c) {\n        if (in_stack_00000030 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620(unaff_EBP + 0x1faf23,0x2e4,unaff_EBP + 0x1fce4e);\n        }\n        iVar5 = in_stack_00000030 + uVar7 * 0x10;\n        uVar6 = (uint)*(ushort *)(iVar5 + 0xe);\n        if (uVar6 < 0xff00) {\nLAB_00050725:\n          if (uVar6 != 0) {\n            if ((uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2) <= uVar6) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6);\n            }\n            if (*(int *)(in_stack_00000010[0xe] + uVar6 * 4) == 0) goto LAB_00050750;\n          }\n        }\n        else if (uVar6 == 0xffff) {\n          iVar4 = in_stack_00000010[0xc];\n          if (iVar4 == 0) {\n            iVar4 = (**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010);\n            in_stack_00000010[0xc] = iVar4;\n          }\n          uVar6 = FUN_000beba0(iVar4,in_stack_00000010,uVar7);\n          goto LAB_00050725;\n        }\n        local_40 = (char)uVar1;\n        if ((*(byte *)(iVar5 + 0xc) & 0xf) == 3) {\n          uVar8 = FUN_000490f0();\n          if ((uint)uVar8 < 9) {\n                    /* WARNING: Could not recover jumptable at 0x000507a9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a))();\n            return;\n          }\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620(unaff_EBP + 0x1faf23,0x276,unaff_EBP + 0x1fce36,\n                       (int)((ulonglong)uVar8 >> 0x20));\n        }\n        if (local_40 == '\0' && uVar7 == 0) goto LAB_00050750;\n        if ((uint)(in_stack_00000010[0x38] - in_stack_00000010[0x37] >> 4) <= uVar7) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x8e3,unaff_EBP + 0x1fceca);\n        }\n        piVar3 = (int *)(in_stack_00000010[0x37] + uVar7 * 0x10);\n        iVar5 = *piVar3;\n        if ((iVar5 != 0) && (iVar5 != -2)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x71f,unaff_EBP + 0x1fce8a);\n        }\n        *piVar3 = -2;\n      }\n      local_1d[0] = 0;\n      FUN_000563d0(in_stack_00000034,local_1d);\n      local_48 = local_48 + 1;\n      *(int *)(in_stack_00000034 + 0xc) = *(int *)(in_stack_00000034 + 0xc) + 1;\n    } while (in_stack_00000020 != local_48);\n  }" { (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" identifier = number_literal) ;) (do_statement "do {\n      while ((in_stack_00000028 != '\0' &&\n             (cVar2 = FUN_000efc00(in_stack_00000024,in_stack_00000010,in_stack_00000014,\n                                   *(undefined4 *)(in_stack_0000001c + local_48 * 8),0),\n             cVar2 == '\0'))) {\nLAB_00050750:\n        local_1d[0] = 8;\n        FUN_000563d0(in_stack_00000034,local_1d);\n        local_48 = local_48 + 1;\n        if (in_stack_00000020 == local_48) {\n          return;\n        }\n      }\n      uVar1 = *(uint *)(in_stack_0000001c + 4 + local_48 * 8);\n      uVar7 = uVar1 >> 8;\n      if (uVar7 < in_stack_0000002c) {\n        if (in_stack_00000030 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620(unaff_EBP + 0x1faf23,0x2e4,unaff_EBP + 0x1fce4e);\n        }\n        iVar5 = in_stack_00000030 + uVar7 * 0x10;\n        uVar6 = (uint)*(ushort *)(iVar5 + 0xe);\n        if (uVar6 < 0xff00) {\nLAB_00050725:\n          if (uVar6 != 0) {\n            if ((uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2) <= uVar6) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6);\n            }\n            if (*(int *)(in_stack_00000010[0xe] + uVar6 * 4) == 0) goto LAB_00050750;\n          }\n        }\n        else if (uVar6 == 0xffff) {\n          iVar4 = in_stack_00000010[0xc];\n          if (iVar4 == 0) {\n            iVar4 = (**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010);\n            in_stack_00000010[0xc] = iVar4;\n          }\n          uVar6 = FUN_000beba0(iVar4,in_stack_00000010,uVar7);\n          goto LAB_00050725;\n        }\n        local_40 = (char)uVar1;\n        if ((*(byte *)(iVar5 + 0xc) & 0xf) == 3) {\n          uVar8 = FUN_000490f0();\n          if ((uint)uVar8 < 9) {\n                    /* WARNING: Could not recover jumptable at 0x000507a9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a))();\n            return;\n          }\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620(unaff_EBP + 0x1faf23,0x276,unaff_EBP + 0x1fce36,\n                       (int)((ulonglong)uVar8 >> 0x20));\n        }\n        if (local_40 == '\0' && uVar7 == 0) goto LAB_00050750;\n        if ((uint)(in_stack_00000010[0x38] - in_stack_00000010[0x37] >> 4) <= uVar7) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x8e3,unaff_EBP + 0x1fceca);\n        }\n        piVar3 = (int *)(in_stack_00000010[0x37] + uVar7 * 0x10);\n        iVar5 = *piVar3;\n        if ((iVar5 != 0) && (iVar5 != -2)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x71f,unaff_EBP + 0x1fce8a);\n        }\n        *piVar3 = -2;\n      }\n      local_1d[0] = 0;\n      FUN_000563d0(in_stack_00000034,local_1d);\n      local_48 = local_48 + 1;\n      *(int *)(in_stack_00000034 + 0xc) = *(int *)(in_stack_00000034 + 0xc) + 1;\n    } while (in_stack_00000020 != local_48);" do (compound_statement "{\n      while ((in_stack_00000028 != '\0' &&\n             (cVar2 = FUN_000efc00(in_stack_00000024,in_stack_00000010,in_stack_00000014,\n                                   *(undefined4 *)(in_stack_0000001c + local_48 * 8),0),\n             cVar2 == '\0'))) {\nLAB_00050750:\n        local_1d[0] = 8;\n        FUN_000563d0(in_stack_00000034,local_1d);\n        local_48 = local_48 + 1;\n        if (in_stack_00000020 == local_48) {\n          return;\n        }\n      }\n      uVar1 = *(uint *)(in_stack_0000001c + 4 + local_48 * 8);\n      uVar7 = uVar1 >> 8;\n      if (uVar7 < in_stack_0000002c) {\n        if (in_stack_00000030 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620(unaff_EBP + 0x1faf23,0x2e4,unaff_EBP + 0x1fce4e);\n        }\n        iVar5 = in_stack_00000030 + uVar7 * 0x10;\n        uVar6 = (uint)*(ushort *)(iVar5 + 0xe);\n        if (uVar6 < 0xff00) {\nLAB_00050725:\n          if (uVar6 != 0) {\n            if ((uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2) <= uVar6) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6);\n            }\n            if (*(int *)(in_stack_00000010[0xe] + uVar6 * 4) == 0) goto LAB_00050750;\n          }\n        }\n        else if (uVar6 == 0xffff) {\n          iVar4 = in_stack_00000010[0xc];\n          if (iVar4 == 0) {\n            iVar4 = (**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010);\n            in_stack_00000010[0xc] = iVar4;\n          }\n          uVar6 = FUN_000beba0(iVar4,in_stack_00000010,uVar7);\n          goto LAB_00050725;\n        }\n        local_40 = (char)uVar1;\n        if ((*(byte *)(iVar5 + 0xc) & 0xf) == 3) {\n          uVar8 = FUN_000490f0();\n          if ((uint)uVar8 < 9) {\n                    /* WARNING: Could not recover jumptable at 0x000507a9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a))();\n            return;\n          }\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620(unaff_EBP + 0x1faf23,0x276,unaff_EBP + 0x1fce36,\n                       (int)((ulonglong)uVar8 >> 0x20));\n        }\n        if (local_40 == '\0' && uVar7 == 0) goto LAB_00050750;\n        if ((uint)(in_stack_00000010[0x38] - in_stack_00000010[0x37] >> 4) <= uVar7) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x8e3,unaff_EBP + 0x1fceca);\n        }\n        piVar3 = (int *)(in_stack_00000010[0x37] + uVar7 * 0x10);\n        iVar5 = *piVar3;\n        if ((iVar5 != 0) && (iVar5 != -2)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x71f,unaff_EBP + 0x1fce8a);\n        }\n        *piVar3 = -2;\n      }\n      local_1d[0] = 0;\n      FUN_000563d0(in_stack_00000034,local_1d);\n      local_48 = local_48 + 1;\n      *(int *)(in_stack_00000034 + 0xc) = *(int *)(in_stack_00000034 + 0xc) + 1;\n    }" { (while_statement "while ((in_stack_00000028 != '\0' &&\n             (cVar2 = FUN_000efc00(in_stack_00000024,in_stack_00000010,in_stack_00000014,\n                                   *(undefined4 *)(in_stack_0000001c + local_48 * 8),0),\n             cVar2 == '\0'))) {\nLAB_00050750:\n        local_1d[0] = 8;\n        FUN_000563d0(in_stack_00000034,local_1d);\n        local_48 = local_48 + 1;\n        if (in_stack_00000020 == local_48) {\n          return;\n        }\n      }" while (parenthesized_expression "((in_stack_00000028 != '\0' &&\n             (cVar2 = FUN_000efc00(in_stack_00000024,in_stack_00000010,in_stack_00000014,\n                                   *(undefined4 *)(in_stack_0000001c + local_48 * 8),0),\n             cVar2 == '\0')))" ( (parenthesized_expression "(in_stack_00000028 != '\0' &&\n             (cVar2 = FUN_000efc00(in_stack_00000024,in_stack_00000010,in_stack_00000014,\n                                   *(undefined4 *)(in_stack_0000001c + local_48 * 8),0),\n             cVar2 == '\0'))" ( (binary_expression "in_stack_00000028 != '\0' &&\n             (cVar2 = FUN_000efc00(in_stack_00000024,in_stack_00000010,in_stack_00000014,\n                                   *(undefined4 *)(in_stack_0000001c + local_48 * 8),0),\n             cVar2 == '\0')" (binary_expression "in_stack_00000028 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) && (parenthesized_expression "(cVar2 = FUN_000efc00(in_stack_00000024,in_stack_00000010,in_stack_00000014,\n                                   *(undefined4 *)(in_stack_0000001c + local_48 * 8),0),\n             cVar2 == '\0')" ( (comma_expression "cVar2 = FUN_000efc00(in_stack_00000024,in_stack_00000010,in_stack_00000014,\n                                   *(undefined4 *)(in_stack_0000001c + local_48 * 8),0),\n             cVar2 == '\0'" (assignment_expression "cVar2 = FUN_000efc00(in_stack_00000024,in_stack_00000010,in_stack_00000014,\n                                   *(undefined4 *)(in_stack_0000001c + local_48 * 8),0)" identifier = (call_expression "FUN_000efc00(in_stack_00000024,in_stack_00000010,in_stack_00000014,\n                                   *(undefined4 *)(in_stack_0000001c + local_48 * 8),0)" identifier (argument_list "(in_stack_00000024,in_stack_00000010,in_stack_00000014,\n                                   *(undefined4 *)(in_stack_0000001c + local_48 * 8),0)" ( identifier , identifier , identifier , (pointer_expression "*(undefined4 *)(in_stack_0000001c + local_48 * 8)" * (cast_expression "(undefined4 *)(in_stack_0000001c + local_48 * 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_stack_0000001c + local_48 * 8)" ( (binary_expression "in_stack_0000001c + local_48 * 8" identifier + (binary_expression "local_48 * 8" identifier * number_literal)) )))) , number_literal )))) , (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ))) )) )) (compound_statement "{\nLAB_00050750:\n        local_1d[0] = 8;\n        FUN_000563d0(in_stack_00000034,local_1d);\n        local_48 = local_48 + 1;\n        if (in_stack_00000020 == local_48) {\n          return;\n        }\n      }" { (labeled_statement "LAB_00050750:\n        local_1d[0] = 8;" statement_identifier : (expression_statement "local_1d[0] = 8;" (assignment_expression "local_1d[0] = 8" (subscript_expression "local_1d[0]" identifier [ number_literal ]) = number_literal) ;)) (expression_statement "FUN_000563d0(in_stack_00000034,local_1d);" (call_expression "FUN_000563d0(in_stack_00000034,local_1d)" identifier (argument_list "(in_stack_00000034,local_1d)" ( identifier , identifier ))) ;) (expression_statement "local_48 = local_48 + 1;" (assignment_expression "local_48 = local_48 + 1" identifier = (binary_expression "local_48 + 1" identifier + number_literal)) ;) (if_statement "if (in_stack_00000020 == local_48) {\n          return;\n        }" if (parenthesized_expression "(in_stack_00000020 == local_48)" ( (binary_expression "in_stack_00000020 == local_48" identifier == identifier) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) })) (expression_statement "uVar1 = *(uint *)(in_stack_0000001c + 4 + local_48 * 8);" (assignment_expression "uVar1 = *(uint *)(in_stack_0000001c + 4 + local_48 * 8)" identifier = (pointer_expression "*(uint *)(in_stack_0000001c + 4 + local_48 * 8)" * (cast_expression "(uint *)(in_stack_0000001c + 4 + local_48 * 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_stack_0000001c + 4 + local_48 * 8)" ( (binary_expression "in_stack_0000001c + 4 + local_48 * 8" (binary_expression "in_stack_0000001c + 4" identifier + number_literal) + (binary_expression "local_48 * 8" identifier * number_literal)) ))))) ;) (expression_statement "uVar7 = uVar1 >> 8;" (assignment_expression "uVar7 = uVar1 >> 8" identifier = (binary_expression "uVar1 >> 8" identifier >> number_literal)) ;) (if_statement "if (uVar7 < in_stack_0000002c) {\n        if (in_stack_00000030 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620(unaff_EBP + 0x1faf23,0x2e4,unaff_EBP + 0x1fce4e);\n        }\n        iVar5 = in_stack_00000030 + uVar7 * 0x10;\n        uVar6 = (uint)*(ushort *)(iVar5 + 0xe);\n        if (uVar6 < 0xff00) {\nLAB_00050725:\n          if (uVar6 != 0) {\n            if ((uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2) <= uVar6) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6);\n            }\n            if (*(int *)(in_stack_00000010[0xe] + uVar6 * 4) == 0) goto LAB_00050750;\n          }\n        }\n        else if (uVar6 == 0xffff) {\n          iVar4 = in_stack_00000010[0xc];\n          if (iVar4 == 0) {\n            iVar4 = (**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010);\n            in_stack_00000010[0xc] = iVar4;\n          }\n          uVar6 = FUN_000beba0(iVar4,in_stack_00000010,uVar7);\n          goto LAB_00050725;\n        }\n        local_40 = (char)uVar1;\n        if ((*(byte *)(iVar5 + 0xc) & 0xf) == 3) {\n          uVar8 = FUN_000490f0();\n          if ((uint)uVar8 < 9) {\n                    /* WARNING: Could not recover jumptable at 0x000507a9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a))();\n            return;\n          }\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620(unaff_EBP + 0x1faf23,0x276,unaff_EBP + 0x1fce36,\n                       (int)((ulonglong)uVar8 >> 0x20));\n        }\n        if (local_40 == '\0' && uVar7 == 0) goto LAB_00050750;\n        if ((uint)(in_stack_00000010[0x38] - in_stack_00000010[0x37] >> 4) <= uVar7) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x8e3,unaff_EBP + 0x1fceca);\n        }\n        piVar3 = (int *)(in_stack_00000010[0x37] + uVar7 * 0x10);\n        iVar5 = *piVar3;\n        if ((iVar5 != 0) && (iVar5 != -2)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x71f,unaff_EBP + 0x1fce8a);\n        }\n        *piVar3 = -2;\n      }" if (parenthesized_expression "(uVar7 < in_stack_0000002c)" ( (binary_expression "uVar7 < in_stack_0000002c" identifier < identifier) )) (compound_statement "{\n        if (in_stack_00000030 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620(unaff_EBP + 0x1faf23,0x2e4,unaff_EBP + 0x1fce4e);\n        }\n        iVar5 = in_stack_00000030 + uVar7 * 0x10;\n        uVar6 = (uint)*(ushort *)(iVar5 + 0xe);\n        if (uVar6 < 0xff00) {\nLAB_00050725:\n          if (uVar6 != 0) {\n            if ((uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2) <= uVar6) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6);\n            }\n            if (*(int *)(in_stack_00000010[0xe] + uVar6 * 4) == 0) goto LAB_00050750;\n          }\n        }\n        else if (uVar6 == 0xffff) {\n          iVar4 = in_stack_00000010[0xc];\n          if (iVar4 == 0) {\n            iVar4 = (**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010);\n            in_stack_00000010[0xc] = iVar4;\n          }\n          uVar6 = FUN_000beba0(iVar4,in_stack_00000010,uVar7);\n          goto LAB_00050725;\n        }\n        local_40 = (char)uVar1;\n        if ((*(byte *)(iVar5 + 0xc) & 0xf) == 3) {\n          uVar8 = FUN_000490f0();\n          if ((uint)uVar8 < 9) {\n                    /* WARNING: Could not recover jumptable at 0x000507a9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a))();\n            return;\n          }\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620(unaff_EBP + 0x1faf23,0x276,unaff_EBP + 0x1fce36,\n                       (int)((ulonglong)uVar8 >> 0x20));\n        }\n        if (local_40 == '\0' && uVar7 == 0) goto LAB_00050750;\n        if ((uint)(in_stack_00000010[0x38] - in_stack_00000010[0x37] >> 4) <= uVar7) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x8e3,unaff_EBP + 0x1fceca);\n        }\n        piVar3 = (int *)(in_stack_00000010[0x37] + uVar7 * 0x10);\n        iVar5 = *piVar3;\n        if ((iVar5 != 0) && (iVar5 != -2)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x71f,unaff_EBP + 0x1fce8a);\n        }\n        *piVar3 = -2;\n      }" { (if_statement "if (in_stack_00000030 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620(unaff_EBP + 0x1faf23,0x2e4,unaff_EBP + 0x1fce4e);\n        }" if (parenthesized_expression "(in_stack_00000030 == 0)" ( (binary_expression "in_stack_00000030 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620(unaff_EBP + 0x1faf23,0x2e4,unaff_EBP + 0x1fce4e);\n        }" { comment (expression_statement "FUN_0008b620(unaff_EBP + 0x1faf23,0x2e4,unaff_EBP + 0x1fce4e);" (call_expression "FUN_0008b620(unaff_EBP + 0x1faf23,0x2e4,unaff_EBP + 0x1fce4e)" identifier (argument_list "(unaff_EBP + 0x1faf23,0x2e4,unaff_EBP + 0x1fce4e)" ( (binary_expression "unaff_EBP + 0x1faf23" identifier + number_literal) , number_literal , (binary_expression "unaff_EBP + 0x1fce4e" identifier + number_literal) ))) ;) })) (expression_statement "iVar5 = in_stack_00000030 + uVar7 * 0x10;" (assignment_expression "iVar5 = in_stack_00000030 + uVar7 * 0x10" identifier = (binary_expression "in_stack_00000030 + uVar7 * 0x10" identifier + (binary_expression "uVar7 * 0x10" identifier * number_literal))) ;) (expression_statement "uVar6 = (uint)*(ushort *)(iVar5 + 0xe);" (assignment_expression "uVar6 = (uint)*(ushort *)(iVar5 + 0xe)" identifier = (binary_expression "(uint)*(ushort *)(iVar5 + 0xe)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)(iVar5 + 0xe)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0xe)" ( (binary_expression "iVar5 + 0xe" identifier + number_literal) ))))) ;) (if_statement "if (uVar6 < 0xff00) {\nLAB_00050725:\n          if (uVar6 != 0) {\n            if ((uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2) <= uVar6) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6);\n            }\n            if (*(int *)(in_stack_00000010[0xe] + uVar6 * 4) == 0) goto LAB_00050750;\n          }\n        }\n        else if (uVar6 == 0xffff) {\n          iVar4 = in_stack_00000010[0xc];\n          if (iVar4 == 0) {\n            iVar4 = (**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010);\n            in_stack_00000010[0xc] = iVar4;\n          }\n          uVar6 = FUN_000beba0(iVar4,in_stack_00000010,uVar7);\n          goto LAB_00050725;\n        }" if (parenthesized_expression "(uVar6 < 0xff00)" ( (binary_expression "uVar6 < 0xff00" identifier < number_literal) )) (compound_statement "{\nLAB_00050725:\n          if (uVar6 != 0) {\n            if ((uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2) <= uVar6) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6);\n            }\n            if (*(int *)(in_stack_00000010[0xe] + uVar6 * 4) == 0) goto LAB_00050750;\n          }\n        }" { (labeled_statement "LAB_00050725:\n          if (uVar6 != 0) {\n            if ((uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2) <= uVar6) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6);\n            }\n            if (*(int *)(in_stack_00000010[0xe] + uVar6 * 4) == 0) goto LAB_00050750;\n          }" statement_identifier : (if_statement "if (uVar6 != 0) {\n            if ((uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2) <= uVar6) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6);\n            }\n            if (*(int *)(in_stack_00000010[0xe] + uVar6 * 4) == 0) goto LAB_00050750;\n          }" if (parenthesized_expression "(uVar6 != 0)" ( (binary_expression "uVar6 != 0" identifier != number_literal) )) (compound_statement "{\n            if ((uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2) <= uVar6) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6);\n            }\n            if (*(int *)(in_stack_00000010[0xe] + uVar6 * 4) == 0) goto LAB_00050750;\n          }" { (if_statement "if ((uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2) <= uVar6) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6);\n            }" if (parenthesized_expression "((uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2) <= uVar6)" ( (binary_expression "(uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2) <= uVar6" (call_expression "(uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2)" ( (binary_expression "in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2" (binary_expression "in_stack_00000010[0xf] - in_stack_00000010[0xe]" (subscript_expression "in_stack_00000010[0xf]" identifier [ number_literal ]) - (subscript_expression "in_stack_00000010[0xe]" identifier [ number_literal ])) >> number_literal) ))) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6);\n            }" { comment (expression_statement "FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6);" (call_expression "FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6)" identifier (argument_list "(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6)" ( (binary_expression "unaff_EBP + 0x1fadcf" identifier + number_literal) , number_literal , (binary_expression "unaff_EBP + 0x1fceee" identifier + number_literal) , identifier ))) ;) })) (if_statement "if (*(int *)(in_stack_00000010[0xe] + uVar6 * 4) == 0) goto LAB_00050750;" if (parenthesized_expression "(*(int *)(in_stack_00000010[0xe] + uVar6 * 4) == 0)" ( (binary_expression "*(int *)(in_stack_00000010[0xe] + uVar6 * 4) == 0" (pointer_expression "*(int *)(in_stack_00000010[0xe] + uVar6 * 4)" * (cast_expression "(int *)(in_stack_00000010[0xe] + uVar6 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_stack_00000010[0xe] + uVar6 * 4)" ( (binary_expression "in_stack_00000010[0xe] + uVar6 * 4" (subscript_expression "in_stack_00000010[0xe]" identifier [ number_literal ]) + (binary_expression "uVar6 * 4" identifier * number_literal)) )))) == number_literal) )) (goto_statement "goto LAB_00050750;" goto statement_identifier ;)) }))) }) (else_clause "else if (uVar6 == 0xffff) {\n          iVar4 = in_stack_00000010[0xc];\n          if (iVar4 == 0) {\n            iVar4 = (**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010);\n            in_stack_00000010[0xc] = iVar4;\n          }\n          uVar6 = FUN_000beba0(iVar4,in_stack_00000010,uVar7);\n          goto LAB_00050725;\n        }" else (if_statement "if (uVar6 == 0xffff) {\n          iVar4 = in_stack_00000010[0xc];\n          if (iVar4 == 0) {\n            iVar4 = (**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010);\n            in_stack_00000010[0xc] = iVar4;\n          }\n          uVar6 = FUN_000beba0(iVar4,in_stack_00000010,uVar7);\n          goto LAB_00050725;\n        }" if (parenthesized_expression "(uVar6 == 0xffff)" ( (binary_expression "uVar6 == 0xffff" identifier == number_literal) )) (compound_statement "{\n          iVar4 = in_stack_00000010[0xc];\n          if (iVar4 == 0) {\n            iVar4 = (**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010);\n            in_stack_00000010[0xc] = iVar4;\n          }\n          uVar6 = FUN_000beba0(iVar4,in_stack_00000010,uVar7);\n          goto LAB_00050725;\n        }" { (expression_statement "iVar4 = in_stack_00000010[0xc];" (assignment_expression "iVar4 = in_stack_00000010[0xc]" identifier = (subscript_expression "in_stack_00000010[0xc]" identifier [ number_literal ])) ;) (if_statement "if (iVar4 == 0) {\n            iVar4 = (**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010);\n            in_stack_00000010[0xc] = iVar4;\n          }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n            iVar4 = (**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010);\n            in_stack_00000010[0xc] = iVar4;\n          }" { (expression_statement "iVar4 = (**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010);" (assignment_expression "iVar4 = (**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010)" identifier = (call_expression "(**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010)" (parenthesized_expression "(**(code **)(*in_stack_00000010 + 0x6c))" ( (pointer_expression "**(code **)(*in_stack_00000010 + 0x6c)" * (pointer_expression "*(code **)(*in_stack_00000010 + 0x6c)" * (cast_expression "(code **)(*in_stack_00000010 + 0x6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*in_stack_00000010 + 0x6c)" ( (binary_expression "*in_stack_00000010 + 0x6c" (pointer_expression "*in_stack_00000010" * identifier) + number_literal) ))))) )) (argument_list "(in_stack_00000010)" ( identifier )))) ;) (expression_statement "in_stack_00000010[0xc] = iVar4;" (assignment_expression "in_stack_00000010[0xc] = iVar4" (subscript_expression "in_stack_00000010[0xc]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "uVar6 = FUN_000beba0(iVar4,in_stack_00000010,uVar7);" (assignment_expression "uVar6 = FUN_000beba0(iVar4,in_stack_00000010,uVar7)" identifier = (call_expression "FUN_000beba0(iVar4,in_stack_00000010,uVar7)" identifier (argument_list "(iVar4,in_stack_00000010,uVar7)" ( identifier , identifier , identifier )))) ;) (goto_statement "goto LAB_00050725;" goto statement_identifier ;) })))) (expression_statement "local_40 = (char)uVar1;" (assignment_expression "local_40 = (char)uVar1" identifier = (cast_expression "(char)uVar1" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (if_statement "if ((*(byte *)(iVar5 + 0xc) & 0xf) == 3) {\n          uVar8 = FUN_000490f0();\n          if ((uint)uVar8 < 9) {\n                    /* WARNING: Could not recover jumptable at 0x000507a9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a))();\n            return;\n          }\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620(unaff_EBP + 0x1faf23,0x276,unaff_EBP + 0x1fce36,\n                       (int)((ulonglong)uVar8 >> 0x20));\n        }" if (parenthesized_expression "((*(byte *)(iVar5 + 0xc) & 0xf) == 3)" ( (binary_expression "(*(byte *)(iVar5 + 0xc) & 0xf) == 3" (parenthesized_expression "(*(byte *)(iVar5 + 0xc) & 0xf)" ( (binary_expression "*(byte *)(iVar5 + 0xc) & 0xf" (pointer_expression "*(byte *)(iVar5 + 0xc)" * (cast_expression "(byte *)(iVar5 + 0xc)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0xc)" ( (binary_expression "iVar5 + 0xc" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n          uVar8 = FUN_000490f0();\n          if ((uint)uVar8 < 9) {\n                    /* WARNING: Could not recover jumptable at 0x000507a9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a))();\n            return;\n          }\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620(unaff_EBP + 0x1faf23,0x276,unaff_EBP + 0x1fce36,\n                       (int)((ulonglong)uVar8 >> 0x20));\n        }" { (expression_statement "uVar8 = FUN_000490f0();" (assignment_expression "uVar8 = FUN_000490f0()" identifier = (call_expression "FUN_000490f0()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((uint)uVar8 < 9) {\n                    /* WARNING: Could not recover jumptable at 0x000507a9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a))();\n            return;\n          }" if (parenthesized_expression "((uint)uVar8 < 9)" ( (binary_expression "(uint)uVar8 < 9" (cast_expression "(uint)uVar8" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x000507a9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a))();\n            return;\n          }" { comment comment (expression_statement "(*(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a))();" (call_expression "(*(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a))()" (parenthesized_expression "(*(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a))" ( (pointer_expression "*(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a)" * (cast_expression "(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a)" ( (binary_expression "*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a" (binary_expression "*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP" (pointer_expression "*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4)" * (cast_expression "(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4)" ( (binary_expression "unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4" (binary_expression "unaff_EBP + 0x1fbfd6" identifier + number_literal) + (binary_expression "(uint)uVar8 * 4" (cast_expression "(uint)uVar8" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) )))) + identifier) + number_literal) )))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) comment (expression_statement "FUN_0008b620(unaff_EBP + 0x1faf23,0x276,unaff_EBP + 0x1fce36,\n                       (int)((ulonglong)uVar8 >> 0x20));" (call_expression "FUN_0008b620(unaff_EBP + 0x1faf23,0x276,unaff_EBP + 0x1fce36,\n                       (int)((ulonglong)uVar8 >> 0x20))" identifier (argument_list "(unaff_EBP + 0x1faf23,0x276,unaff_EBP + 0x1fce36,\n                       (int)((ulonglong)uVar8 >> 0x20))" ( (binary_expression "unaff_EBP + 0x1faf23" identifier + number_literal) , number_literal , (binary_expression "unaff_EBP + 0x1fce36" identifier + number_literal) , (cast_expression "(int)((ulonglong)uVar8 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar8 >> 0x20)" ( (binary_expression "(ulonglong)uVar8 >> 0x20" (cast_expression "(ulonglong)uVar8" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) ))) ;) })) (if_statement "if (local_40 == '\0' && uVar7 == 0) goto LAB_00050750;" if (parenthesized_expression "(local_40 == '\0' && uVar7 == 0)" ( (binary_expression "local_40 == '\0' && uVar7 == 0" (binary_expression "local_40 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) && (binary_expression "uVar7 == 0" identifier == number_literal)) )) (goto_statement "goto LAB_00050750;" goto statement_identifier ;)) (if_statement "if ((uint)(in_stack_00000010[0x38] - in_stack_00000010[0x37] >> 4) <= uVar7) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x8e3,unaff_EBP + 0x1fceca);\n        }" if (parenthesized_expression "((uint)(in_stack_00000010[0x38] - in_stack_00000010[0x37] >> 4) <= uVar7)" ( (binary_expression "(uint)(in_stack_00000010[0x38] - in_stack_00000010[0x37] >> 4) <= uVar7" (call_expression "(uint)(in_stack_00000010[0x38] - in_stack_00000010[0x37] >> 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(in_stack_00000010[0x38] - in_stack_00000010[0x37] >> 4)" ( (binary_expression "in_stack_00000010[0x38] - in_stack_00000010[0x37] >> 4" (binary_expression "in_stack_00000010[0x38] - in_stack_00000010[0x37]" (subscript_expression "in_stack_00000010[0x38]" identifier [ number_literal ]) - (subscript_expression "in_stack_00000010[0x37]" identifier [ number_literal ])) >> number_literal) ))) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x8e3,unaff_EBP + 0x1fceca);\n        }" { comment (expression_statement "FUN_0008b620(unaff_EBP + 0x1fadcf,0x8e3,unaff_EBP + 0x1fceca);" (call_expression "FUN_0008b620(unaff_EBP + 0x1fadcf,0x8e3,unaff_EBP + 0x1fceca)" identifier (argument_list "(unaff_EBP + 0x1fadcf,0x8e3,unaff_EBP + 0x1fceca)" ( (binary_expression "unaff_EBP + 0x1fadcf" identifier + number_literal) , number_literal , (binary_expression "unaff_EBP + 0x1fceca" identifier + number_literal) ))) ;) })) (expression_statement "piVar3 = (int *)(in_stack_00000010[0x37] + uVar7 * 0x10);" (assignment_expression "piVar3 = (int *)(in_stack_00000010[0x37] + uVar7 * 0x10)" identifier = (cast_expression "(int *)(in_stack_00000010[0x37] + uVar7 * 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_stack_00000010[0x37] + uVar7 * 0x10)" ( (binary_expression "in_stack_00000010[0x37] + uVar7 * 0x10" (subscript_expression "in_stack_00000010[0x37]" identifier [ number_literal ]) + (binary_expression "uVar7 * 0x10" identifier * number_literal)) )))) ;) (expression_statement "iVar5 = *piVar3;" (assignment_expression "iVar5 = *piVar3" identifier = (pointer_expression "*piVar3" * identifier)) ;) (if_statement "if ((iVar5 != 0) && (iVar5 != -2)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x71f,unaff_EBP + 0x1fce8a);\n        }" if (parenthesized_expression "((iVar5 != 0) && (iVar5 != -2))" ( (binary_expression "(iVar5 != 0) && (iVar5 != -2)" (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar5 != -2)" ( (binary_expression "iVar5 != -2" identifier != number_literal) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x71f,unaff_EBP + 0x1fce8a);\n        }" { comment (expression_statement "FUN_0008b620(unaff_EBP + 0x1fadcf,0x71f,unaff_EBP + 0x1fce8a);" (call_expression "FUN_0008b620(unaff_EBP + 0x1fadcf,0x71f,unaff_EBP + 0x1fce8a)" identifier (argument_list "(unaff_EBP + 0x1fadcf,0x71f,unaff_EBP + 0x1fce8a)" ( (binary_expression "unaff_EBP + 0x1fadcf" identifier + number_literal) , number_literal , (binary_expression "unaff_EBP + 0x1fce8a" identifier + number_literal) ))) ;) })) (expression_statement "*piVar3 = -2;" (assignment_expression "*piVar3 = -2" (pointer_expression "*piVar3" * identifier) = number_literal) ;) })) (expression_statement "local_1d[0] = 0;" (assignment_expression "local_1d[0] = 0" (subscript_expression "local_1d[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_000563d0(in_stack_00000034,local_1d);" (call_expression "FUN_000563d0(in_stack_00000034,local_1d)" identifier (argument_list "(in_stack_00000034,local_1d)" ( identifier , identifier ))) ;) (expression_statement "local_48 = local_48 + 1;" (assignment_expression "local_48 = local_48 + 1" identifier = (binary_expression "local_48 + 1" identifier + number_literal)) ;) (expression_statement "*(int *)(in_stack_00000034 + 0xc) = *(int *)(in_stack_00000034 + 0xc) + 1;" (assignment_expression "*(int *)(in_stack_00000034 + 0xc) = *(int *)(in_stack_00000034 + 0xc) + 1" (pointer_expression "*(int *)(in_stack_00000034 + 0xc)" * (cast_expression "(int *)(in_stack_00000034 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_stack_00000034 + 0xc)" ( (binary_expression "in_stack_00000034 + 0xc" identifier + number_literal) )))) = (binary_expression "*(int *)(in_stack_00000034 + 0xc) + 1" (pointer_expression "*(int *)(in_stack_00000034 + 0xc)" * (cast_expression "(int *)(in_stack_00000034 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_stack_00000034 + 0xc)" ( (binary_expression "in_stack_00000034 + 0xc" identifier + number_literal) )))) + number_literal)) ;) }) while (parenthesized_expression "(in_stack_00000020 != local_48)" ( (binary_expression "in_stack_00000020 != local_48" identifier != identifier) )) ;) })) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bp replaced with injection: get_pc_thunk.bp */\n/* WARNING: Enum "ELFOSABI": Some values do not have unique names */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* DWARF original prototype: void scan_relocatable_relocs(Target_i386 * this, Symbol_table * symtab,\n   Layout * layout, Sized_relobj_file<32,_false> * object, uint data_shndx, uint sh_type, uchar *\n   prelocs, size_t reloc_count, Output_section * output_section, bool needs_special_offset_handling,\n   size_t local_symbol_count, uchar * plocal_symbols, Relocatable_relocs * rr) */\n\nvoid __thiscall\nanon_unknown.dwarf_217836::Target_i386::scan_relocatable_relocs\n          (Target_i386 *this,Symbol_table *symtab,Layout *layout,\n          Sized_relobj_file<32,_false> *object,uint data_shndx,uint sh_type,uchar *prelocs,\n          size_t reloc_count,Output_section *output_section,bool needs_special_offset_handling,\n          size_t param_10,uchar *plocal_symbols,Relocatable_relocs *rr)\n\n{\n  undefined1 *puVar1;\n  pointer ppOVar2;\n  _func_int_varargs *p_Var3;\n  bool bVar4;\n  uint uVar5;\n  pointer pSVar6;\n  int iVar7;\n  Xindex *this_00;\n  uint uVar8;\n  uchar uVar9;\n  uint symndx;\n  size_t local_48;\n  uchar local_1d [13];\n  \n  if (sh_type != 9) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/i386.cc",0xed0,"scan_relocatable_relocs");\n  }\n  if (reloc_count != 0) {\n    local_48 = 0;\n    do {\n      while ((needs_special_offset_handling &&\n             (bVar4 = gold::Output_section::is_input_address_mapped\n                                (output_section,(Relobj *)object,data_shndx,\n                                 (ulonglong)*(uint *)(prelocs + local_48 * 8)), !bVar4))) {\nLAB_00050750:\n        local_1d[0] = '\b';\n        std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                  (&rr->reloc_strategies_,local_1d);\n        local_48 = local_48 + 1;\n        if (reloc_count == local_48) {\n          return;\n        }\n      }\n      uVar5 = *(uint *)(prelocs + local_48 * 8 + 4);\n      symndx = uVar5 >> 8;\n      if (symndx < param_10) {\n        if (plocal_symbols == (uchar *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");\n        }\n        uVar8 = (uint)*(ushort *)(plocal_symbols + symndx * 0x10 + 0xe);\n        if (uVar8 < 0xff00) {\nLAB_00050725:\n          if (uVar8 != 0) {\n            ppOVar2 = (object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;\n            if ((uint)((int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (int)ppOVar2 >> 2) <= uVar8) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n            }\n            if (ppOVar2[uVar8] == (Output_section *)0x0) goto LAB_00050750;\n          }\n        }\n        else if (uVar8 == 0xffff) {\n          this_00 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;\n          if (this_00 == (Xindex *)0x0) {\n            this_00 = (Xindex *)\n                      (*(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                        _vptr_Object[0x1b])(object);\n            (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_00;\n          }\n          uVar8 = gold::Xindex::sym_xindex_to_shndx(this_00,(Object *)object,symndx);\n          goto LAB_00050725;\n        }\n        uVar5 = uVar5 & 0xff;\n        if ((plocal_symbols[symndx * 0x10 + 0xc] & 0xf) != 3) {\n          if (uVar5 == 0 && symndx == 0) goto LAB_00050750;\n          pSVar6 = (object->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                   ._M_impl._M_start;\n          if ((uint)((int)(object->local_values_).\n                          super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                          ._M_impl._M_finish - (int)pSVar6 >> 4) <= symndx) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable\n                      ("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          pSVar6 = pSVar6 + symndx;\n          uVar5 = pSVar6->output_symtab_index_;\n          if ((uVar5 != 0) && (uVar5 != 0xfffffffe)) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable\n                      ("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          pSVar6->output_symtab_index_ = 0xfffffffe;\n          local_1d[0] = '\0';\n          goto LAB_0005060d;\n        }\n        uVar5 = Classify_reloc::get_size_for_reloc(uVar5,(Relobj *)object);\n        switch(uVar5) {\n        case 0:\n          uVar9 = '\x02';\n          break;\n        case 1:\n          uVar9 = '\x03';\n          p_Var3 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                   [0x18];\n          goto joined_r0x0005082e;\n        case 2:\n          uVar9 = '\x04';\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/target-reloc.h",0x276,"local_section_strategy");\n        case 4:\n          uVar9 = '\x05';\n          break;\n        case 8:\n          uVar9 = '\x06';\n        }\n        p_Var3 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                 [0x18];\njoined_r0x0005082e:\n        if (p_Var3 == gold::Relobj::do_output_section) {\n          ppOVar2 = (object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n          if ((uint)((int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_finish - (int)ppOVar2 >> 2) <= uVar8) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          puVar1 = &ppOVar2[uVar8]->field_0x90;\n          *puVar1 = *puVar1 | 1;\n          local_1d[0] = uVar9;\n        }\n        else {\n          iVar7 = (*p_Var3)(object,uVar8);\n          *(byte *)(iVar7 + 0x90) = *(byte *)(iVar7 + 0x90) | 1;\n          local_1d[0] = uVar9;\n        }\n      }\n      else {\n        local_1d[0] = '\0';\n      }\nLAB_0005060d:\n      std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                (&rr->reloc_strategies_,local_1d);\n      local_48 = local_48 + 1;\n      rr->output_reloc_count_ = rr->output_reloc_count_ + 1;\n    } while (reloc_count != local_48);\n  }\n  return;\n}\n\n" comment comment comment comment (function_definition "void __thiscall\nanon_unknown.dwarf_217836::Target_i386::scan_relocatable_relocs\n          (Target_i386 *this,Symbol_table *symtab,Layout *layout,\n          Sized_relobj_file<32,_false> *object,uint data_shndx,uint sh_type,uchar *prelocs,\n          size_t reloc_count,Output_section *output_section,bool needs_special_offset_handling,\n          size_t param_10,uchar *plocal_symbols,Relocatable_relocs *rr)\n\n{\n  undefined1 *puVar1;\n  pointer ppOVar2;\n  _func_int_varargs *p_Var3;\n  bool bVar4;\n  uint uVar5;\n  pointer pSVar6;\n  int iVar7;\n  Xindex *this_00;\n  uint uVar8;\n  uchar uVar9;\n  uint symndx;\n  size_t local_48;\n  uchar local_1d [13];\n  \n  if (sh_type != 9) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/i386.cc",0xed0,"scan_relocatable_relocs");\n  }\n  if (reloc_count != 0) {\n    local_48 = 0;\n    do {\n      while ((needs_special_offset_handling &&\n             (bVar4 = gold::Output_section::is_input_address_mapped\n                                (output_section,(Relobj *)object,data_shndx,\n                                 (ulonglong)*(uint *)(prelocs + local_48 * 8)), !bVar4))) {\nLAB_00050750:\n        local_1d[0] = '\b';\n        std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                  (&rr->reloc_strategies_,local_1d);\n        local_48 = local_48 + 1;\n        if (reloc_count == local_48) {\n          return;\n        }\n      }\n      uVar5 = *(uint *)(prelocs + local_48 * 8 + 4);\n      symndx = uVar5 >> 8;\n      if (symndx < param_10) {\n        if (plocal_symbols == (uchar *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");\n        }\n        uVar8 = (uint)*(ushort *)(plocal_symbols + symndx * 0x10 + 0xe);\n        if (uVar8 < 0xff00) {\nLAB_00050725:\n          if (uVar8 != 0) {\n            ppOVar2 = (object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;\n            if ((uint)((int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (int)ppOVar2 >> 2) <= uVar8) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n            }\n            if (ppOVar2[uVar8] == (Output_section *)0x0) goto LAB_00050750;\n          }\n        }\n        else if (uVar8 == 0xffff) {\n          this_00 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;\n          if (this_00 == (Xindex *)0x0) {\n            this_00 = (Xindex *)\n                      (*(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                        _vptr_Object[0x1b])(object);\n            (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_00;\n          }\n          uVar8 = gold::Xindex::sym_xindex_to_shndx(this_00,(Object *)object,symndx);\n          goto LAB_00050725;\n        }\n        uVar5 = uVar5 & 0xff;\n        if ((plocal_symbols[symndx * 0x10 + 0xc] & 0xf) != 3) {\n          if (uVar5 == 0 && symndx == 0) goto LAB_00050750;\n          pSVar6 = (object->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                   ._M_impl._M_start;\n          if ((uint)((int)(object->local_values_).\n                          super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                          ._M_impl._M_finish - (int)pSVar6 >> 4) <= symndx) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable\n                      ("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          pSVar6 = pSVar6 + symndx;\n          uVar5 = pSVar6->output_symtab_index_;\n          if ((uVar5 != 0) && (uVar5 != 0xfffffffe)) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable\n                      ("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          pSVar6->output_symtab_index_ = 0xfffffffe;\n          local_1d[0] = '\0';\n          goto LAB_0005060d;\n        }\n        uVar5 = Classify_reloc::get_size_for_reloc(uVar5,(Relobj *)object);\n        switch(uVar5) {\n        case 0:\n          uVar9 = '\x02';\n          break;\n        case 1:\n          uVar9 = '\x03';\n          p_Var3 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                   [0x18];\n          goto joined_r0x0005082e;\n        case 2:\n          uVar9 = '\x04';\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/target-reloc.h",0x276,"local_section_strategy");\n        case 4:\n          uVar9 = '\x05';\n          break;\n        case 8:\n          uVar9 = '\x06';\n        }\n        p_Var3 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                 [0x18];\njoined_r0x0005082e:\n        if (p_Var3 == gold::Relobj::do_output_section) {\n          ppOVar2 = (object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n          if ((uint)((int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_finish - (int)ppOVar2 >> 2) <= uVar8) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          puVar1 = &ppOVar2[uVar8]->field_0x90;\n          *puVar1 = *puVar1 | 1;\n          local_1d[0] = uVar9;\n        }\n        else {\n          iVar7 = (*p_Var3)(object,uVar8);\n          *(byte *)(iVar7 + 0x90) = *(byte *)(iVar7 + 0x90) | 1;\n          local_1d[0] = uVar9;\n        }\n      }\n      else {\n        local_1d[0] = '\0';\n      }\nLAB_0005060d:\n      std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                (&rr->reloc_strategies_,local_1d);\n      local_48 = local_48 + 1;\n      rr->output_reloc_count_ = rr->output_reloc_count_ + 1;\n    } while (reloc_count != local_48);\n  }\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "anon_unknown.dwarf_217836::Target_i386::" identifier . identifier : : identifier : :) (function_declarator "scan_relocatable_relocs\n          (Target_i386 *this,Symbol_table *symtab,Layout *layout,\n          Sized_relobj_file<32,_false> *object,uint data_shndx,uint sh_type,uchar *prelocs,\n          size_t reloc_count,Output_section *output_section,bool needs_special_offset_handling,\n          size_t param_10,uchar *plocal_symbols,Relocatable_relocs *rr)" identifier (parameter_list "(Target_i386 *this,Symbol_table *symtab,Layout *layout,\n          Sized_relobj_file<32,_false> *object,uint data_shndx,uint sh_type,uchar *prelocs,\n          size_t reloc_count,Output_section *output_section,bool needs_special_offset_handling,\n          size_t param_10,uchar *plocal_symbols,Relocatable_relocs *rr)" ( (parameter_declaration "Target_i386 *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Symbol_table *symtab" type_identifier (pointer_declarator "*symtab" * identifier)) , (parameter_declaration "Layout *layout" type_identifier (pointer_declarator "*layout" * identifier)) , (parameter_declaration "Sized_relobj_file" type_identifier) (ERROR "<32" < number_literal) , (parameter_declaration "_false> *object" type_identifier (ERROR ">" >) (pointer_declarator "*object" * identifier)) , (parameter_declaration "uint data_shndx" type_identifier identifier) , (parameter_declaration "uint sh_type" type_identifier identifier) , (parameter_declaration "uchar *prelocs" type_identifier (pointer_declarator "*prelocs" * identifier)) , (parameter_declaration "size_t reloc_count" primitive_type identifier) , (parameter_declaration "Output_section *output_section" type_identifier (pointer_declarator "*output_section" * identifier)) , (parameter_declaration "bool needs_special_offset_handling" primitive_type identifier) , (parameter_declaration "size_t param_10" primitive_type identifier) , (parameter_declaration "uchar *plocal_symbols" type_identifier (pointer_declarator "*plocal_symbols" * identifier)) , (parameter_declaration "Relocatable_relocs *rr" type_identifier (pointer_declarator "*rr" * identifier)) ))) (compound_statement "{\n  undefined1 *puVar1;\n  pointer ppOVar2;\n  _func_int_varargs *p_Var3;\n  bool bVar4;\n  uint uVar5;\n  pointer pSVar6;\n  int iVar7;\n  Xindex *this_00;\n  uint uVar8;\n  uchar uVar9;\n  uint symndx;\n  size_t local_48;\n  uchar local_1d [13];\n  \n  if (sh_type != 9) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/i386.cc",0xed0,"scan_relocatable_relocs");\n  }\n  if (reloc_count != 0) {\n    local_48 = 0;\n    do {\n      while ((needs_special_offset_handling &&\n             (bVar4 = gold::Output_section::is_input_address_mapped\n                                (output_section,(Relobj *)object,data_shndx,\n                                 (ulonglong)*(uint *)(prelocs + local_48 * 8)), !bVar4))) {\nLAB_00050750:\n        local_1d[0] = '\b';\n        std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                  (&rr->reloc_strategies_,local_1d);\n        local_48 = local_48 + 1;\n        if (reloc_count == local_48) {\n          return;\n        }\n      }\n      uVar5 = *(uint *)(prelocs + local_48 * 8 + 4);\n      symndx = uVar5 >> 8;\n      if (symndx < param_10) {\n        if (plocal_symbols == (uchar *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");\n        }\n        uVar8 = (uint)*(ushort *)(plocal_symbols + symndx * 0x10 + 0xe);\n        if (uVar8 < 0xff00) {\nLAB_00050725:\n          if (uVar8 != 0) {\n            ppOVar2 = (object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;\n            if ((uint)((int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (int)ppOVar2 >> 2) <= uVar8) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n            }\n            if (ppOVar2[uVar8] == (Output_section *)0x0) goto LAB_00050750;\n          }\n        }\n        else if (uVar8 == 0xffff) {\n          this_00 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;\n          if (this_00 == (Xindex *)0x0) {\n            this_00 = (Xindex *)\n                      (*(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                        _vptr_Object[0x1b])(object);\n            (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_00;\n          }\n          uVar8 = gold::Xindex::sym_xindex_to_shndx(this_00,(Object *)object,symndx);\n          goto LAB_00050725;\n        }\n        uVar5 = uVar5 & 0xff;\n        if ((plocal_symbols[symndx * 0x10 + 0xc] & 0xf) != 3) {\n          if (uVar5 == 0 && symndx == 0) goto LAB_00050750;\n          pSVar6 = (object->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                   ._M_impl._M_start;\n          if ((uint)((int)(object->local_values_).\n                          super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                          ._M_impl._M_finish - (int)pSVar6 >> 4) <= symndx) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable\n                      ("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          pSVar6 = pSVar6 + symndx;\n          uVar5 = pSVar6->output_symtab_index_;\n          if ((uVar5 != 0) && (uVar5 != 0xfffffffe)) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable\n                      ("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          pSVar6->output_symtab_index_ = 0xfffffffe;\n          local_1d[0] = '\0';\n          goto LAB_0005060d;\n        }\n        uVar5 = Classify_reloc::get_size_for_reloc(uVar5,(Relobj *)object);\n        switch(uVar5) {\n        case 0:\n          uVar9 = '\x02';\n          break;\n        case 1:\n          uVar9 = '\x03';\n          p_Var3 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                   [0x18];\n          goto joined_r0x0005082e;\n        case 2:\n          uVar9 = '\x04';\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/target-reloc.h",0x276,"local_section_strategy");\n        case 4:\n          uVar9 = '\x05';\n          break;\n        case 8:\n          uVar9 = '\x06';\n        }\n        p_Var3 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                 [0x18];\njoined_r0x0005082e:\n        if (p_Var3 == gold::Relobj::do_output_section) {\n          ppOVar2 = (object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n          if ((uint)((int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_finish - (int)ppOVar2 >> 2) <= uVar8) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          puVar1 = &ppOVar2[uVar8]->field_0x90;\n          *puVar1 = *puVar1 | 1;\n          local_1d[0] = uVar9;\n        }\n        else {\n          iVar7 = (*p_Var3)(object,uVar8);\n          *(byte *)(iVar7 + 0x90) = *(byte *)(iVar7 + 0x90) | 1;\n          local_1d[0] = uVar9;\n        }\n      }\n      else {\n        local_1d[0] = '\0';\n      }\nLAB_0005060d:\n      std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                (&rr->reloc_strategies_,local_1d);\n      local_48 = local_48 + 1;\n      rr->output_reloc_count_ = rr->output_reloc_count_ + 1;\n    } while (reloc_count != local_48);\n  }\n  return;\n}" { (declaration "undefined1 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "pointer ppOVar2;" type_identifier identifier ;) (declaration "_func_int_varargs *p_Var3;" type_identifier (pointer_declarator "*p_Var3" * identifier) ;) (declaration "bool bVar4;" primitive_type identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "pointer pSVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "Xindex *this_00;" type_identifier (pointer_declarator "*this_00" * identifier) ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "uchar uVar9;" type_identifier identifier ;) (declaration "uint symndx;" type_identifier identifier ;) (declaration "size_t local_48;" primitive_type identifier ;) (declaration "uchar local_1d [13];" type_identifier (array_declarator "local_1d [13]" identifier [ number_literal ]) ;) (if_statement "if (sh_type != 9) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/i386.cc",0xed0,"scan_relocatable_relocs");\n  }" if (parenthesized_expression "(sh_type != 9)" ( (binary_expression "sh_type != 9" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/i386.cc",0xed0,"scan_relocatable_relocs");\n  }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/i386.cc",0xed0,"scan_relocatable_relocs");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/i386.cc",0xed0,"scan_relocatable_relocs");" (call_expression "do_gold_unreachable("../../gold/i386.cc",0xed0,"scan_relocatable_relocs")" identifier (argument_list "("../../gold/i386.cc",0xed0,"scan_relocatable_relocs")" ( (string_literal ""../../gold/i386.cc"" " string_content ") , number_literal , (string_literal ""scan_relocatable_relocs"" " string_content ") ))) ;)) })) (if_statement "if (reloc_count != 0) {\n    local_48 = 0;\n    do {\n      while ((needs_special_offset_handling &&\n             (bVar4 = gold::Output_section::is_input_address_mapped\n                                (output_section,(Relobj *)object,data_shndx,\n                                 (ulonglong)*(uint *)(prelocs + local_48 * 8)), !bVar4))) {\nLAB_00050750:\n        local_1d[0] = '\b';\n        std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                  (&rr->reloc_strategies_,local_1d);\n        local_48 = local_48 + 1;\n        if (reloc_count == local_48) {\n          return;\n        }\n      }\n      uVar5 = *(uint *)(prelocs + local_48 * 8 + 4);\n      symndx = uVar5 >> 8;\n      if (symndx < param_10) {\n        if (plocal_symbols == (uchar *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");\n        }\n        uVar8 = (uint)*(ushort *)(plocal_symbols + symndx * 0x10 + 0xe);\n        if (uVar8 < 0xff00) {\nLAB_00050725:\n          if (uVar8 != 0) {\n            ppOVar2 = (object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;\n            if ((uint)((int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (int)ppOVar2 >> 2) <= uVar8) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n            }\n            if (ppOVar2[uVar8] == (Output_section *)0x0) goto LAB_00050750;\n          }\n        }\n        else if (uVar8 == 0xffff) {\n          this_00 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;\n          if (this_00 == (Xindex *)0x0) {\n            this_00 = (Xindex *)\n                      (*(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                        _vptr_Object[0x1b])(object);\n            (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_00;\n          }\n          uVar8 = gold::Xindex::sym_xindex_to_shndx(this_00,(Object *)object,symndx);\n          goto LAB_00050725;\n        }\n        uVar5 = uVar5 & 0xff;\n        if ((plocal_symbols[symndx * 0x10 + 0xc] & 0xf) != 3) {\n          if (uVar5 == 0 && symndx == 0) goto LAB_00050750;\n          pSVar6 = (object->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                   ._M_impl._M_start;\n          if ((uint)((int)(object->local_values_).\n                          super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                          ._M_impl._M_finish - (int)pSVar6 >> 4) <= symndx) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable\n                      ("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          pSVar6 = pSVar6 + symndx;\n          uVar5 = pSVar6->output_symtab_index_;\n          if ((uVar5 != 0) && (uVar5 != 0xfffffffe)) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable\n                      ("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          pSVar6->output_symtab_index_ = 0xfffffffe;\n          local_1d[0] = '\0';\n          goto LAB_0005060d;\n        }\n        uVar5 = Classify_reloc::get_size_for_reloc(uVar5,(Relobj *)object);\n        switch(uVar5) {\n        case 0:\n          uVar9 = '\x02';\n          break;\n        case 1:\n          uVar9 = '\x03';\n          p_Var3 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                   [0x18];\n          goto joined_r0x0005082e;\n        case 2:\n          uVar9 = '\x04';\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/target-reloc.h",0x276,"local_section_strategy");\n        case 4:\n          uVar9 = '\x05';\n          break;\n        case 8:\n          uVar9 = '\x06';\n        }\n        p_Var3 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                 [0x18];\njoined_r0x0005082e:\n        if (p_Var3 == gold::Relobj::do_output_section) {\n          ppOVar2 = (object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n          if ((uint)((int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_finish - (int)ppOVar2 >> 2) <= uVar8) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          puVar1 = &ppOVar2[uVar8]->field_0x90;\n          *puVar1 = *puVar1 | 1;\n          local_1d[0] = uVar9;\n        }\n        else {\n          iVar7 = (*p_Var3)(object,uVar8);\n          *(byte *)(iVar7 + 0x90) = *(byte *)(iVar7 + 0x90) | 1;\n          local_1d[0] = uVar9;\n        }\n      }\n      else {\n        local_1d[0] = '\0';\n      }\nLAB_0005060d:\n      std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                (&rr->reloc_strategies_,local_1d);\n      local_48 = local_48 + 1;\n      rr->output_reloc_count_ = rr->output_reloc_count_ + 1;\n    } while (reloc_count != local_48);\n  }" if (parenthesized_expression "(reloc_count != 0)" ( (binary_expression "reloc_count != 0" identifier != number_literal) )) (compound_statement "{\n    local_48 = 0;\n    do {\n      while ((needs_special_offset_handling &&\n             (bVar4 = gold::Output_section::is_input_address_mapped\n                                (output_section,(Relobj *)object,data_shndx,\n                                 (ulonglong)*(uint *)(prelocs + local_48 * 8)), !bVar4))) {\nLAB_00050750:\n        local_1d[0] = '\b';\n        std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                  (&rr->reloc_strategies_,local_1d);\n        local_48 = local_48 + 1;\n        if (reloc_count == local_48) {\n          return;\n        }\n      }\n      uVar5 = *(uint *)(prelocs + local_48 * 8 + 4);\n      symndx = uVar5 >> 8;\n      if (symndx < param_10) {\n        if (plocal_symbols == (uchar *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");\n        }\n        uVar8 = (uint)*(ushort *)(plocal_symbols + symndx * 0x10 + 0xe);\n        if (uVar8 < 0xff00) {\nLAB_00050725:\n          if (uVar8 != 0) {\n            ppOVar2 = (object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;\n            if ((uint)((int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (int)ppOVar2 >> 2) <= uVar8) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n            }\n            if (ppOVar2[uVar8] == (Output_section *)0x0) goto LAB_00050750;\n          }\n        }\n        else if (uVar8 == 0xffff) {\n          this_00 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;\n          if (this_00 == (Xindex *)0x0) {\n            this_00 = (Xindex *)\n                      (*(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                        _vptr_Object[0x1b])(object);\n            (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_00;\n          }\n          uVar8 = gold::Xindex::sym_xindex_to_shndx(this_00,(Object *)object,symndx);\n          goto LAB_00050725;\n        }\n        uVar5 = uVar5 & 0xff;\n        if ((plocal_symbols[symndx * 0x10 + 0xc] & 0xf) != 3) {\n          if (uVar5 == 0 && symndx == 0) goto LAB_00050750;\n          pSVar6 = (object->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                   ._M_impl._M_start;\n          if ((uint)((int)(object->local_values_).\n                          super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                          ._M_impl._M_finish - (int)pSVar6 >> 4) <= symndx) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable\n                      ("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          pSVar6 = pSVar6 + symndx;\n          uVar5 = pSVar6->output_symtab_index_;\n          if ((uVar5 != 0) && (uVar5 != 0xfffffffe)) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable\n                      ("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          pSVar6->output_symtab_index_ = 0xfffffffe;\n          local_1d[0] = '\0';\n          goto LAB_0005060d;\n        }\n        uVar5 = Classify_reloc::get_size_for_reloc(uVar5,(Relobj *)object);\n        switch(uVar5) {\n        case 0:\n          uVar9 = '\x02';\n          break;\n        case 1:\n          uVar9 = '\x03';\n          p_Var3 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                   [0x18];\n          goto joined_r0x0005082e;\n        case 2:\n          uVar9 = '\x04';\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/target-reloc.h",0x276,"local_section_strategy");\n        case 4:\n          uVar9 = '\x05';\n          break;\n        case 8:\n          uVar9 = '\x06';\n        }\n        p_Var3 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                 [0x18];\njoined_r0x0005082e:\n        if (p_Var3 == gold::Relobj::do_output_section) {\n          ppOVar2 = (object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n          if ((uint)((int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_finish - (int)ppOVar2 >> 2) <= uVar8) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          puVar1 = &ppOVar2[uVar8]->field_0x90;\n          *puVar1 = *puVar1 | 1;\n          local_1d[0] = uVar9;\n        }\n        else {\n          iVar7 = (*p_Var3)(object,uVar8);\n          *(byte *)(iVar7 + 0x90) = *(byte *)(iVar7 + 0x90) | 1;\n          local_1d[0] = uVar9;\n        }\n      }\n      else {\n        local_1d[0] = '\0';\n      }\nLAB_0005060d:\n      std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                (&rr->reloc_strategies_,local_1d);\n      local_48 = local_48 + 1;\n      rr->output_reloc_count_ = rr->output_reloc_count_ + 1;\n    } while (reloc_count != local_48);\n  }" { (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" identifier = number_literal) ;) (do_statement "do {\n      while ((needs_special_offset_handling &&\n             (bVar4 = gold::Output_section::is_input_address_mapped\n                                (output_section,(Relobj *)object,data_shndx,\n                                 (ulonglong)*(uint *)(prelocs + local_48 * 8)), !bVar4))) {\nLAB_00050750:\n        local_1d[0] = '\b';\n        std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                  (&rr->reloc_strategies_,local_1d);\n        local_48 = local_48 + 1;\n        if (reloc_count == local_48) {\n          return;\n        }\n      }\n      uVar5 = *(uint *)(prelocs + local_48 * 8 + 4);\n      symndx = uVar5 >> 8;\n      if (symndx < param_10) {\n        if (plocal_symbols == (uchar *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");\n        }\n        uVar8 = (uint)*(ushort *)(plocal_symbols + symndx * 0x10 + 0xe);\n        if (uVar8 < 0xff00) {\nLAB_00050725:\n          if (uVar8 != 0) {\n            ppOVar2 = (object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;\n            if ((uint)((int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (int)ppOVar2 >> 2) <= uVar8) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n            }\n            if (ppOVar2[uVar8] == (Output_section *)0x0) goto LAB_00050750;\n          }\n        }\n        else if (uVar8 == 0xffff) {\n          this_00 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;\n          if (this_00 == (Xindex *)0x0) {\n            this_00 = (Xindex *)\n                      (*(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                        _vptr_Object[0x1b])(object);\n            (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_00;\n          }\n          uVar8 = gold::Xindex::sym_xindex_to_shndx(this_00,(Object *)object,symndx);\n          goto LAB_00050725;\n        }\n        uVar5 = uVar5 & 0xff;\n        if ((plocal_symbols[symndx * 0x10 + 0xc] & 0xf) != 3) {\n          if (uVar5 == 0 && symndx == 0) goto LAB_00050750;\n          pSVar6 = (object->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                   ._M_impl._M_start;\n          if ((uint)((int)(object->local_values_).\n                          super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                          ._M_impl._M_finish - (int)pSVar6 >> 4) <= symndx) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable\n                      ("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          pSVar6 = pSVar6 + symndx;\n          uVar5 = pSVar6->output_symtab_index_;\n          if ((uVar5 != 0) && (uVar5 != 0xfffffffe)) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable\n                      ("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          pSVar6->output_symtab_index_ = 0xfffffffe;\n          local_1d[0] = '\0';\n          goto LAB_0005060d;\n        }\n        uVar5 = Classify_reloc::get_size_for_reloc(uVar5,(Relobj *)object);\n        switch(uVar5) {\n        case 0:\n          uVar9 = '\x02';\n          break;\n        case 1:\n          uVar9 = '\x03';\n          p_Var3 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                   [0x18];\n          goto joined_r0x0005082e;\n        case 2:\n          uVar9 = '\x04';\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/target-reloc.h",0x276,"local_section_strategy");\n        case 4:\n          uVar9 = '\x05';\n          break;\n        case 8:\n          uVar9 = '\x06';\n        }\n        p_Var3 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                 [0x18];\njoined_r0x0005082e:\n        if (p_Var3 == gold::Relobj::do_output_section) {\n          ppOVar2 = (object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n          if ((uint)((int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_finish - (int)ppOVar2 >> 2) <= uVar8) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          puVar1 = &ppOVar2[uVar8]->field_0x90;\n          *puVar1 = *puVar1 | 1;\n          local_1d[0] = uVar9;\n        }\n        else {\n          iVar7 = (*p_Var3)(object,uVar8);\n          *(byte *)(iVar7 + 0x90) = *(byte *)(iVar7 + 0x90) | 1;\n          local_1d[0] = uVar9;\n        }\n      }\n      else {\n        local_1d[0] = '\0';\n      }\nLAB_0005060d:\n      std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                (&rr->reloc_strategies_,local_1d);\n      local_48 = local_48 + 1;\n      rr->output_reloc_count_ = rr->output_reloc_count_ + 1;\n    } while (reloc_count != local_48);" do (compound_statement "{\n      while ((needs_special_offset_handling &&\n             (bVar4 = gold::Output_section::is_input_address_mapped\n                                (output_section,(Relobj *)object,data_shndx,\n                                 (ulonglong)*(uint *)(prelocs + local_48 * 8)), !bVar4))) {\nLAB_00050750:\n        local_1d[0] = '\b';\n        std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                  (&rr->reloc_strategies_,local_1d);\n        local_48 = local_48 + 1;\n        if (reloc_count == local_48) {\n          return;\n        }\n      }\n      uVar5 = *(uint *)(prelocs + local_48 * 8 + 4);\n      symndx = uVar5 >> 8;\n      if (symndx < param_10) {\n        if (plocal_symbols == (uchar *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");\n        }\n        uVar8 = (uint)*(ushort *)(plocal_symbols + symndx * 0x10 + 0xe);\n        if (uVar8 < 0xff00) {\nLAB_00050725:\n          if (uVar8 != 0) {\n            ppOVar2 = (object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;\n            if ((uint)((int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (int)ppOVar2 >> 2) <= uVar8) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n            }\n            if (ppOVar2[uVar8] == (Output_section *)0x0) goto LAB_00050750;\n          }\n        }\n        else if (uVar8 == 0xffff) {\n          this_00 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;\n          if (this_00 == (Xindex *)0x0) {\n            this_00 = (Xindex *)\n                      (*(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                        _vptr_Object[0x1b])(object);\n            (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_00;\n          }\n          uVar8 = gold::Xindex::sym_xindex_to_shndx(this_00,(Object *)object,symndx);\n          goto LAB_00050725;\n        }\n        uVar5 = uVar5 & 0xff;\n        if ((plocal_symbols[symndx * 0x10 + 0xc] & 0xf) != 3) {\n          if (uVar5 == 0 && symndx == 0) goto LAB_00050750;\n          pSVar6 = (object->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                   ._M_impl._M_start;\n          if ((uint)((int)(object->local_values_).\n                          super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                          ._M_impl._M_finish - (int)pSVar6 >> 4) <= symndx) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable\n                      ("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          pSVar6 = pSVar6 + symndx;\n          uVar5 = pSVar6->output_symtab_index_;\n          if ((uVar5 != 0) && (uVar5 != 0xfffffffe)) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable\n                      ("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          pSVar6->output_symtab_index_ = 0xfffffffe;\n          local_1d[0] = '\0';\n          goto LAB_0005060d;\n        }\n        uVar5 = Classify_reloc::get_size_for_reloc(uVar5,(Relobj *)object);\n        switch(uVar5) {\n        case 0:\n          uVar9 = '\x02';\n          break;\n        case 1:\n          uVar9 = '\x03';\n          p_Var3 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                   [0x18];\n          goto joined_r0x0005082e;\n        case 2:\n          uVar9 = '\x04';\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/target-reloc.h",0x276,"local_section_strategy");\n        case 4:\n          uVar9 = '\x05';\n          break;\n        case 8:\n          uVar9 = '\x06';\n        }\n        p_Var3 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                 [0x18];\njoined_r0x0005082e:\n        if (p_Var3 == gold::Relobj::do_output_section) {\n          ppOVar2 = (object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n          if ((uint)((int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_finish - (int)ppOVar2 >> 2) <= uVar8) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          puVar1 = &ppOVar2[uVar8]->field_0x90;\n          *puVar1 = *puVar1 | 1;\n          local_1d[0] = uVar9;\n        }\n        else {\n          iVar7 = (*p_Var3)(object,uVar8);\n          *(byte *)(iVar7 + 0x90) = *(byte *)(iVar7 + 0x90) | 1;\n          local_1d[0] = uVar9;\n        }\n      }\n      else {\n        local_1d[0] = '\0';\n      }\nLAB_0005060d:\n      std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                (&rr->reloc_strategies_,local_1d);\n      local_48 = local_48 + 1;\n      rr->output_reloc_count_ = rr->output_reloc_count_ + 1;\n    }" { (while_statement "while ((needs_special_offset_handling &&\n             (bVar4 = gold::Output_section::is_input_address_mapped\n                                (output_section,(Relobj *)object,data_shndx,\n                                 (ulonglong)*(uint *)(prelocs + local_48 * 8)), !bVar4))) {\nLAB_00050750:\n        local_1d[0] = '\b';\n        std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                  (&rr->reloc_strategies_,local_1d);\n        local_48 = local_48 + 1;\n        if (reloc_count == local_48) {\n          return;\n        }\n      }" while (parenthesized_expression "((needs_special_offset_handling &&\n             (bVar4 = gold::Output_section::is_input_address_mapped\n                                (output_section,(Relobj *)object,data_shndx,\n                                 (ulonglong)*(uint *)(prelocs + local_48 * 8)), !bVar4)))" ( (parenthesized_expression "(needs_special_offset_handling &&\n             (bVar4 = gold::Output_section::is_input_address_mapped\n                                (output_section,(Relobj *)object,data_shndx,\n                                 (ulonglong)*(uint *)(prelocs + local_48 * 8)), !bVar4))" ( (binary_expression "needs_special_offset_handling &&\n             (bVar4 = gold::Output_section::is_input_address_mapped\n                                (output_section,(Relobj *)object,data_shndx,\n                                 (ulonglong)*(uint *)(prelocs + local_48 * 8)), !bVar4)" identifier && (parenthesized_expression "(bVar4 = gold::Output_section::is_input_address_mapped\n                                (output_section,(Relobj *)object,data_shndx,\n                                 (ulonglong)*(uint *)(prelocs + local_48 * 8)), !bVar4)" ( (ERROR "bVar4 = gold::Output_section::" (assignment_expression "bVar4 = gold" identifier = identifier) : : identifier : :) (comma_expression "is_input_address_mapped\n                                (output_section,(Relobj *)object,data_shndx,\n                                 (ulonglong)*(uint *)(prelocs + local_48 * 8)), !bVar4" (call_expression "is_input_address_mapped\n                                (output_section,(Relobj *)object,data_shndx,\n                                 (ulonglong)*(uint *)(prelocs + local_48 * 8))" identifier (argument_list "(output_section,(Relobj *)object,data_shndx,\n                                 (ulonglong)*(uint *)(prelocs + local_48 * 8))" ( identifier , (cast_expression "(Relobj *)object" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , (binary_expression "(ulonglong)*(uint *)(prelocs + local_48 * 8)" (parenthesized_expression "(ulonglong)" ( identifier )) * (cast_expression "(uint *)(prelocs + local_48 * 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(prelocs + local_48 * 8)" ( (binary_expression "prelocs + local_48 * 8" identifier + (binary_expression "local_48 * 8" identifier * number_literal)) )))) ))) , (unary_expression "!bVar4" ! identifier)) ))) )) )) (compound_statement "{\nLAB_00050750:\n        local_1d[0] = '\b';\n        std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                  (&rr->reloc_strategies_,local_1d);\n        local_48 = local_48 + 1;\n        if (reloc_count == local_48) {\n          return;\n        }\n      }" { (labeled_statement "LAB_00050750:\n        local_1d[0] = '\b';" statement_identifier : (expression_statement "local_1d[0] = '\b';" (assignment_expression "local_1d[0] = '\b'" (subscript_expression "local_1d[0]" identifier [ number_literal ]) = (char_literal "'\b'" ' escape_sequence ')) ;)) (labeled_statement "std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                  (&rr->reloc_strategies_,local_1d);" statement_identifier (ERROR "::vector<unsigned_char,_std::allocator<unsigned_char>_>:" : : (comma_expression "vector<unsigned_char,_std" (binary_expression "vector<unsigned_char" identifier < identifier) , identifier) : : (binary_expression "allocator<unsigned_char>_" (binary_expression "allocator<unsigned_char" identifier < identifier) > identifier) > :) : (expression_statement "emplace_back<unsigned_char>\n                  (&rr->reloc_strategies_,local_1d);" (binary_expression "emplace_back<unsigned_char>\n                  (&rr->reloc_strategies_,local_1d)" (binary_expression "emplace_back<unsigned_char" identifier < identifier) > (parenthesized_expression "(&rr->reloc_strategies_,local_1d)" ( (comma_expression "&rr->reloc_strategies_,local_1d" (pointer_expression "&rr->reloc_strategies_" & (field_expression "rr->reloc_strategies_" identifier -> field_identifier)) , identifier) ))) ;)) (expression_statement "local_48 = local_48 + 1;" (assignment_expression "local_48 = local_48 + 1" identifier = (binary_expression "local_48 + 1" identifier + number_literal)) ;) (if_statement "if (reloc_count == local_48) {\n          return;\n        }" if (parenthesized_expression "(reloc_count == local_48)" ( (binary_expression "reloc_count == local_48" identifier == identifier) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) })) (expression_statement "uVar5 = *(uint *)(prelocs + local_48 * 8 + 4);" (assignment_expression "uVar5 = *(uint *)(prelocs + local_48 * 8 + 4)" identifier = (pointer_expression "*(uint *)(prelocs + local_48 * 8 + 4)" * (cast_expression "(uint *)(prelocs + local_48 * 8 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(prelocs + local_48 * 8 + 4)" ( (binary_expression "prelocs + local_48 * 8 + 4" (binary_expression "prelocs + local_48 * 8" identifier + (binary_expression "local_48 * 8" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "symndx = uVar5 >> 8;" (assignment_expression "symndx = uVar5 >> 8" identifier = (binary_expression "uVar5 >> 8" identifier >> number_literal)) ;) (if_statement "if (symndx < param_10) {\n        if (plocal_symbols == (uchar *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");\n        }\n        uVar8 = (uint)*(ushort *)(plocal_symbols + symndx * 0x10 + 0xe);\n        if (uVar8 < 0xff00) {\nLAB_00050725:\n          if (uVar8 != 0) {\n            ppOVar2 = (object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;\n            if ((uint)((int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (int)ppOVar2 >> 2) <= uVar8) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n            }\n            if (ppOVar2[uVar8] == (Output_section *)0x0) goto LAB_00050750;\n          }\n        }\n        else if (uVar8 == 0xffff) {\n          this_00 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;\n          if (this_00 == (Xindex *)0x0) {\n            this_00 = (Xindex *)\n                      (*(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                        _vptr_Object[0x1b])(object);\n            (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_00;\n          }\n          uVar8 = gold::Xindex::sym_xindex_to_shndx(this_00,(Object *)object,symndx);\n          goto LAB_00050725;\n        }\n        uVar5 = uVar5 & 0xff;\n        if ((plocal_symbols[symndx * 0x10 + 0xc] & 0xf) != 3) {\n          if (uVar5 == 0 && symndx == 0) goto LAB_00050750;\n          pSVar6 = (object->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                   ._M_impl._M_start;\n          if ((uint)((int)(object->local_values_).\n                          super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                          ._M_impl._M_finish - (int)pSVar6 >> 4) <= symndx) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable\n                      ("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          pSVar6 = pSVar6 + symndx;\n          uVar5 = pSVar6->output_symtab_index_;\n          if ((uVar5 != 0) && (uVar5 != 0xfffffffe)) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable\n                      ("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          pSVar6->output_symtab_index_ = 0xfffffffe;\n          local_1d[0] = '\0';\n          goto LAB_0005060d;\n        }\n        uVar5 = Classify_reloc::get_size_for_reloc(uVar5,(Relobj *)object);\n        switch(uVar5) {\n        case 0:\n          uVar9 = '\x02';\n          break;\n        case 1:\n          uVar9 = '\x03';\n          p_Var3 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                   [0x18];\n          goto joined_r0x0005082e;\n        case 2:\n          uVar9 = '\x04';\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/target-reloc.h",0x276,"local_section_strategy");\n        case 4:\n          uVar9 = '\x05';\n          break;\n        case 8:\n          uVar9 = '\x06';\n        }\n        p_Var3 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                 [0x18];\njoined_r0x0005082e:\n        if (p_Var3 == gold::Relobj::do_output_section) {\n          ppOVar2 = (object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n          if ((uint)((int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_finish - (int)ppOVar2 >> 2) <= uVar8) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          puVar1 = &ppOVar2[uVar8]->field_0x90;\n          *puVar1 = *puVar1 | 1;\n          local_1d[0] = uVar9;\n        }\n        else {\n          iVar7 = (*p_Var3)(object,uVar8);\n          *(byte *)(iVar7 + 0x90) = *(byte *)(iVar7 + 0x90) | 1;\n          local_1d[0] = uVar9;\n        }\n      }\n      else {\n        local_1d[0] = '\0';\n      }" if (parenthesized_expression "(symndx < param_10)" ( (binary_expression "symndx < param_10" identifier < identifier) )) (compound_statement "{\n        if (plocal_symbols == (uchar *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");\n        }\n        uVar8 = (uint)*(ushort *)(plocal_symbols + symndx * 0x10 + 0xe);\n        if (uVar8 < 0xff00) {\nLAB_00050725:\n          if (uVar8 != 0) {\n            ppOVar2 = (object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;\n            if ((uint)((int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (int)ppOVar2 >> 2) <= uVar8) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n            }\n            if (ppOVar2[uVar8] == (Output_section *)0x0) goto LAB_00050750;\n          }\n        }\n        else if (uVar8 == 0xffff) {\n          this_00 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;\n          if (this_00 == (Xindex *)0x0) {\n            this_00 = (Xindex *)\n                      (*(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                        _vptr_Object[0x1b])(object);\n            (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_00;\n          }\n          uVar8 = gold::Xindex::sym_xindex_to_shndx(this_00,(Object *)object,symndx);\n          goto LAB_00050725;\n        }\n        uVar5 = uVar5 & 0xff;\n        if ((plocal_symbols[symndx * 0x10 + 0xc] & 0xf) != 3) {\n          if (uVar5 == 0 && symndx == 0) goto LAB_00050750;\n          pSVar6 = (object->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                   ._M_impl._M_start;\n          if ((uint)((int)(object->local_values_).\n                          super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                          ._M_impl._M_finish - (int)pSVar6 >> 4) <= symndx) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable\n                      ("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          pSVar6 = pSVar6 + symndx;\n          uVar5 = pSVar6->output_symtab_index_;\n          if ((uVar5 != 0) && (uVar5 != 0xfffffffe)) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable\n                      ("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          pSVar6->output_symtab_index_ = 0xfffffffe;\n          local_1d[0] = '\0';\n          goto LAB_0005060d;\n        }\n        uVar5 = Classify_reloc::get_size_for_reloc(uVar5,(Relobj *)object);\n        switch(uVar5) {\n        case 0:\n          uVar9 = '\x02';\n          break;\n        case 1:\n          uVar9 = '\x03';\n          p_Var3 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                   [0x18];\n          goto joined_r0x0005082e;\n        case 2:\n          uVar9 = '\x04';\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/target-reloc.h",0x276,"local_section_strategy");\n        case 4:\n          uVar9 = '\x05';\n          break;\n        case 8:\n          uVar9 = '\x06';\n        }\n        p_Var3 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                 [0x18];\njoined_r0x0005082e:\n        if (p_Var3 == gold::Relobj::do_output_section) {\n          ppOVar2 = (object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n          if ((uint)((int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_finish - (int)ppOVar2 >> 2) <= uVar8) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          puVar1 = &ppOVar2[uVar8]->field_0x90;\n          *puVar1 = *puVar1 | 1;\n          local_1d[0] = uVar9;\n        }\n        else {\n          iVar7 = (*p_Var3)(object,uVar8);\n          *(byte *)(iVar7 + 0x90) = *(byte *)(iVar7 + 0x90) | 1;\n          local_1d[0] = uVar9;\n        }\n      }" { (if_statement "if (plocal_symbols == (uchar *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");\n        }" if (parenthesized_expression "(plocal_symbols == (uchar *)0x0)" ( (binary_expression "plocal_symbols == (uchar *)0x0" identifier == (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");\n        }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");" (call_expression "do_gold_unreachable("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs")" identifier (argument_list "("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs")" ( (string_literal ""../../gold/target-reloc.h"" " string_content ") , number_literal , (string_literal ""scan_relocatable_relocs"" " string_content ") ))) ;)) })) (expression_statement "uVar8 = (uint)*(ushort *)(plocal_symbols + symndx * 0x10 + 0xe);" (assignment_expression "uVar8 = (uint)*(ushort *)(plocal_symbols + symndx * 0x10 + 0xe)" identifier = (binary_expression "(uint)*(ushort *)(plocal_symbols + symndx * 0x10 + 0xe)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)(plocal_symbols + symndx * 0x10 + 0xe)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plocal_symbols + symndx * 0x10 + 0xe)" ( (binary_expression "plocal_symbols + symndx * 0x10 + 0xe" (binary_expression "plocal_symbols + symndx * 0x10" identifier + (binary_expression "symndx * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (if_statement "if (uVar8 < 0xff00) {\nLAB_00050725:\n          if (uVar8 != 0) {\n            ppOVar2 = (object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;\n            if ((uint)((int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (int)ppOVar2 >> 2) <= uVar8) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n            }\n            if (ppOVar2[uVar8] == (Output_section *)0x0) goto LAB_00050750;\n          }\n        }\n        else if (uVar8 == 0xffff) {\n          this_00 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;\n          if (this_00 == (Xindex *)0x0) {\n            this_00 = (Xindex *)\n                      (*(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                        _vptr_Object[0x1b])(object);\n            (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_00;\n          }\n          uVar8 = gold::Xindex::sym_xindex_to_shndx(this_00,(Object *)object,symndx);\n          goto LAB_00050725;\n        }" if (parenthesized_expression "(uVar8 < 0xff00)" ( (binary_expression "uVar8 < 0xff00" identifier < number_literal) )) (compound_statement "{\nLAB_00050725:\n          if (uVar8 != 0) {\n            ppOVar2 = (object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;\n            if ((uint)((int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (int)ppOVar2 >> 2) <= uVar8) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n            }\n            if (ppOVar2[uVar8] == (Output_section *)0x0) goto LAB_00050750;\n          }\n        }" { (labeled_statement "LAB_00050725:\n          if (uVar8 != 0) {\n            ppOVar2 = (object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;\n            if ((uint)((int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (int)ppOVar2 >> 2) <= uVar8) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n            }\n            if (ppOVar2[uVar8] == (Output_section *)0x0) goto LAB_00050750;\n          }" statement_identifier : (if_statement "if (uVar8 != 0) {\n            ppOVar2 = (object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;\n            if ((uint)((int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (int)ppOVar2 >> 2) <= uVar8) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n            }\n            if (ppOVar2[uVar8] == (Output_section *)0x0) goto LAB_00050750;\n          }" if (parenthesized_expression "(uVar8 != 0)" ( (binary_expression "uVar8 != 0" identifier != number_literal) )) (compound_statement "{\n            ppOVar2 = (object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;\n            if ((uint)((int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (int)ppOVar2 >> 2) <= uVar8) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n            }\n            if (ppOVar2[uVar8] == (Output_section *)0x0) goto LAB_00050750;\n          }" { (expression_statement "ppOVar2 = (object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start;" (field_expression "ppOVar2 = (object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl._M_start" (field_expression "ppOVar2 = (object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                      ._M_impl" (binary_expression "ppOVar2 = (object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "ppOVar2 = (object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "ppOVar2 = (object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                      super__Vector_base<gold::Output_section*,_std" (assignment_expression "ppOVar2 = (object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                      super__Vector_base<gold" identifier = (binary_expression "(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                      super__Vector_base<gold" (field_expression "(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                      super__Vector_base" (field_expression "(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_" (field_expression "(object->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(object->super_Sized_relobj<32,_false>)" ( (comma_expression "object->super_Sized_relobj<32,_false" (binary_expression "object->super_Sized_relobj<32" (field_expression "object->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) < identifier)) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if ((uint)((int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (int)ppOVar2 >> 2) <= uVar8) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n            }" if (parenthesized_expression "((uint)((int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (int)ppOVar2 >> 2) <= uVar8)" ( (binary_expression "(uint)((int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (int)ppOVar2 >> 2) <= uVar8" (call_expression "(uint)((int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (int)ppOVar2 >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (int)ppOVar2 >> 2)" ( (binary_expression "(int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (int)ppOVar2 >> 2" (binary_expression "(int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (int)ppOVar2" (field_expression "(int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish" (field_expression "(int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl" (binary_expression "(int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "(int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "(int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std" (binary_expression "(int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base<gold" (cast_expression "(int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base" (field_expression "(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_" (field_expression "(object->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(object->super_Sized_relobj<32,_false>)" ( (comma_expression "object->super_Sized_relobj<32,_false" (binary_expression "object->super_Sized_relobj<32" (field_expression "object->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) - (cast_expression "(int)ppOVar2" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) ))) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n            }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");" (call_expression "do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included")" identifier (argument_list "("../../gold/object.h",0x50b,"is_section_included")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""is_section_included"" " string_content ") ))) ;)) })) (if_statement "if (ppOVar2[uVar8] == (Output_section *)0x0) goto LAB_00050750;" if (parenthesized_expression "(ppOVar2[uVar8] == (Output_section *)0x0)" ( (binary_expression "ppOVar2[uVar8] == (Output_section *)0x0" (subscript_expression "ppOVar2[uVar8]" identifier [ identifier ]) == (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00050750;" goto statement_identifier ;)) }))) }) (else_clause "else if (uVar8 == 0xffff) {\n          this_00 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;\n          if (this_00 == (Xindex *)0x0) {\n            this_00 = (Xindex *)\n                      (*(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                        _vptr_Object[0x1b])(object);\n            (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_00;\n          }\n          uVar8 = gold::Xindex::sym_xindex_to_shndx(this_00,(Object *)object,symndx);\n          goto LAB_00050725;\n        }" else (if_statement "if (uVar8 == 0xffff) {\n          this_00 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;\n          if (this_00 == (Xindex *)0x0) {\n            this_00 = (Xindex *)\n                      (*(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                        _vptr_Object[0x1b])(object);\n            (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_00;\n          }\n          uVar8 = gold::Xindex::sym_xindex_to_shndx(this_00,(Object *)object,symndx);\n          goto LAB_00050725;\n        }" if (parenthesized_expression "(uVar8 == 0xffff)" ( (binary_expression "uVar8 == 0xffff" identifier == number_literal) )) (compound_statement "{\n          this_00 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;\n          if (this_00 == (Xindex *)0x0) {\n            this_00 = (Xindex *)\n                      (*(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                        _vptr_Object[0x1b])(object);\n            (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_00;\n          }\n          uVar8 = gold::Xindex::sym_xindex_to_shndx(this_00,(Object *)object,symndx);\n          goto LAB_00050725;\n        }" { (expression_statement "this_00 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_;" (assignment_expression "this_00 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_" identifier = (field_expression "(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_" (field_expression "(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(object->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(object->super_Sized_relobj<32,_false>)" ( (comma_expression "object->super_Sized_relobj<32,_false" (binary_expression "object->super_Sized_relobj<32" (field_expression "object->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) ;) (if_statement "if (this_00 == (Xindex *)0x0) {\n            this_00 = (Xindex *)\n                      (*(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                        _vptr_Object[0x1b])(object);\n            (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_00;\n          }" if (parenthesized_expression "(this_00 == (Xindex *)0x0)" ( (binary_expression "this_00 == (Xindex *)0x0" identifier == (cast_expression "(Xindex *)0x0" ( (type_descriptor "Xindex *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            this_00 = (Xindex *)\n                      (*(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                        _vptr_Object[0x1b])(object);\n            (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_00;\n          }" { (expression_statement "this_00 = (Xindex *)\n                      (*(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                        _vptr_Object[0x1b])(object);" (assignment_expression "this_00 = (Xindex *)\n                      (*(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                        _vptr_Object[0x1b])(object)" identifier = (cast_expression "(Xindex *)\n                      (*(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                        _vptr_Object[0x1b])(object)" ( (type_descriptor "Xindex *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                        _vptr_Object[0x1b])(object)" (parenthesized_expression "(*(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                        _vptr_Object[0x1b])" ( (pointer_expression "*(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                        _vptr_Object[0x1b]" * (subscript_expression "(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                        _vptr_Object[0x1b]" (field_expression "(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                        _vptr_Object" (field_expression "(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(object->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(object->super_Sized_relobj<32,_false>)" ( (comma_expression "object->super_Sized_relobj<32,_false" (binary_expression "object->super_Sized_relobj<32" (field_expression "object->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) [ number_literal ])) )) (argument_list "(object)" ( identifier ))))) ;) (expression_statement "(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_00;" (assignment_expression "(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_ = this_00" (field_expression "(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object.xindex_" (field_expression "(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(object->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(object->super_Sized_relobj<32,_false>)" ( (comma_expression "object->super_Sized_relobj<32,_false" (binary_expression "object->super_Sized_relobj<32" (field_expression "object->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) = identifier) ;) })) (ERROR "uVar8 = gold::" (assignment_expression "uVar8 = gold" identifier = identifier) : :) (labeled_statement "Xindex::sym_xindex_to_shndx(this_00,(Object *)object,symndx);" statement_identifier : (ERROR ":" :) (expression_statement "sym_xindex_to_shndx(this_00,(Object *)object,symndx);" (call_expression "sym_xindex_to_shndx(this_00,(Object *)object,symndx)" identifier (argument_list "(this_00,(Object *)object,symndx)" ( identifier , (cast_expression "(Object *)object" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;)) (goto_statement "goto LAB_00050725;" goto statement_identifier ;) })))) (expression_statement "uVar5 = uVar5 & 0xff;" (assignment_expression "uVar5 = uVar5 & 0xff" identifier = (binary_expression "uVar5 & 0xff" identifier & number_literal)) ;) (if_statement "if ((plocal_symbols[symndx * 0x10 + 0xc] & 0xf) != 3) {\n          if (uVar5 == 0 && symndx == 0) goto LAB_00050750;\n          pSVar6 = (object->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                   ._M_impl._M_start;\n          if ((uint)((int)(object->local_values_).\n                          super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                          ._M_impl._M_finish - (int)pSVar6 >> 4) <= symndx) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable\n                      ("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          pSVar6 = pSVar6 + symndx;\n          uVar5 = pSVar6->output_symtab_index_;\n          if ((uVar5 != 0) && (uVar5 != 0xfffffffe)) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable\n                      ("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          pSVar6->output_symtab_index_ = 0xfffffffe;\n          local_1d[0] = '\0';\n          goto LAB_0005060d;\n        }" if (parenthesized_expression "((plocal_symbols[symndx * 0x10 + 0xc] & 0xf) != 3)" ( (binary_expression "(plocal_symbols[symndx * 0x10 + 0xc] & 0xf) != 3" (parenthesized_expression "(plocal_symbols[symndx * 0x10 + 0xc] & 0xf)" ( (binary_expression "plocal_symbols[symndx * 0x10 + 0xc] & 0xf" (subscript_expression "plocal_symbols[symndx * 0x10 + 0xc]" identifier [ (binary_expression "symndx * 0x10 + 0xc" (binary_expression "symndx * 0x10" identifier * number_literal) + number_literal) ]) & number_literal) )) != number_literal) )) (compound_statement "{\n          if (uVar5 == 0 && symndx == 0) goto LAB_00050750;\n          pSVar6 = (object->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                   ._M_impl._M_start;\n          if ((uint)((int)(object->local_values_).\n                          super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                          ._M_impl._M_finish - (int)pSVar6 >> 4) <= symndx) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable\n                      ("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }\n          pSVar6 = pSVar6 + symndx;\n          uVar5 = pSVar6->output_symtab_index_;\n          if ((uVar5 != 0) && (uVar5 != 0xfffffffe)) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable\n                      ("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }\n          pSVar6->output_symtab_index_ = 0xfffffffe;\n          local_1d[0] = '\0';\n          goto LAB_0005060d;\n        }" { (if_statement "if (uVar5 == 0 && symndx == 0) goto LAB_00050750;" if (parenthesized_expression "(uVar5 == 0 && symndx == 0)" ( (binary_expression "uVar5 == 0 && symndx == 0" (binary_expression "uVar5 == 0" identifier == number_literal) && (binary_expression "symndx == 0" identifier == number_literal)) )) (goto_statement "goto LAB_00050750;" goto statement_identifier ;)) (expression_statement "pSVar6 = (object->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                   ._M_impl._M_start;" (field_expression "pSVar6 = (object->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                   ._M_impl._M_start" (field_expression "pSVar6 = (object->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                   ._M_impl" (binary_expression "pSVar6 = (object->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_" (binary_expression "pSVar6 = (object->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_" (binary_expression "pSVar6 = (object->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32" (binary_expression "pSVar6 = (object->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold" (binary_expression "pSVar6 = (object->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std" (binary_expression "pSVar6 = (object->local_values_).\n                   super__Vector_base<gold::Symbol_value<32" (assignment_expression "pSVar6 = (object->local_values_).\n                   super__Vector_base<gold" identifier = (binary_expression "(object->local_values_).\n                   super__Vector_base<gold" (field_expression "(object->local_values_).\n                   super__Vector_base" (parenthesized_expression "(object->local_values_)" ( (field_expression "object->local_values_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Symbol_value" : : identifier) < number_literal) > (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol_value" : : identifier) < number_literal) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if ((uint)((int)(object->local_values_).\n                          super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                          ._M_impl._M_finish - (int)pSVar6 >> 4) <= symndx) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable\n                      ("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }" if (parenthesized_expression "((uint)((int)(object->local_values_).\n                          super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                          ._M_impl._M_finish - (int)pSVar6 >> 4) <= symndx)" ( (binary_expression "(uint)((int)(object->local_values_).\n                          super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                          ._M_impl._M_finish - (int)pSVar6 >> 4) <= symndx" (call_expression "(uint)((int)(object->local_values_).\n                          super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                          ._M_impl._M_finish - (int)pSVar6 >> 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)(object->local_values_).\n                          super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                          ._M_impl._M_finish - (int)pSVar6 >> 4)" ( (binary_expression "(int)(object->local_values_).\n                          super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                          ._M_impl._M_finish - (int)pSVar6 >> 4" (binary_expression "(int)(object->local_values_).\n                          super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                          ._M_impl._M_finish - (int)pSVar6" (field_expression "(int)(object->local_values_).\n                          super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                          ._M_impl._M_finish" (field_expression "(int)(object->local_values_).\n                          super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                          ._M_impl" (binary_expression "(int)(object->local_values_).\n                          super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_" (binary_expression "(int)(object->local_values_).\n                          super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_" (binary_expression "(int)(object->local_values_).\n                          super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32" (binary_expression "(int)(object->local_values_).\n                          super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold" (binary_expression "(int)(object->local_values_).\n                          super__Vector_base<gold::Symbol_value<32>,_std" (binary_expression "(int)(object->local_values_).\n                          super__Vector_base<gold::Symbol_value<32" (binary_expression "(int)(object->local_values_).\n                          super__Vector_base<gold" (cast_expression "(int)(object->local_values_).\n                          super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "(object->local_values_).\n                          super__Vector_base" (parenthesized_expression "(object->local_values_)" ( (field_expression "object->local_values_" identifier -> field_identifier) )) . field_identifier)) < identifier) (ERROR "::Symbol_value" : : identifier) < number_literal) > (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol_value" : : identifier) < number_literal) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) - (cast_expression "(int)pSVar6" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) ))) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable\n                      ("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");\n          }" { comment (labeled_statement "gold::do_gold_unreachable\n                      ("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable\n                      ("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");" (call_expression "do_gold_unreachable\n                      ("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry")" identifier (argument_list "("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""set_must_have_output_symtab_entry"" " string_content ") ))) ;)) })) (expression_statement "pSVar6 = pSVar6 + symndx;" (assignment_expression "pSVar6 = pSVar6 + symndx" identifier = (binary_expression "pSVar6 + symndx" identifier + identifier)) ;) (expression_statement "uVar5 = pSVar6->output_symtab_index_;" (assignment_expression "uVar5 = pSVar6->output_symtab_index_" identifier = (field_expression "pSVar6->output_symtab_index_" identifier -> field_identifier)) ;) (if_statement "if ((uVar5 != 0) && (uVar5 != 0xfffffffe)) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable\n                      ("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }" if (parenthesized_expression "((uVar5 != 0) && (uVar5 != 0xfffffffe))" ( (binary_expression "(uVar5 != 0) && (uVar5 != 0xfffffffe)" (parenthesized_expression "(uVar5 != 0)" ( (binary_expression "uVar5 != 0" identifier != number_literal) )) && (parenthesized_expression "(uVar5 != 0xfffffffe)" ( (binary_expression "uVar5 != 0xfffffffe" identifier != number_literal) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable\n                      ("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");\n          }" { comment (labeled_statement "gold::do_gold_unreachable\n                      ("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable\n                      ("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");" (call_expression "do_gold_unreachable\n                      ("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry")" identifier (argument_list "("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""set_must_have_output_symtab_entry"" " string_content ") ))) ;)) })) (expression_statement "pSVar6->output_symtab_index_ = 0xfffffffe;" (assignment_expression "pSVar6->output_symtab_index_ = 0xfffffffe" (field_expression "pSVar6->output_symtab_index_" identifier -> field_identifier) = number_literal) ;) (expression_statement "local_1d[0] = '\0';" (assignment_expression "local_1d[0] = '\0'" (subscript_expression "local_1d[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (goto_statement "goto LAB_0005060d;" goto statement_identifier ;) })) (ERROR "uVar5 = Classify_reloc::" (assignment_expression "uVar5 = Classify_reloc" identifier = identifier) : :) (expression_statement "get_size_for_reloc(uVar5,(Relobj *)object);" (call_expression "get_size_for_reloc(uVar5,(Relobj *)object)" identifier (argument_list "(uVar5,(Relobj *)object)" ( identifier , (cast_expression "(Relobj *)object" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (switch_statement "switch(uVar5) {\n        case 0:\n          uVar9 = '\x02';\n          break;\n        case 1:\n          uVar9 = '\x03';\n          p_Var3 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                   [0x18];\n          goto joined_r0x0005082e;\n        case 2:\n          uVar9 = '\x04';\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/target-reloc.h",0x276,"local_section_strategy");\n        case 4:\n          uVar9 = '\x05';\n          break;\n        case 8:\n          uVar9 = '\x06';\n        }" switch (parenthesized_expression "(uVar5)" ( identifier )) (compound_statement "{\n        case 0:\n          uVar9 = '\x02';\n          break;\n        case 1:\n          uVar9 = '\x03';\n          p_Var3 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                   [0x18];\n          goto joined_r0x0005082e;\n        case 2:\n          uVar9 = '\x04';\n          break;\n        default:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/target-reloc.h",0x276,"local_section_strategy");\n        case 4:\n          uVar9 = '\x05';\n          break;\n        case 8:\n          uVar9 = '\x06';\n        }" { (case_statement "case 0:\n          uVar9 = '\x02';\n          break;" case number_literal : (expression_statement "uVar9 = '\x02';" (assignment_expression "uVar9 = '\x02'" identifier = (char_literal "'\x02'" ' escape_sequence ')) ;) (break_statement "break;" break ;)) (case_statement "case 1:\n          uVar9 = '\x03';\n          p_Var3 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                   [0x18];\n          goto joined_r0x0005082e;" case number_literal : (expression_statement "uVar9 = '\x03';" (assignment_expression "uVar9 = '\x03'" identifier = (char_literal "'\x03'" ' escape_sequence ')) ;) (expression_statement "p_Var3 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                   [0x18];" (assignment_expression "p_Var3 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                   [0x18]" identifier = (subscript_expression "(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                   [0x18]" (field_expression "(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object" (field_expression "(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(object->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(object->super_Sized_relobj<32,_false>)" ( (comma_expression "object->super_Sized_relobj<32,_false" (binary_expression "object->super_Sized_relobj<32" (field_expression "object->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) [ number_literal ])) ;) (goto_statement "goto joined_r0x0005082e;" goto statement_identifier ;)) (case_statement "case 2:\n          uVar9 = '\x04';\n          break;" case number_literal : (expression_statement "uVar9 = '\x04';" (assignment_expression "uVar9 = '\x04'" identifier = (char_literal "'\x04'" ' escape_sequence ')) ;) (break_statement "break;" break ;)) (case_statement "default:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/target-reloc.h",0x276,"local_section_strategy");" default : comment (labeled_statement "gold::do_gold_unreachable("../../gold/target-reloc.h",0x276,"local_section_strategy");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/target-reloc.h",0x276,"local_section_strategy");" (call_expression "do_gold_unreachable("../../gold/target-reloc.h",0x276,"local_section_strategy")" identifier (argument_list "("../../gold/target-reloc.h",0x276,"local_section_strategy")" ( (string_literal ""../../gold/target-reloc.h"" " string_content ") , number_literal , (string_literal ""local_section_strategy"" " string_content ") ))) ;))) (case_statement "case 4:\n          uVar9 = '\x05';\n          break;" case number_literal : (expression_statement "uVar9 = '\x05';" (assignment_expression "uVar9 = '\x05'" identifier = (char_literal "'\x05'" ' escape_sequence ')) ;) (break_statement "break;" break ;)) (case_statement "case 8:\n          uVar9 = '\x06';" case number_literal : (expression_statement "uVar9 = '\x06';" (assignment_expression "uVar9 = '\x06'" identifier = (char_literal "'\x06'" ' escape_sequence ')) ;)) })) (expression_statement "p_Var3 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                 [0x18];" (assignment_expression "p_Var3 = (object->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                 [0x18]" identifier = (subscript_expression "(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                 [0x18]" (field_expression "(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object" (field_expression "(object->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(object->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(object->super_Sized_relobj<32,_false>)" ( (comma_expression "object->super_Sized_relobj<32,_false" (binary_expression "object->super_Sized_relobj<32" (field_expression "object->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) [ number_literal ])) ;) (labeled_statement "joined_r0x0005082e:\n        if (p_Var3 == gold::Relobj::do_output_section) {\n          ppOVar2 = (object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n          if ((uint)((int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_finish - (int)ppOVar2 >> 2) <= uVar8) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          puVar1 = &ppOVar2[uVar8]->field_0x90;\n          *puVar1 = *puVar1 | 1;\n          local_1d[0] = uVar9;\n        }\n        else {\n          iVar7 = (*p_Var3)(object,uVar8);\n          *(byte *)(iVar7 + 0x90) = *(byte *)(iVar7 + 0x90) | 1;\n          local_1d[0] = uVar9;\n        }" statement_identifier : (if_statement "if (p_Var3 == gold::Relobj::do_output_section) {\n          ppOVar2 = (object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n          if ((uint)((int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_finish - (int)ppOVar2 >> 2) <= uVar8) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          puVar1 = &ppOVar2[uVar8]->field_0x90;\n          *puVar1 = *puVar1 | 1;\n          local_1d[0] = uVar9;\n        }\n        else {\n          iVar7 = (*p_Var3)(object,uVar8);\n          *(byte *)(iVar7 + 0x90) = *(byte *)(iVar7 + 0x90) | 1;\n          local_1d[0] = uVar9;\n        }" if (parenthesized_expression "(p_Var3 == gold::Relobj::do_output_section)" ( (ERROR "p_Var3 == gold::Relobj::" (binary_expression "p_Var3 == gold" identifier == identifier) : : identifier : :) identifier )) (compound_statement "{\n          ppOVar2 = (object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n          if ((uint)((int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_finish - (int)ppOVar2 >> 2) <= uVar8) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          puVar1 = &ppOVar2[uVar8]->field_0x90;\n          *puVar1 = *puVar1 | 1;\n          local_1d[0] = uVar9;\n        }" { (expression_statement "ppOVar2 = (object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;" (field_expression "ppOVar2 = (object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start" (field_expression "ppOVar2 = (object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl" (binary_expression "ppOVar2 = (object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "ppOVar2 = (object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "ppOVar2 = (object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std" (assignment_expression "ppOVar2 = (object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold" identifier = (binary_expression "(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold" (field_expression "(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                    super__Vector_base" (field_expression "(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_" (field_expression "(object->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(object->super_Sized_relobj<32,_false>)" ( (comma_expression "object->super_Sized_relobj<32,_false" (binary_expression "object->super_Sized_relobj<32" (field_expression "object->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) < identifier)) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if ((uint)((int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_finish - (int)ppOVar2 >> 2) <= uVar8) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n          }" if (parenthesized_expression "((uint)((int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_finish - (int)ppOVar2 >> 2) <= uVar8)" ( (binary_expression "(uint)((int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_finish - (int)ppOVar2 >> 2) <= uVar8" (call_expression "(uint)((int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_finish - (int)ppOVar2 >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_finish - (int)ppOVar2 >> 2)" ( (binary_expression "(int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_finish - (int)ppOVar2 >> 2" (binary_expression "(int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_finish - (int)ppOVar2" (field_expression "(int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_finish" (field_expression "(int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl" (binary_expression "(int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "(int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "(int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std" (binary_expression "(int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold" (cast_expression "(int)(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                          super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                          super__Vector_base" (field_expression "(object->super_Sized_relobj<32,_false>).super_Relobj.output_sections_" (field_expression "(object->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(object->super_Sized_relobj<32,_false>)" ( (comma_expression "object->super_Sized_relobj<32,_false" (binary_expression "object->super_Sized_relobj<32" (field_expression "object->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) - (cast_expression "(int)ppOVar2" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) ))) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n          }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");" (call_expression "do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section")" identifier (argument_list "("../../gold/object.h",0x5c8,"do_output_section")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""do_output_section"" " string_content ") ))) ;)) })) (expression_statement "puVar1 = &ppOVar2[uVar8]->field_0x90;" (assignment_expression "puVar1 = &ppOVar2[uVar8]->field_0x90" identifier = (pointer_expression "&ppOVar2[uVar8]->field_0x90" & (field_expression "ppOVar2[uVar8]->field_0x90" (subscript_expression "ppOVar2[uVar8]" identifier [ identifier ]) -> field_identifier))) ;) (expression_statement "*puVar1 = *puVar1 | 1;" (assignment_expression "*puVar1 = *puVar1 | 1" (pointer_expression "*puVar1" * identifier) = (binary_expression "*puVar1 | 1" (pointer_expression "*puVar1" * identifier) | number_literal)) ;) (expression_statement "local_1d[0] = uVar9;" (assignment_expression "local_1d[0] = uVar9" (subscript_expression "local_1d[0]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n          iVar7 = (*p_Var3)(object,uVar8);\n          *(byte *)(iVar7 + 0x90) = *(byte *)(iVar7 + 0x90) | 1;\n          local_1d[0] = uVar9;\n        }" else (compound_statement "{\n          iVar7 = (*p_Var3)(object,uVar8);\n          *(byte *)(iVar7 + 0x90) = *(byte *)(iVar7 + 0x90) | 1;\n          local_1d[0] = uVar9;\n        }" { (expression_statement "iVar7 = (*p_Var3)(object,uVar8);" (assignment_expression "iVar7 = (*p_Var3)(object,uVar8)" identifier = (call_expression "(*p_Var3)(object,uVar8)" (parenthesized_expression "(*p_Var3)" ( (pointer_expression "*p_Var3" * identifier) )) (argument_list "(object,uVar8)" ( identifier , identifier )))) ;) (expression_statement "*(byte *)(iVar7 + 0x90) = *(byte *)(iVar7 + 0x90) | 1;" (assignment_expression "*(byte *)(iVar7 + 0x90) = *(byte *)(iVar7 + 0x90) | 1" (pointer_expression "*(byte *)(iVar7 + 0x90)" * (cast_expression "(byte *)(iVar7 + 0x90)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x90)" ( (binary_expression "iVar7 + 0x90" identifier + number_literal) )))) = (binary_expression "*(byte *)(iVar7 + 0x90) | 1" (pointer_expression "*(byte *)(iVar7 + 0x90)" * (cast_expression "(byte *)(iVar7 + 0x90)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x90)" ( (binary_expression "iVar7 + 0x90" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "local_1d[0] = uVar9;" (assignment_expression "local_1d[0] = uVar9" (subscript_expression "local_1d[0]" identifier [ number_literal ]) = identifier) ;) })))) }) (else_clause "else {\n        local_1d[0] = '\0';\n      }" else (compound_statement "{\n        local_1d[0] = '\0';\n      }" { (expression_statement "local_1d[0] = '\0';" (assignment_expression "local_1d[0] = '\0'" (subscript_expression "local_1d[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) }))) (labeled_statement "LAB_0005060d:\n      std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                (&rr->reloc_strategies_,local_1d);" statement_identifier : (labeled_statement "std::vector<unsigned_char,_std::allocator<unsigned_char>_>::emplace_back<unsigned_char>\n                (&rr->reloc_strategies_,local_1d);" statement_identifier (ERROR "::vector<unsigned_char,_std::allocator<unsigned_char>_>:" : : (comma_expression "vector<unsigned_char,_std" (binary_expression "vector<unsigned_char" identifier < identifier) , identifier) : : (binary_expression "allocator<unsigned_char>_" (binary_expression "allocator<unsigned_char" identifier < identifier) > identifier) > :) : (expression_statement "emplace_back<unsigned_char>\n                (&rr->reloc_strategies_,local_1d);" (binary_expression "emplace_back<unsigned_char>\n                (&rr->reloc_strategies_,local_1d)" (binary_expression "emplace_back<unsigned_char" identifier < identifier) > (parenthesized_expression "(&rr->reloc_strategies_,local_1d)" ( (comma_expression "&rr->reloc_strategies_,local_1d" (pointer_expression "&rr->reloc_strategies_" & (field_expression "rr->reloc_strategies_" identifier -> field_identifier)) , identifier) ))) ;))) (expression_statement "local_48 = local_48 + 1;" (assignment_expression "local_48 = local_48 + 1" identifier = (binary_expression "local_48 + 1" identifier + number_literal)) ;) (expression_statement "rr->output_reloc_count_ = rr->output_reloc_count_ + 1;" (assignment_expression "rr->output_reloc_count_ = rr->output_reloc_count_ + 1" (field_expression "rr->output_reloc_count_" identifier -> field_identifier) = (binary_expression "rr->output_reloc_count_ + 1" (field_expression "rr->output_reloc_count_" identifier -> field_identifier) + number_literal)) ;) }) while (parenthesized_expression "(reloc_count != local_48)" ( (binary_expression "reloc_count != local_48" identifier != identifier) )) ;) })) (return_statement "return;" return ;) })))
(translation_unit "void FUN_000505b0(void)\n\n{\n  uint uVar1;\n  char cVar2;\n  int *piVar3;\n  int iVar4;\n  int iVar5;\n  uint uVar6;\n  int unaff_EBP;\n  uint uVar7;\n  undefined8 uVar8;\n  int *in_stack_00000010;\n  undefined4 in_stack_00000014;\n  int in_stack_00000018;\n  int in_stack_0000001c;\n  int in_stack_00000020;\n  undefined4 in_stack_00000024;\n  char in_stack_00000028;\n  uint in_stack_0000002c;\n  int in_stack_00000030;\n  int in_stack_00000034;\n  int local_48;\n  char local_40;\n  undefined1 local_1d [13];\n  \n  FUN_00058c4e();\n  if (in_stack_00000018 != 9) {\n                    \n    FUN_0008b620(unaff_EBP + 0x1fae05,0xed0,unaff_EBP + 0x1fce66,in_stack_00000028);\n  }\n  if (in_stack_00000020 != 0) {\n    local_48 = 0;\n    do {\n      while ((in_stack_00000028 != '\0' &&\n             (cVar2 = FUN_000efc00(in_stack_00000024,in_stack_00000010,in_stack_00000014,\n                                   *(undefined4 *)(in_stack_0000001c + local_48 * 8),0),\n             cVar2 == '\0'))) {\nLAB_00050750:\n        local_1d[0] = 8;\n        FUN_000563d0(in_stack_00000034,local_1d);\n        local_48 = local_48 + 1;\n        if (in_stack_00000020 == local_48) {\n          return;\n        }\n      }\n      uVar1 = *(uint *)(in_stack_0000001c + 4 + local_48 * 8);\n      uVar7 = uVar1 >> 8;\n      if (uVar7 < in_stack_0000002c) {\n        if (in_stack_00000030 == 0) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1faf23,0x2e4,unaff_EBP + 0x1fce4e);\n        }\n        iVar5 = in_stack_00000030 + uVar7 * 0x10;\n        uVar6 = (uint)*(ushort *)(iVar5 + 0xe);\n        if (uVar6 < 0xff00) {\nLAB_00050725:\n          if (uVar6 != 0) {\n            if ((uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2) <= uVar6) {\n                    \n              FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6);\n            }\n            if (*(int *)(in_stack_00000010[0xe] + uVar6 * 4) == 0) goto LAB_00050750;\n          }\n        }\n        else if (uVar6 == 0xffff) {\n          iVar4 = in_stack_00000010[0xc];\n          if (iVar4 == 0) {\n            iVar4 = (**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010);\n            in_stack_00000010[0xc] = iVar4;\n          }\n          uVar6 = FUN_000beba0(iVar4,in_stack_00000010,uVar7);\n          goto LAB_00050725;\n        }\n        local_40 = (char)uVar1;\n        if ((*(byte *)(iVar5 + 0xc) & 0xf) == 3) {\n          uVar8 = FUN_000490f0();\n          if ((uint)uVar8 < 9) {\n                    \n                    \n            (*(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a))();\n            return;\n          }\n                    \n          FUN_0008b620(unaff_EBP + 0x1faf23,0x276,unaff_EBP + 0x1fce36,\n                       (int)((ulonglong)uVar8 >> 0x20));\n        }\n        if (local_40 == '\0' && uVar7 == 0) goto LAB_00050750;\n        if ((uint)(in_stack_00000010[0x38] - in_stack_00000010[0x37] >> 4) <= uVar7) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x8e3,unaff_EBP + 0x1fceca);\n        }\n        piVar3 = (int *)(in_stack_00000010[0x37] + uVar7 * 0x10);\n        iVar5 = *piVar3;\n        if ((iVar5 != 0) && (iVar5 != -2)) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x71f,unaff_EBP + 0x1fce8a);\n        }\n        *piVar3 = -2;\n      }\n      local_1d[0] = 0;\n      FUN_000563d0(in_stack_00000034,local_1d);\n      local_48 = local_48 + 1;\n      *(int *)(in_stack_00000034 + 0xc) = *(int *)(in_stack_00000034 + 0xc) + 1;\n    } while (in_stack_00000020 != local_48);\n  }\n  return;\n}\n\n" (function_definition "void FUN_000505b0(void)\n\n{\n  uint uVar1;\n  char cVar2;\n  int *piVar3;\n  int iVar4;\n  int iVar5;\n  uint uVar6;\n  int unaff_EBP;\n  uint uVar7;\n  undefined8 uVar8;\n  int *in_stack_00000010;\n  undefined4 in_stack_00000014;\n  int in_stack_00000018;\n  int in_stack_0000001c;\n  int in_stack_00000020;\n  undefined4 in_stack_00000024;\n  char in_stack_00000028;\n  uint in_stack_0000002c;\n  int in_stack_00000030;\n  int in_stack_00000034;\n  int local_48;\n  char local_40;\n  undefined1 local_1d [13];\n  \n  FUN_00058c4e();\n  if (in_stack_00000018 != 9) {\n                    \n    FUN_0008b620(unaff_EBP + 0x1fae05,0xed0,unaff_EBP + 0x1fce66,in_stack_00000028);\n  }\n  if (in_stack_00000020 != 0) {\n    local_48 = 0;\n    do {\n      while ((in_stack_00000028 != '\0' &&\n             (cVar2 = FUN_000efc00(in_stack_00000024,in_stack_00000010,in_stack_00000014,\n                                   *(undefined4 *)(in_stack_0000001c + local_48 * 8),0),\n             cVar2 == '\0'))) {\nLAB_00050750:\n        local_1d[0] = 8;\n        FUN_000563d0(in_stack_00000034,local_1d);\n        local_48 = local_48 + 1;\n        if (in_stack_00000020 == local_48) {\n          return;\n        }\n      }\n      uVar1 = *(uint *)(in_stack_0000001c + 4 + local_48 * 8);\n      uVar7 = uVar1 >> 8;\n      if (uVar7 < in_stack_0000002c) {\n        if (in_stack_00000030 == 0) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1faf23,0x2e4,unaff_EBP + 0x1fce4e);\n        }\n        iVar5 = in_stack_00000030 + uVar7 * 0x10;\n        uVar6 = (uint)*(ushort *)(iVar5 + 0xe);\n        if (uVar6 < 0xff00) {\nLAB_00050725:\n          if (uVar6 != 0) {\n            if ((uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2) <= uVar6) {\n                    \n              FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6);\n            }\n            if (*(int *)(in_stack_00000010[0xe] + uVar6 * 4) == 0) goto LAB_00050750;\n          }\n        }\n        else if (uVar6 == 0xffff) {\n          iVar4 = in_stack_00000010[0xc];\n          if (iVar4 == 0) {\n            iVar4 = (**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010);\n            in_stack_00000010[0xc] = iVar4;\n          }\n          uVar6 = FUN_000beba0(iVar4,in_stack_00000010,uVar7);\n          goto LAB_00050725;\n        }\n        local_40 = (char)uVar1;\n        if ((*(byte *)(iVar5 + 0xc) & 0xf) == 3) {\n          uVar8 = FUN_000490f0();\n          if ((uint)uVar8 < 9) {\n                    \n                    \n            (*(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a))();\n            return;\n          }\n                    \n          FUN_0008b620(unaff_EBP + 0x1faf23,0x276,unaff_EBP + 0x1fce36,\n                       (int)((ulonglong)uVar8 >> 0x20));\n        }\n        if (local_40 == '\0' && uVar7 == 0) goto LAB_00050750;\n        if ((uint)(in_stack_00000010[0x38] - in_stack_00000010[0x37] >> 4) <= uVar7) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x8e3,unaff_EBP + 0x1fceca);\n        }\n        piVar3 = (int *)(in_stack_00000010[0x37] + uVar7 * 0x10);\n        iVar5 = *piVar3;\n        if ((iVar5 != 0) && (iVar5 != -2)) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x71f,unaff_EBP + 0x1fce8a);\n        }\n        *piVar3 = -2;\n      }\n      local_1d[0] = 0;\n      FUN_000563d0(in_stack_00000034,local_1d);\n      local_48 = local_48 + 1;\n      *(int *)(in_stack_00000034 + 0xc) = *(int *)(in_stack_00000034 + 0xc) + 1;\n    } while (in_stack_00000020 != local_48);\n  }\n  return;\n}" primitive_type (function_declarator "FUN_000505b0(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  uint uVar1;\n  char cVar2;\n  int *piVar3;\n  int iVar4;\n  int iVar5;\n  uint uVar6;\n  int unaff_EBP;\n  uint uVar7;\n  undefined8 uVar8;\n  int *in_stack_00000010;\n  undefined4 in_stack_00000014;\n  int in_stack_00000018;\n  int in_stack_0000001c;\n  int in_stack_00000020;\n  undefined4 in_stack_00000024;\n  char in_stack_00000028;\n  uint in_stack_0000002c;\n  int in_stack_00000030;\n  int in_stack_00000034;\n  int local_48;\n  char local_40;\n  undefined1 local_1d [13];\n  \n  FUN_00058c4e();\n  if (in_stack_00000018 != 9) {\n                    \n    FUN_0008b620(unaff_EBP + 0x1fae05,0xed0,unaff_EBP + 0x1fce66,in_stack_00000028);\n  }\n  if (in_stack_00000020 != 0) {\n    local_48 = 0;\n    do {\n      while ((in_stack_00000028 != '\0' &&\n             (cVar2 = FUN_000efc00(in_stack_00000024,in_stack_00000010,in_stack_00000014,\n                                   *(undefined4 *)(in_stack_0000001c + local_48 * 8),0),\n             cVar2 == '\0'))) {\nLAB_00050750:\n        local_1d[0] = 8;\n        FUN_000563d0(in_stack_00000034,local_1d);\n        local_48 = local_48 + 1;\n        if (in_stack_00000020 == local_48) {\n          return;\n        }\n      }\n      uVar1 = *(uint *)(in_stack_0000001c + 4 + local_48 * 8);\n      uVar7 = uVar1 >> 8;\n      if (uVar7 < in_stack_0000002c) {\n        if (in_stack_00000030 == 0) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1faf23,0x2e4,unaff_EBP + 0x1fce4e);\n        }\n        iVar5 = in_stack_00000030 + uVar7 * 0x10;\n        uVar6 = (uint)*(ushort *)(iVar5 + 0xe);\n        if (uVar6 < 0xff00) {\nLAB_00050725:\n          if (uVar6 != 0) {\n            if ((uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2) <= uVar6) {\n                    \n              FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6);\n            }\n            if (*(int *)(in_stack_00000010[0xe] + uVar6 * 4) == 0) goto LAB_00050750;\n          }\n        }\n        else if (uVar6 == 0xffff) {\n          iVar4 = in_stack_00000010[0xc];\n          if (iVar4 == 0) {\n            iVar4 = (**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010);\n            in_stack_00000010[0xc] = iVar4;\n          }\n          uVar6 = FUN_000beba0(iVar4,in_stack_00000010,uVar7);\n          goto LAB_00050725;\n        }\n        local_40 = (char)uVar1;\n        if ((*(byte *)(iVar5 + 0xc) & 0xf) == 3) {\n          uVar8 = FUN_000490f0();\n          if ((uint)uVar8 < 9) {\n                    \n                    \n            (*(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a))();\n            return;\n          }\n                    \n          FUN_0008b620(unaff_EBP + 0x1faf23,0x276,unaff_EBP + 0x1fce36,\n                       (int)((ulonglong)uVar8 >> 0x20));\n        }\n        if (local_40 == '\0' && uVar7 == 0) goto LAB_00050750;\n        if ((uint)(in_stack_00000010[0x38] - in_stack_00000010[0x37] >> 4) <= uVar7) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x8e3,unaff_EBP + 0x1fceca);\n        }\n        piVar3 = (int *)(in_stack_00000010[0x37] + uVar7 * 0x10);\n        iVar5 = *piVar3;\n        if ((iVar5 != 0) && (iVar5 != -2)) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x71f,unaff_EBP + 0x1fce8a);\n        }\n        *piVar3 = -2;\n      }\n      local_1d[0] = 0;\n      FUN_000563d0(in_stack_00000034,local_1d);\n      local_48 = local_48 + 1;\n      *(int *)(in_stack_00000034 + 0xc) = *(int *)(in_stack_00000034 + 0xc) + 1;\n    } while (in_stack_00000020 != local_48);\n  }\n  return;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "int unaff_EBP;" primitive_type identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "undefined8 uVar8;" type_identifier identifier ;) (declaration "int *in_stack_00000010;" primitive_type (pointer_declarator "*in_stack_00000010" * identifier) ;) (declaration "undefined4 in_stack_00000014;" type_identifier identifier ;) (declaration "int in_stack_00000018;" primitive_type identifier ;) (declaration "int in_stack_0000001c;" primitive_type identifier ;) (declaration "int in_stack_00000020;" primitive_type identifier ;) (declaration "undefined4 in_stack_00000024;" type_identifier identifier ;) (declaration "char in_stack_00000028;" primitive_type identifier ;) (declaration "uint in_stack_0000002c;" type_identifier identifier ;) (declaration "int in_stack_00000030;" primitive_type identifier ;) (declaration "int in_stack_00000034;" primitive_type identifier ;) (declaration "int local_48;" primitive_type identifier ;) (declaration "char local_40;" primitive_type identifier ;) (declaration "undefined1 local_1d [13];" type_identifier (array_declarator "local_1d [13]" identifier [ number_literal ]) ;) (expression_statement "FUN_00058c4e();" (call_expression "FUN_00058c4e()" identifier (argument_list "()" ( ))) ;) (if_statement "if (in_stack_00000018 != 9) {\n                    \n    FUN_0008b620(unaff_EBP + 0x1fae05,0xed0,unaff_EBP + 0x1fce66,in_stack_00000028);\n  }" if (parenthesized_expression "(in_stack_00000018 != 9)" ( (binary_expression "in_stack_00000018 != 9" identifier != number_literal) )) (compound_statement "{\n                    \n    FUN_0008b620(unaff_EBP + 0x1fae05,0xed0,unaff_EBP + 0x1fce66,in_stack_00000028);\n  }" { (expression_statement "FUN_0008b620(unaff_EBP + 0x1fae05,0xed0,unaff_EBP + 0x1fce66,in_stack_00000028);" (call_expression "FUN_0008b620(unaff_EBP + 0x1fae05,0xed0,unaff_EBP + 0x1fce66,in_stack_00000028)" identifier (argument_list "(unaff_EBP + 0x1fae05,0xed0,unaff_EBP + 0x1fce66,in_stack_00000028)" ( (binary_expression "unaff_EBP + 0x1fae05" identifier + number_literal) , number_literal , (binary_expression "unaff_EBP + 0x1fce66" identifier + number_literal) , identifier ))) ;) })) (if_statement "if (in_stack_00000020 != 0) {\n    local_48 = 0;\n    do {\n      while ((in_stack_00000028 != '\0' &&\n             (cVar2 = FUN_000efc00(in_stack_00000024,in_stack_00000010,in_stack_00000014,\n                                   *(undefined4 *)(in_stack_0000001c + local_48 * 8),0),\n             cVar2 == '\0'))) {\nLAB_00050750:\n        local_1d[0] = 8;\n        FUN_000563d0(in_stack_00000034,local_1d);\n        local_48 = local_48 + 1;\n        if (in_stack_00000020 == local_48) {\n          return;\n        }\n      }\n      uVar1 = *(uint *)(in_stack_0000001c + 4 + local_48 * 8);\n      uVar7 = uVar1 >> 8;\n      if (uVar7 < in_stack_0000002c) {\n        if (in_stack_00000030 == 0) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1faf23,0x2e4,unaff_EBP + 0x1fce4e);\n        }\n        iVar5 = in_stack_00000030 + uVar7 * 0x10;\n        uVar6 = (uint)*(ushort *)(iVar5 + 0xe);\n        if (uVar6 < 0xff00) {\nLAB_00050725:\n          if (uVar6 != 0) {\n            if ((uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2) <= uVar6) {\n                    \n              FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6);\n            }\n            if (*(int *)(in_stack_00000010[0xe] + uVar6 * 4) == 0) goto LAB_00050750;\n          }\n        }\n        else if (uVar6 == 0xffff) {\n          iVar4 = in_stack_00000010[0xc];\n          if (iVar4 == 0) {\n            iVar4 = (**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010);\n            in_stack_00000010[0xc] = iVar4;\n          }\n          uVar6 = FUN_000beba0(iVar4,in_stack_00000010,uVar7);\n          goto LAB_00050725;\n        }\n        local_40 = (char)uVar1;\n        if ((*(byte *)(iVar5 + 0xc) & 0xf) == 3) {\n          uVar8 = FUN_000490f0();\n          if ((uint)uVar8 < 9) {\n                    \n                    \n            (*(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a))();\n            return;\n          }\n                    \n          FUN_0008b620(unaff_EBP + 0x1faf23,0x276,unaff_EBP + 0x1fce36,\n                       (int)((ulonglong)uVar8 >> 0x20));\n        }\n        if (local_40 == '\0' && uVar7 == 0) goto LAB_00050750;\n        if ((uint)(in_stack_00000010[0x38] - in_stack_00000010[0x37] >> 4) <= uVar7) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x8e3,unaff_EBP + 0x1fceca);\n        }\n        piVar3 = (int *)(in_stack_00000010[0x37] + uVar7 * 0x10);\n        iVar5 = *piVar3;\n        if ((iVar5 != 0) && (iVar5 != -2)) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x71f,unaff_EBP + 0x1fce8a);\n        }\n        *piVar3 = -2;\n      }\n      local_1d[0] = 0;\n      FUN_000563d0(in_stack_00000034,local_1d);\n      local_48 = local_48 + 1;\n      *(int *)(in_stack_00000034 + 0xc) = *(int *)(in_stack_00000034 + 0xc) + 1;\n    } while (in_stack_00000020 != local_48);\n  }" if (parenthesized_expression "(in_stack_00000020 != 0)" ( (binary_expression "in_stack_00000020 != 0" identifier != number_literal) )) (compound_statement "{\n    local_48 = 0;\n    do {\n      while ((in_stack_00000028 != '\0' &&\n             (cVar2 = FUN_000efc00(in_stack_00000024,in_stack_00000010,in_stack_00000014,\n                                   *(undefined4 *)(in_stack_0000001c + local_48 * 8),0),\n             cVar2 == '\0'))) {\nLAB_00050750:\n        local_1d[0] = 8;\n        FUN_000563d0(in_stack_00000034,local_1d);\n        local_48 = local_48 + 1;\n        if (in_stack_00000020 == local_48) {\n          return;\n        }\n      }\n      uVar1 = *(uint *)(in_stack_0000001c + 4 + local_48 * 8);\n      uVar7 = uVar1 >> 8;\n      if (uVar7 < in_stack_0000002c) {\n        if (in_stack_00000030 == 0) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1faf23,0x2e4,unaff_EBP + 0x1fce4e);\n        }\n        iVar5 = in_stack_00000030 + uVar7 * 0x10;\n        uVar6 = (uint)*(ushort *)(iVar5 + 0xe);\n        if (uVar6 < 0xff00) {\nLAB_00050725:\n          if (uVar6 != 0) {\n            if ((uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2) <= uVar6) {\n                    \n              FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6);\n            }\n            if (*(int *)(in_stack_00000010[0xe] + uVar6 * 4) == 0) goto LAB_00050750;\n          }\n        }\n        else if (uVar6 == 0xffff) {\n          iVar4 = in_stack_00000010[0xc];\n          if (iVar4 == 0) {\n            iVar4 = (**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010);\n            in_stack_00000010[0xc] = iVar4;\n          }\n          uVar6 = FUN_000beba0(iVar4,in_stack_00000010,uVar7);\n          goto LAB_00050725;\n        }\n        local_40 = (char)uVar1;\n        if ((*(byte *)(iVar5 + 0xc) & 0xf) == 3) {\n          uVar8 = FUN_000490f0();\n          if ((uint)uVar8 < 9) {\n                    \n                    \n            (*(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a))();\n            return;\n          }\n                    \n          FUN_0008b620(unaff_EBP + 0x1faf23,0x276,unaff_EBP + 0x1fce36,\n                       (int)((ulonglong)uVar8 >> 0x20));\n        }\n        if (local_40 == '\0' && uVar7 == 0) goto LAB_00050750;\n        if ((uint)(in_stack_00000010[0x38] - in_stack_00000010[0x37] >> 4) <= uVar7) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x8e3,unaff_EBP + 0x1fceca);\n        }\n        piVar3 = (int *)(in_stack_00000010[0x37] + uVar7 * 0x10);\n        iVar5 = *piVar3;\n        if ((iVar5 != 0) && (iVar5 != -2)) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x71f,unaff_EBP + 0x1fce8a);\n        }\n        *piVar3 = -2;\n      }\n      local_1d[0] = 0;\n      FUN_000563d0(in_stack_00000034,local_1d);\n      local_48 = local_48 + 1;\n      *(int *)(in_stack_00000034 + 0xc) = *(int *)(in_stack_00000034 + 0xc) + 1;\n    } while (in_stack_00000020 != local_48);\n  }" { (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" identifier = number_literal) ;) (do_statement "do {\n      while ((in_stack_00000028 != '\0' &&\n             (cVar2 = FUN_000efc00(in_stack_00000024,in_stack_00000010,in_stack_00000014,\n                                   *(undefined4 *)(in_stack_0000001c + local_48 * 8),0),\n             cVar2 == '\0'))) {\nLAB_00050750:\n        local_1d[0] = 8;\n        FUN_000563d0(in_stack_00000034,local_1d);\n        local_48 = local_48 + 1;\n        if (in_stack_00000020 == local_48) {\n          return;\n        }\n      }\n      uVar1 = *(uint *)(in_stack_0000001c + 4 + local_48 * 8);\n      uVar7 = uVar1 >> 8;\n      if (uVar7 < in_stack_0000002c) {\n        if (in_stack_00000030 == 0) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1faf23,0x2e4,unaff_EBP + 0x1fce4e);\n        }\n        iVar5 = in_stack_00000030 + uVar7 * 0x10;\n        uVar6 = (uint)*(ushort *)(iVar5 + 0xe);\n        if (uVar6 < 0xff00) {\nLAB_00050725:\n          if (uVar6 != 0) {\n            if ((uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2) <= uVar6) {\n                    \n              FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6);\n            }\n            if (*(int *)(in_stack_00000010[0xe] + uVar6 * 4) == 0) goto LAB_00050750;\n          }\n        }\n        else if (uVar6 == 0xffff) {\n          iVar4 = in_stack_00000010[0xc];\n          if (iVar4 == 0) {\n            iVar4 = (**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010);\n            in_stack_00000010[0xc] = iVar4;\n          }\n          uVar6 = FUN_000beba0(iVar4,in_stack_00000010,uVar7);\n          goto LAB_00050725;\n        }\n        local_40 = (char)uVar1;\n        if ((*(byte *)(iVar5 + 0xc) & 0xf) == 3) {\n          uVar8 = FUN_000490f0();\n          if ((uint)uVar8 < 9) {\n                    \n                    \n            (*(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a))();\n            return;\n          }\n                    \n          FUN_0008b620(unaff_EBP + 0x1faf23,0x276,unaff_EBP + 0x1fce36,\n                       (int)((ulonglong)uVar8 >> 0x20));\n        }\n        if (local_40 == '\0' && uVar7 == 0) goto LAB_00050750;\n        if ((uint)(in_stack_00000010[0x38] - in_stack_00000010[0x37] >> 4) <= uVar7) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x8e3,unaff_EBP + 0x1fceca);\n        }\n        piVar3 = (int *)(in_stack_00000010[0x37] + uVar7 * 0x10);\n        iVar5 = *piVar3;\n        if ((iVar5 != 0) && (iVar5 != -2)) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x71f,unaff_EBP + 0x1fce8a);\n        }\n        *piVar3 = -2;\n      }\n      local_1d[0] = 0;\n      FUN_000563d0(in_stack_00000034,local_1d);\n      local_48 = local_48 + 1;\n      *(int *)(in_stack_00000034 + 0xc) = *(int *)(in_stack_00000034 + 0xc) + 1;\n    } while (in_stack_00000020 != local_48);" do (compound_statement "{\n      while ((in_stack_00000028 != '\0' &&\n             (cVar2 = FUN_000efc00(in_stack_00000024,in_stack_00000010,in_stack_00000014,\n                                   *(undefined4 *)(in_stack_0000001c + local_48 * 8),0),\n             cVar2 == '\0'))) {\nLAB_00050750:\n        local_1d[0] = 8;\n        FUN_000563d0(in_stack_00000034,local_1d);\n        local_48 = local_48 + 1;\n        if (in_stack_00000020 == local_48) {\n          return;\n        }\n      }\n      uVar1 = *(uint *)(in_stack_0000001c + 4 + local_48 * 8);\n      uVar7 = uVar1 >> 8;\n      if (uVar7 < in_stack_0000002c) {\n        if (in_stack_00000030 == 0) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1faf23,0x2e4,unaff_EBP + 0x1fce4e);\n        }\n        iVar5 = in_stack_00000030 + uVar7 * 0x10;\n        uVar6 = (uint)*(ushort *)(iVar5 + 0xe);\n        if (uVar6 < 0xff00) {\nLAB_00050725:\n          if (uVar6 != 0) {\n            if ((uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2) <= uVar6) {\n                    \n              FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6);\n            }\n            if (*(int *)(in_stack_00000010[0xe] + uVar6 * 4) == 0) goto LAB_00050750;\n          }\n        }\n        else if (uVar6 == 0xffff) {\n          iVar4 = in_stack_00000010[0xc];\n          if (iVar4 == 0) {\n            iVar4 = (**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010);\n            in_stack_00000010[0xc] = iVar4;\n          }\n          uVar6 = FUN_000beba0(iVar4,in_stack_00000010,uVar7);\n          goto LAB_00050725;\n        }\n        local_40 = (char)uVar1;\n        if ((*(byte *)(iVar5 + 0xc) & 0xf) == 3) {\n          uVar8 = FUN_000490f0();\n          if ((uint)uVar8 < 9) {\n                    \n                    \n            (*(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a))();\n            return;\n          }\n                    \n          FUN_0008b620(unaff_EBP + 0x1faf23,0x276,unaff_EBP + 0x1fce36,\n                       (int)((ulonglong)uVar8 >> 0x20));\n        }\n        if (local_40 == '\0' && uVar7 == 0) goto LAB_00050750;\n        if ((uint)(in_stack_00000010[0x38] - in_stack_00000010[0x37] >> 4) <= uVar7) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x8e3,unaff_EBP + 0x1fceca);\n        }\n        piVar3 = (int *)(in_stack_00000010[0x37] + uVar7 * 0x10);\n        iVar5 = *piVar3;\n        if ((iVar5 != 0) && (iVar5 != -2)) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x71f,unaff_EBP + 0x1fce8a);\n        }\n        *piVar3 = -2;\n      }\n      local_1d[0] = 0;\n      FUN_000563d0(in_stack_00000034,local_1d);\n      local_48 = local_48 + 1;\n      *(int *)(in_stack_00000034 + 0xc) = *(int *)(in_stack_00000034 + 0xc) + 1;\n    }" { (while_statement "while ((in_stack_00000028 != '\0' &&\n             (cVar2 = FUN_000efc00(in_stack_00000024,in_stack_00000010,in_stack_00000014,\n                                   *(undefined4 *)(in_stack_0000001c + local_48 * 8),0),\n             cVar2 == '\0'))) {\nLAB_00050750:\n        local_1d[0] = 8;\n        FUN_000563d0(in_stack_00000034,local_1d);\n        local_48 = local_48 + 1;\n        if (in_stack_00000020 == local_48) {\n          return;\n        }\n      }" while (parenthesized_expression "((in_stack_00000028 != '\0' &&\n             (cVar2 = FUN_000efc00(in_stack_00000024,in_stack_00000010,in_stack_00000014,\n                                   *(undefined4 *)(in_stack_0000001c + local_48 * 8),0),\n             cVar2 == '\0')))" ( (parenthesized_expression "(in_stack_00000028 != '\0' &&\n             (cVar2 = FUN_000efc00(in_stack_00000024,in_stack_00000010,in_stack_00000014,\n                                   *(undefined4 *)(in_stack_0000001c + local_48 * 8),0),\n             cVar2 == '\0'))" ( (binary_expression "in_stack_00000028 != '\0' &&\n             (cVar2 = FUN_000efc00(in_stack_00000024,in_stack_00000010,in_stack_00000014,\n                                   *(undefined4 *)(in_stack_0000001c + local_48 * 8),0),\n             cVar2 == '\0')" (binary_expression "in_stack_00000028 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) && (parenthesized_expression "(cVar2 = FUN_000efc00(in_stack_00000024,in_stack_00000010,in_stack_00000014,\n                                   *(undefined4 *)(in_stack_0000001c + local_48 * 8),0),\n             cVar2 == '\0')" ( (comma_expression "cVar2 = FUN_000efc00(in_stack_00000024,in_stack_00000010,in_stack_00000014,\n                                   *(undefined4 *)(in_stack_0000001c + local_48 * 8),0),\n             cVar2 == '\0'" (assignment_expression "cVar2 = FUN_000efc00(in_stack_00000024,in_stack_00000010,in_stack_00000014,\n                                   *(undefined4 *)(in_stack_0000001c + local_48 * 8),0)" identifier = (call_expression "FUN_000efc00(in_stack_00000024,in_stack_00000010,in_stack_00000014,\n                                   *(undefined4 *)(in_stack_0000001c + local_48 * 8),0)" identifier (argument_list "(in_stack_00000024,in_stack_00000010,in_stack_00000014,\n                                   *(undefined4 *)(in_stack_0000001c + local_48 * 8),0)" ( identifier , identifier , identifier , (pointer_expression "*(undefined4 *)(in_stack_0000001c + local_48 * 8)" * (cast_expression "(undefined4 *)(in_stack_0000001c + local_48 * 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_stack_0000001c + local_48 * 8)" ( (binary_expression "in_stack_0000001c + local_48 * 8" identifier + (binary_expression "local_48 * 8" identifier * number_literal)) )))) , number_literal )))) , (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ))) )) )) (compound_statement "{\nLAB_00050750:\n        local_1d[0] = 8;\n        FUN_000563d0(in_stack_00000034,local_1d);\n        local_48 = local_48 + 1;\n        if (in_stack_00000020 == local_48) {\n          return;\n        }\n      }" { (labeled_statement "LAB_00050750:\n        local_1d[0] = 8;" statement_identifier : (expression_statement "local_1d[0] = 8;" (assignment_expression "local_1d[0] = 8" (subscript_expression "local_1d[0]" identifier [ number_literal ]) = number_literal) ;)) (expression_statement "FUN_000563d0(in_stack_00000034,local_1d);" (call_expression "FUN_000563d0(in_stack_00000034,local_1d)" identifier (argument_list "(in_stack_00000034,local_1d)" ( identifier , identifier ))) ;) (expression_statement "local_48 = local_48 + 1;" (assignment_expression "local_48 = local_48 + 1" identifier = (binary_expression "local_48 + 1" identifier + number_literal)) ;) (if_statement "if (in_stack_00000020 == local_48) {\n          return;\n        }" if (parenthesized_expression "(in_stack_00000020 == local_48)" ( (binary_expression "in_stack_00000020 == local_48" identifier == identifier) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) })) (expression_statement "uVar1 = *(uint *)(in_stack_0000001c + 4 + local_48 * 8);" (assignment_expression "uVar1 = *(uint *)(in_stack_0000001c + 4 + local_48 * 8)" identifier = (pointer_expression "*(uint *)(in_stack_0000001c + 4 + local_48 * 8)" * (cast_expression "(uint *)(in_stack_0000001c + 4 + local_48 * 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_stack_0000001c + 4 + local_48 * 8)" ( (binary_expression "in_stack_0000001c + 4 + local_48 * 8" (binary_expression "in_stack_0000001c + 4" identifier + number_literal) + (binary_expression "local_48 * 8" identifier * number_literal)) ))))) ;) (expression_statement "uVar7 = uVar1 >> 8;" (assignment_expression "uVar7 = uVar1 >> 8" identifier = (binary_expression "uVar1 >> 8" identifier >> number_literal)) ;) (if_statement "if (uVar7 < in_stack_0000002c) {\n        if (in_stack_00000030 == 0) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1faf23,0x2e4,unaff_EBP + 0x1fce4e);\n        }\n        iVar5 = in_stack_00000030 + uVar7 * 0x10;\n        uVar6 = (uint)*(ushort *)(iVar5 + 0xe);\n        if (uVar6 < 0xff00) {\nLAB_00050725:\n          if (uVar6 != 0) {\n            if ((uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2) <= uVar6) {\n                    \n              FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6);\n            }\n            if (*(int *)(in_stack_00000010[0xe] + uVar6 * 4) == 0) goto LAB_00050750;\n          }\n        }\n        else if (uVar6 == 0xffff) {\n          iVar4 = in_stack_00000010[0xc];\n          if (iVar4 == 0) {\n            iVar4 = (**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010);\n            in_stack_00000010[0xc] = iVar4;\n          }\n          uVar6 = FUN_000beba0(iVar4,in_stack_00000010,uVar7);\n          goto LAB_00050725;\n        }\n        local_40 = (char)uVar1;\n        if ((*(byte *)(iVar5 + 0xc) & 0xf) == 3) {\n          uVar8 = FUN_000490f0();\n          if ((uint)uVar8 < 9) {\n                    \n                    \n            (*(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a))();\n            return;\n          }\n                    \n          FUN_0008b620(unaff_EBP + 0x1faf23,0x276,unaff_EBP + 0x1fce36,\n                       (int)((ulonglong)uVar8 >> 0x20));\n        }\n        if (local_40 == '\0' && uVar7 == 0) goto LAB_00050750;\n        if ((uint)(in_stack_00000010[0x38] - in_stack_00000010[0x37] >> 4) <= uVar7) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x8e3,unaff_EBP + 0x1fceca);\n        }\n        piVar3 = (int *)(in_stack_00000010[0x37] + uVar7 * 0x10);\n        iVar5 = *piVar3;\n        if ((iVar5 != 0) && (iVar5 != -2)) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x71f,unaff_EBP + 0x1fce8a);\n        }\n        *piVar3 = -2;\n      }" if (parenthesized_expression "(uVar7 < in_stack_0000002c)" ( (binary_expression "uVar7 < in_stack_0000002c" identifier < identifier) )) (compound_statement "{\n        if (in_stack_00000030 == 0) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1faf23,0x2e4,unaff_EBP + 0x1fce4e);\n        }\n        iVar5 = in_stack_00000030 + uVar7 * 0x10;\n        uVar6 = (uint)*(ushort *)(iVar5 + 0xe);\n        if (uVar6 < 0xff00) {\nLAB_00050725:\n          if (uVar6 != 0) {\n            if ((uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2) <= uVar6) {\n                    \n              FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6);\n            }\n            if (*(int *)(in_stack_00000010[0xe] + uVar6 * 4) == 0) goto LAB_00050750;\n          }\n        }\n        else if (uVar6 == 0xffff) {\n          iVar4 = in_stack_00000010[0xc];\n          if (iVar4 == 0) {\n            iVar4 = (**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010);\n            in_stack_00000010[0xc] = iVar4;\n          }\n          uVar6 = FUN_000beba0(iVar4,in_stack_00000010,uVar7);\n          goto LAB_00050725;\n        }\n        local_40 = (char)uVar1;\n        if ((*(byte *)(iVar5 + 0xc) & 0xf) == 3) {\n          uVar8 = FUN_000490f0();\n          if ((uint)uVar8 < 9) {\n                    \n                    \n            (*(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a))();\n            return;\n          }\n                    \n          FUN_0008b620(unaff_EBP + 0x1faf23,0x276,unaff_EBP + 0x1fce36,\n                       (int)((ulonglong)uVar8 >> 0x20));\n        }\n        if (local_40 == '\0' && uVar7 == 0) goto LAB_00050750;\n        if ((uint)(in_stack_00000010[0x38] - in_stack_00000010[0x37] >> 4) <= uVar7) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x8e3,unaff_EBP + 0x1fceca);\n        }\n        piVar3 = (int *)(in_stack_00000010[0x37] + uVar7 * 0x10);\n        iVar5 = *piVar3;\n        if ((iVar5 != 0) && (iVar5 != -2)) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x71f,unaff_EBP + 0x1fce8a);\n        }\n        *piVar3 = -2;\n      }" { (if_statement "if (in_stack_00000030 == 0) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1faf23,0x2e4,unaff_EBP + 0x1fce4e);\n        }" if (parenthesized_expression "(in_stack_00000030 == 0)" ( (binary_expression "in_stack_00000030 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n          FUN_0008b620(unaff_EBP + 0x1faf23,0x2e4,unaff_EBP + 0x1fce4e);\n        }" { (expression_statement "FUN_0008b620(unaff_EBP + 0x1faf23,0x2e4,unaff_EBP + 0x1fce4e);" (call_expression "FUN_0008b620(unaff_EBP + 0x1faf23,0x2e4,unaff_EBP + 0x1fce4e)" identifier (argument_list "(unaff_EBP + 0x1faf23,0x2e4,unaff_EBP + 0x1fce4e)" ( (binary_expression "unaff_EBP + 0x1faf23" identifier + number_literal) , number_literal , (binary_expression "unaff_EBP + 0x1fce4e" identifier + number_literal) ))) ;) })) (expression_statement "iVar5 = in_stack_00000030 + uVar7 * 0x10;" (assignment_expression "iVar5 = in_stack_00000030 + uVar7 * 0x10" identifier = (binary_expression "in_stack_00000030 + uVar7 * 0x10" identifier + (binary_expression "uVar7 * 0x10" identifier * number_literal))) ;) (expression_statement "uVar6 = (uint)*(ushort *)(iVar5 + 0xe);" (assignment_expression "uVar6 = (uint)*(ushort *)(iVar5 + 0xe)" identifier = (binary_expression "(uint)*(ushort *)(iVar5 + 0xe)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)(iVar5 + 0xe)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0xe)" ( (binary_expression "iVar5 + 0xe" identifier + number_literal) ))))) ;) (if_statement "if (uVar6 < 0xff00) {\nLAB_00050725:\n          if (uVar6 != 0) {\n            if ((uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2) <= uVar6) {\n                    \n              FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6);\n            }\n            if (*(int *)(in_stack_00000010[0xe] + uVar6 * 4) == 0) goto LAB_00050750;\n          }\n        }\n        else if (uVar6 == 0xffff) {\n          iVar4 = in_stack_00000010[0xc];\n          if (iVar4 == 0) {\n            iVar4 = (**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010);\n            in_stack_00000010[0xc] = iVar4;\n          }\n          uVar6 = FUN_000beba0(iVar4,in_stack_00000010,uVar7);\n          goto LAB_00050725;\n        }" if (parenthesized_expression "(uVar6 < 0xff00)" ( (binary_expression "uVar6 < 0xff00" identifier < number_literal) )) (compound_statement "{\nLAB_00050725:\n          if (uVar6 != 0) {\n            if ((uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2) <= uVar6) {\n                    \n              FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6);\n            }\n            if (*(int *)(in_stack_00000010[0xe] + uVar6 * 4) == 0) goto LAB_00050750;\n          }\n        }" { (labeled_statement "LAB_00050725:\n          if (uVar6 != 0) {\n            if ((uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2) <= uVar6) {\n                    \n              FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6);\n            }\n            if (*(int *)(in_stack_00000010[0xe] + uVar6 * 4) == 0) goto LAB_00050750;\n          }" statement_identifier : (if_statement "if (uVar6 != 0) {\n            if ((uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2) <= uVar6) {\n                    \n              FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6);\n            }\n            if (*(int *)(in_stack_00000010[0xe] + uVar6 * 4) == 0) goto LAB_00050750;\n          }" if (parenthesized_expression "(uVar6 != 0)" ( (binary_expression "uVar6 != 0" identifier != number_literal) )) (compound_statement "{\n            if ((uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2) <= uVar6) {\n                    \n              FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6);\n            }\n            if (*(int *)(in_stack_00000010[0xe] + uVar6 * 4) == 0) goto LAB_00050750;\n          }" { (if_statement "if ((uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2) <= uVar6) {\n                    \n              FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6);\n            }" if (parenthesized_expression "((uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2) <= uVar6)" ( (binary_expression "(uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2) <= uVar6" (call_expression "(uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2)" ( (binary_expression "in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2" (binary_expression "in_stack_00000010[0xf] - in_stack_00000010[0xe]" (subscript_expression "in_stack_00000010[0xf]" identifier [ number_literal ]) - (subscript_expression "in_stack_00000010[0xe]" identifier [ number_literal ])) >> number_literal) ))) <= identifier) )) (compound_statement "{\n                    \n              FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6);\n            }" { (expression_statement "FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6);" (call_expression "FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6)" identifier (argument_list "(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6)" ( (binary_expression "unaff_EBP + 0x1fadcf" identifier + number_literal) , number_literal , (binary_expression "unaff_EBP + 0x1fceee" identifier + number_literal) , identifier ))) ;) })) (if_statement "if (*(int *)(in_stack_00000010[0xe] + uVar6 * 4) == 0) goto LAB_00050750;" if (parenthesized_expression "(*(int *)(in_stack_00000010[0xe] + uVar6 * 4) == 0)" ( (binary_expression "*(int *)(in_stack_00000010[0xe] + uVar6 * 4) == 0" (pointer_expression "*(int *)(in_stack_00000010[0xe] + uVar6 * 4)" * (cast_expression "(int *)(in_stack_00000010[0xe] + uVar6 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_stack_00000010[0xe] + uVar6 * 4)" ( (binary_expression "in_stack_00000010[0xe] + uVar6 * 4" (subscript_expression "in_stack_00000010[0xe]" identifier [ number_literal ]) + (binary_expression "uVar6 * 4" identifier * number_literal)) )))) == number_literal) )) (goto_statement "goto LAB_00050750;" goto statement_identifier ;)) }))) }) (else_clause "else if (uVar6 == 0xffff) {\n          iVar4 = in_stack_00000010[0xc];\n          if (iVar4 == 0) {\n            iVar4 = (**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010);\n            in_stack_00000010[0xc] = iVar4;\n          }\n          uVar6 = FUN_000beba0(iVar4,in_stack_00000010,uVar7);\n          goto LAB_00050725;\n        }" else (if_statement "if (uVar6 == 0xffff) {\n          iVar4 = in_stack_00000010[0xc];\n          if (iVar4 == 0) {\n            iVar4 = (**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010);\n            in_stack_00000010[0xc] = iVar4;\n          }\n          uVar6 = FUN_000beba0(iVar4,in_stack_00000010,uVar7);\n          goto LAB_00050725;\n        }" if (parenthesized_expression "(uVar6 == 0xffff)" ( (binary_expression "uVar6 == 0xffff" identifier == number_literal) )) (compound_statement "{\n          iVar4 = in_stack_00000010[0xc];\n          if (iVar4 == 0) {\n            iVar4 = (**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010);\n            in_stack_00000010[0xc] = iVar4;\n          }\n          uVar6 = FUN_000beba0(iVar4,in_stack_00000010,uVar7);\n          goto LAB_00050725;\n        }" { (expression_statement "iVar4 = in_stack_00000010[0xc];" (assignment_expression "iVar4 = in_stack_00000010[0xc]" identifier = (subscript_expression "in_stack_00000010[0xc]" identifier [ number_literal ])) ;) (if_statement "if (iVar4 == 0) {\n            iVar4 = (**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010);\n            in_stack_00000010[0xc] = iVar4;\n          }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n            iVar4 = (**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010);\n            in_stack_00000010[0xc] = iVar4;\n          }" { (expression_statement "iVar4 = (**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010);" (assignment_expression "iVar4 = (**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010)" identifier = (call_expression "(**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010)" (parenthesized_expression "(**(code **)(*in_stack_00000010 + 0x6c))" ( (pointer_expression "**(code **)(*in_stack_00000010 + 0x6c)" * (pointer_expression "*(code **)(*in_stack_00000010 + 0x6c)" * (cast_expression "(code **)(*in_stack_00000010 + 0x6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*in_stack_00000010 + 0x6c)" ( (binary_expression "*in_stack_00000010 + 0x6c" (pointer_expression "*in_stack_00000010" * identifier) + number_literal) ))))) )) (argument_list "(in_stack_00000010)" ( identifier )))) ;) (expression_statement "in_stack_00000010[0xc] = iVar4;" (assignment_expression "in_stack_00000010[0xc] = iVar4" (subscript_expression "in_stack_00000010[0xc]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "uVar6 = FUN_000beba0(iVar4,in_stack_00000010,uVar7);" (assignment_expression "uVar6 = FUN_000beba0(iVar4,in_stack_00000010,uVar7)" identifier = (call_expression "FUN_000beba0(iVar4,in_stack_00000010,uVar7)" identifier (argument_list "(iVar4,in_stack_00000010,uVar7)" ( identifier , identifier , identifier )))) ;) (goto_statement "goto LAB_00050725;" goto statement_identifier ;) })))) (expression_statement "local_40 = (char)uVar1;" (assignment_expression "local_40 = (char)uVar1" identifier = (cast_expression "(char)uVar1" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (if_statement "if ((*(byte *)(iVar5 + 0xc) & 0xf) == 3) {\n          uVar8 = FUN_000490f0();\n          if ((uint)uVar8 < 9) {\n                    \n                    \n            (*(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a))();\n            return;\n          }\n                    \n          FUN_0008b620(unaff_EBP + 0x1faf23,0x276,unaff_EBP + 0x1fce36,\n                       (int)((ulonglong)uVar8 >> 0x20));\n        }" if (parenthesized_expression "((*(byte *)(iVar5 + 0xc) & 0xf) == 3)" ( (binary_expression "(*(byte *)(iVar5 + 0xc) & 0xf) == 3" (parenthesized_expression "(*(byte *)(iVar5 + 0xc) & 0xf)" ( (binary_expression "*(byte *)(iVar5 + 0xc) & 0xf" (pointer_expression "*(byte *)(iVar5 + 0xc)" * (cast_expression "(byte *)(iVar5 + 0xc)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0xc)" ( (binary_expression "iVar5 + 0xc" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n          uVar8 = FUN_000490f0();\n          if ((uint)uVar8 < 9) {\n                    \n                    \n            (*(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a))();\n            return;\n          }\n                    \n          FUN_0008b620(unaff_EBP + 0x1faf23,0x276,unaff_EBP + 0x1fce36,\n                       (int)((ulonglong)uVar8 >> 0x20));\n        }" { (expression_statement "uVar8 = FUN_000490f0();" (assignment_expression "uVar8 = FUN_000490f0()" identifier = (call_expression "FUN_000490f0()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((uint)uVar8 < 9) {\n                    \n                    \n            (*(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a))();\n            return;\n          }" if (parenthesized_expression "((uint)uVar8 < 9)" ( (binary_expression "(uint)uVar8 < 9" (cast_expression "(uint)uVar8" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n                    \n                    \n            (*(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a))();\n            return;\n          }" { (expression_statement "(*(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a))();" (call_expression "(*(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a))()" (parenthesized_expression "(*(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a))" ( (pointer_expression "*(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a)" * (cast_expression "(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a)" ( (binary_expression "*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a" (binary_expression "*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP" (pointer_expression "*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4)" * (cast_expression "(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4)" ( (binary_expression "unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4" (binary_expression "unaff_EBP + 0x1fbfd6" identifier + number_literal) + (binary_expression "(uint)uVar8 * 4" (cast_expression "(uint)uVar8" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) )))) + identifier) + number_literal) )))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "FUN_0008b620(unaff_EBP + 0x1faf23,0x276,unaff_EBP + 0x1fce36,\n                       (int)((ulonglong)uVar8 >> 0x20));" (call_expression "FUN_0008b620(unaff_EBP + 0x1faf23,0x276,unaff_EBP + 0x1fce36,\n                       (int)((ulonglong)uVar8 >> 0x20))" identifier (argument_list "(unaff_EBP + 0x1faf23,0x276,unaff_EBP + 0x1fce36,\n                       (int)((ulonglong)uVar8 >> 0x20))" ( (binary_expression "unaff_EBP + 0x1faf23" identifier + number_literal) , number_literal , (binary_expression "unaff_EBP + 0x1fce36" identifier + number_literal) , (cast_expression "(int)((ulonglong)uVar8 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar8 >> 0x20)" ( (binary_expression "(ulonglong)uVar8 >> 0x20" (cast_expression "(ulonglong)uVar8" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) ))) ;) })) (if_statement "if (local_40 == '\0' && uVar7 == 0) goto LAB_00050750;" if (parenthesized_expression "(local_40 == '\0' && uVar7 == 0)" ( (binary_expression "local_40 == '\0' && uVar7 == 0" (binary_expression "local_40 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) && (binary_expression "uVar7 == 0" identifier == number_literal)) )) (goto_statement "goto LAB_00050750;" goto statement_identifier ;)) (if_statement "if ((uint)(in_stack_00000010[0x38] - in_stack_00000010[0x37] >> 4) <= uVar7) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x8e3,unaff_EBP + 0x1fceca);\n        }" if (parenthesized_expression "((uint)(in_stack_00000010[0x38] - in_stack_00000010[0x37] >> 4) <= uVar7)" ( (binary_expression "(uint)(in_stack_00000010[0x38] - in_stack_00000010[0x37] >> 4) <= uVar7" (call_expression "(uint)(in_stack_00000010[0x38] - in_stack_00000010[0x37] >> 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(in_stack_00000010[0x38] - in_stack_00000010[0x37] >> 4)" ( (binary_expression "in_stack_00000010[0x38] - in_stack_00000010[0x37] >> 4" (binary_expression "in_stack_00000010[0x38] - in_stack_00000010[0x37]" (subscript_expression "in_stack_00000010[0x38]" identifier [ number_literal ]) - (subscript_expression "in_stack_00000010[0x37]" identifier [ number_literal ])) >> number_literal) ))) <= identifier) )) (compound_statement "{\n                    \n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x8e3,unaff_EBP + 0x1fceca);\n        }" { (expression_statement "FUN_0008b620(unaff_EBP + 0x1fadcf,0x8e3,unaff_EBP + 0x1fceca);" (call_expression "FUN_0008b620(unaff_EBP + 0x1fadcf,0x8e3,unaff_EBP + 0x1fceca)" identifier (argument_list "(unaff_EBP + 0x1fadcf,0x8e3,unaff_EBP + 0x1fceca)" ( (binary_expression "unaff_EBP + 0x1fadcf" identifier + number_literal) , number_literal , (binary_expression "unaff_EBP + 0x1fceca" identifier + number_literal) ))) ;) })) (expression_statement "piVar3 = (int *)(in_stack_00000010[0x37] + uVar7 * 0x10);" (assignment_expression "piVar3 = (int *)(in_stack_00000010[0x37] + uVar7 * 0x10)" identifier = (cast_expression "(int *)(in_stack_00000010[0x37] + uVar7 * 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_stack_00000010[0x37] + uVar7 * 0x10)" ( (binary_expression "in_stack_00000010[0x37] + uVar7 * 0x10" (subscript_expression "in_stack_00000010[0x37]" identifier [ number_literal ]) + (binary_expression "uVar7 * 0x10" identifier * number_literal)) )))) ;) (expression_statement "iVar5 = *piVar3;" (assignment_expression "iVar5 = *piVar3" identifier = (pointer_expression "*piVar3" * identifier)) ;) (if_statement "if ((iVar5 != 0) && (iVar5 != -2)) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x71f,unaff_EBP + 0x1fce8a);\n        }" if (parenthesized_expression "((iVar5 != 0) && (iVar5 != -2))" ( (binary_expression "(iVar5 != 0) && (iVar5 != -2)" (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar5 != -2)" ( (binary_expression "iVar5 != -2" identifier != number_literal) ))) )) (compound_statement "{\n                    \n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x71f,unaff_EBP + 0x1fce8a);\n        }" { (expression_statement "FUN_0008b620(unaff_EBP + 0x1fadcf,0x71f,unaff_EBP + 0x1fce8a);" (call_expression "FUN_0008b620(unaff_EBP + 0x1fadcf,0x71f,unaff_EBP + 0x1fce8a)" identifier (argument_list "(unaff_EBP + 0x1fadcf,0x71f,unaff_EBP + 0x1fce8a)" ( (binary_expression "unaff_EBP + 0x1fadcf" identifier + number_literal) , number_literal , (binary_expression "unaff_EBP + 0x1fce8a" identifier + number_literal) ))) ;) })) (expression_statement "*piVar3 = -2;" (assignment_expression "*piVar3 = -2" (pointer_expression "*piVar3" * identifier) = number_literal) ;) })) (expression_statement "local_1d[0] = 0;" (assignment_expression "local_1d[0] = 0" (subscript_expression "local_1d[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_000563d0(in_stack_00000034,local_1d);" (call_expression "FUN_000563d0(in_stack_00000034,local_1d)" identifier (argument_list "(in_stack_00000034,local_1d)" ( identifier , identifier ))) ;) (expression_statement "local_48 = local_48 + 1;" (assignment_expression "local_48 = local_48 + 1" identifier = (binary_expression "local_48 + 1" identifier + number_literal)) ;) (expression_statement "*(int *)(in_stack_00000034 + 0xc) = *(int *)(in_stack_00000034 + 0xc) + 1;" (assignment_expression "*(int *)(in_stack_00000034 + 0xc) = *(int *)(in_stack_00000034 + 0xc) + 1" (pointer_expression "*(int *)(in_stack_00000034 + 0xc)" * (cast_expression "(int *)(in_stack_00000034 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_stack_00000034 + 0xc)" ( (binary_expression "in_stack_00000034 + 0xc" identifier + number_literal) )))) = (binary_expression "*(int *)(in_stack_00000034 + 0xc) + 1" (pointer_expression "*(int *)(in_stack_00000034 + 0xc)" * (cast_expression "(int *)(in_stack_00000034 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_stack_00000034 + 0xc)" ( (binary_expression "in_stack_00000034 + 0xc" identifier + number_literal) )))) + number_literal)) ;) }) while (parenthesized_expression "(in_stack_00000020 != local_48)" ( (binary_expression "in_stack_00000020 != local_48" identifier != identifier) )) ;) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT != (char_literal ' escape_sequence ')) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) , LIT )))) , (binary_expression IDENT == (char_literal ' escape_sequence '))) ))) )) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (return_statement return ;) })) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) - (subscript_expression IDENT [ LIT ])) >> LIT) ))) <= IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) )))) == LIT) )) (goto_statement goto statement_identifier ;)) }))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (goto_statement goto statement_identifier ;) })))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (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 = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) + IDENT) + LIT) )))) )) (argument_list ( ))) ;) (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) , (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == (char_literal ' escape_sequence ')) && (binary_expression IDENT == LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) - (subscript_expression IDENT [ LIT ])) >> LIT) ))) <= IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (return_statement return ;) })))
(function_definition "void FUN_000505b0(void)\n\n{\n  uint uVar1;\n  char cVar2;\n  int *piVar3;\n  int iVar4;\n  int iVar5;\n  uint uVar6;\n  int unaff_EBP;\n  uint uVar7;\n  undefined8 uVar8;\n  int *in_stack_00000010;\n  undefined4 in_stack_00000014;\n  int in_stack_00000018;\n  int in_stack_0000001c;\n  int in_stack_00000020;\n  undefined4 in_stack_00000024;\n  char in_stack_00000028;\n  uint in_stack_0000002c;\n  int in_stack_00000030;\n  int in_stack_00000034;\n  int local_48;\n  char local_40;\n  undefined1 local_1d [13];\n  \n  FUN_00058c4e();\n  if (in_stack_00000018 != 9) {\n                    \n    FUN_0008b620(unaff_EBP + 0x1fae05,0xed0,unaff_EBP + 0x1fce66,in_stack_00000028);\n  }\n  if (in_stack_00000020 != 0) {\n    local_48 = 0;\n    do {\n      while ((in_stack_00000028 != '\0' &&\n             (cVar2 = FUN_000efc00(in_stack_00000024,in_stack_00000010,in_stack_00000014,\n                                   *(undefined4 *)(in_stack_0000001c + local_48 * 8),0),\n             cVar2 == '\0'))) {\nLAB_00050750:\n        local_1d[0] = 8;\n        FUN_000563d0(in_stack_00000034,local_1d);\n        local_48 = local_48 + 1;\n        if (in_stack_00000020 == local_48) {\n          return;\n        }\n      }\n      uVar1 = *(uint *)(in_stack_0000001c + 4 + local_48 * 8);\n      uVar7 = uVar1 >> 8;\n      if (uVar7 < in_stack_0000002c) {\n        if (in_stack_00000030 == 0) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1faf23,0x2e4,unaff_EBP + 0x1fce4e);\n        }\n        iVar5 = in_stack_00000030 + uVar7 * 0x10;\n        uVar6 = (uint)*(ushort *)(iVar5 + 0xe);\n        if (uVar6 < 0xff00) {\nLAB_00050725:\n          if (uVar6 != 0) {\n            if ((uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2) <= uVar6) {\n                    \n              FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6);\n            }\n            if (*(int *)(in_stack_00000010[0xe] + uVar6 * 4) == 0) goto LAB_00050750;\n          }\n        }\n        else if (uVar6 == 0xffff) {\n          iVar4 = in_stack_00000010[0xc];\n          if (iVar4 == 0) {\n            iVar4 = (**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010);\n            in_stack_00000010[0xc] = iVar4;\n          }\n          uVar6 = FUN_000beba0(iVar4,in_stack_00000010,uVar7);\n          goto LAB_00050725;\n        }\n        local_40 = (char)uVar1;\n        if ((*(byte *)(iVar5 + 0xc) & 0xf) == 3) {\n          uVar8 = FUN_000490f0();\n          if ((uint)uVar8 < 9) {\n                    \n                    \n            (*(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a))();\n            return;\n          }\n                    \n          FUN_0008b620(unaff_EBP + 0x1faf23,0x276,unaff_EBP + 0x1fce36,\n                       (int)((ulonglong)uVar8 >> 0x20));\n        }\n        if (local_40 == '\0' && uVar7 == 0) goto LAB_00050750;\n        if ((uint)(in_stack_00000010[0x38] - in_stack_00000010[0x37] >> 4) <= uVar7) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x8e3,unaff_EBP + 0x1fceca);\n        }\n        piVar3 = (int *)(in_stack_00000010[0x37] + uVar7 * 0x10);\n        iVar5 = *piVar3;\n        if ((iVar5 != 0) && (iVar5 != -2)) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x71f,unaff_EBP + 0x1fce8a);\n        }\n        *piVar3 = -2;\n      }\n      local_1d[0] = 0;\n      FUN_000563d0(in_stack_00000034,local_1d);\n      local_48 = local_48 + 1;\n      *(int *)(in_stack_00000034 + 0xc) = *(int *)(in_stack_00000034 + 0xc) + 1;\n    } while (in_stack_00000020 != local_48);\n  }\n  return;\n}" (primitive_type "void") (function_declarator "FUN_000505b0(void)" (identifier "FUN_000505b0") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  uint uVar1;\n  char cVar2;\n  int *piVar3;\n  int iVar4;\n  int iVar5;\n  uint uVar6;\n  int unaff_EBP;\n  uint uVar7;\n  undefined8 uVar8;\n  int *in_stack_00000010;\n  undefined4 in_stack_00000014;\n  int in_stack_00000018;\n  int in_stack_0000001c;\n  int in_stack_00000020;\n  undefined4 in_stack_00000024;\n  char in_stack_00000028;\n  uint in_stack_0000002c;\n  int in_stack_00000030;\n  int in_stack_00000034;\n  int local_48;\n  char local_40;\n  undefined1 local_1d [13];\n  \n  FUN_00058c4e();\n  if (in_stack_00000018 != 9) {\n                    \n    FUN_0008b620(unaff_EBP + 0x1fae05,0xed0,unaff_EBP + 0x1fce66,in_stack_00000028);\n  }\n  if (in_stack_00000020 != 0) {\n    local_48 = 0;\n    do {\n      while ((in_stack_00000028 != '\0' &&\n             (cVar2 = FUN_000efc00(in_stack_00000024,in_stack_00000010,in_stack_00000014,\n                                   *(undefined4 *)(in_stack_0000001c + local_48 * 8),0),\n             cVar2 == '\0'))) {\nLAB_00050750:\n        local_1d[0] = 8;\n        FUN_000563d0(in_stack_00000034,local_1d);\n        local_48 = local_48 + 1;\n        if (in_stack_00000020 == local_48) {\n          return;\n        }\n      }\n      uVar1 = *(uint *)(in_stack_0000001c + 4 + local_48 * 8);\n      uVar7 = uVar1 >> 8;\n      if (uVar7 < in_stack_0000002c) {\n        if (in_stack_00000030 == 0) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1faf23,0x2e4,unaff_EBP + 0x1fce4e);\n        }\n        iVar5 = in_stack_00000030 + uVar7 * 0x10;\n        uVar6 = (uint)*(ushort *)(iVar5 + 0xe);\n        if (uVar6 < 0xff00) {\nLAB_00050725:\n          if (uVar6 != 0) {\n            if ((uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2) <= uVar6) {\n                    \n              FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6);\n            }\n            if (*(int *)(in_stack_00000010[0xe] + uVar6 * 4) == 0) goto LAB_00050750;\n          }\n        }\n        else if (uVar6 == 0xffff) {\n          iVar4 = in_stack_00000010[0xc];\n          if (iVar4 == 0) {\n            iVar4 = (**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010);\n            in_stack_00000010[0xc] = iVar4;\n          }\n          uVar6 = FUN_000beba0(iVar4,in_stack_00000010,uVar7);\n          goto LAB_00050725;\n        }\n        local_40 = (char)uVar1;\n        if ((*(byte *)(iVar5 + 0xc) & 0xf) == 3) {\n          uVar8 = FUN_000490f0();\n          if ((uint)uVar8 < 9) {\n                    \n                    \n            (*(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a))();\n            return;\n          }\n                    \n          FUN_0008b620(unaff_EBP + 0x1faf23,0x276,unaff_EBP + 0x1fce36,\n                       (int)((ulonglong)uVar8 >> 0x20));\n        }\n        if (local_40 == '\0' && uVar7 == 0) goto LAB_00050750;\n        if ((uint)(in_stack_00000010[0x38] - in_stack_00000010[0x37] >> 4) <= uVar7) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x8e3,unaff_EBP + 0x1fceca);\n        }\n        piVar3 = (int *)(in_stack_00000010[0x37] + uVar7 * 0x10);\n        iVar5 = *piVar3;\n        if ((iVar5 != 0) && (iVar5 != -2)) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x71f,unaff_EBP + 0x1fce8a);\n        }\n        *piVar3 = -2;\n      }\n      local_1d[0] = 0;\n      FUN_000563d0(in_stack_00000034,local_1d);\n      local_48 = local_48 + 1;\n      *(int *)(in_stack_00000034 + 0xc) = *(int *)(in_stack_00000034 + 0xc) + 1;\n    } while (in_stack_00000020 != local_48);\n  }\n  return;\n}" ({ "{") (declaration "uint uVar1;" (type_identifier "uint") (identifier "uVar1") (; ";")) (declaration "char cVar2;" (primitive_type "char") (identifier "cVar2") (; ";")) (declaration "int *piVar3;" (primitive_type "int") (pointer_declarator "*piVar3" (* "*") (identifier "piVar3")) (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (declaration "int unaff_EBP;" (primitive_type "int") (identifier "unaff_EBP") (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "undefined8 uVar8;" (type_identifier "undefined8") (identifier "uVar8") (; ";")) (declaration "int *in_stack_00000010;" (primitive_type "int") (pointer_declarator "*in_stack_00000010" (* "*") (identifier "in_stack_00000010")) (; ";")) (declaration "undefined4 in_stack_00000014;" (type_identifier "undefined4") (identifier "in_stack_00000014") (; ";")) (declaration "int in_stack_00000018;" (primitive_type "int") (identifier "in_stack_00000018") (; ";")) (declaration "int in_stack_0000001c;" (primitive_type "int") (identifier "in_stack_0000001c") (; ";")) (declaration "int in_stack_00000020;" (primitive_type "int") (identifier "in_stack_00000020") (; ";")) (declaration "undefined4 in_stack_00000024;" (type_identifier "undefined4") (identifier "in_stack_00000024") (; ";")) (declaration "char in_stack_00000028;" (primitive_type "char") (identifier "in_stack_00000028") (; ";")) (declaration "uint in_stack_0000002c;" (type_identifier "uint") (identifier "in_stack_0000002c") (; ";")) (declaration "int in_stack_00000030;" (primitive_type "int") (identifier "in_stack_00000030") (; ";")) (declaration "int in_stack_00000034;" (primitive_type "int") (identifier "in_stack_00000034") (; ";")) (declaration "int local_48;" (primitive_type "int") (identifier "local_48") (; ";")) (declaration "char local_40;" (primitive_type "char") (identifier "local_40") (; ";")) (declaration "undefined1 local_1d [13];" (type_identifier "undefined1") (array_declarator "local_1d [13]" (identifier "local_1d") ([ "[") (number_literal "13") (] "]")) (; ";")) (expression_statement "FUN_00058c4e();" (call_expression "FUN_00058c4e()" (identifier "FUN_00058c4e") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (in_stack_00000018 != 9) {\n                    \n    FUN_0008b620(unaff_EBP + 0x1fae05,0xed0,unaff_EBP + 0x1fce66,in_stack_00000028);\n  }" (if "if") (parenthesized_expression "(in_stack_00000018 != 9)" (( "(") (binary_expression "in_stack_00000018 != 9" (identifier "in_stack_00000018") (!= "!=") (number_literal "9")) () ")")) (compound_statement "{\n                    \n    FUN_0008b620(unaff_EBP + 0x1fae05,0xed0,unaff_EBP + 0x1fce66,in_stack_00000028);\n  }" ({ "{") (expression_statement "FUN_0008b620(unaff_EBP + 0x1fae05,0xed0,unaff_EBP + 0x1fce66,in_stack_00000028);" (call_expression "FUN_0008b620(unaff_EBP + 0x1fae05,0xed0,unaff_EBP + 0x1fce66,in_stack_00000028)" (identifier "FUN_0008b620") (argument_list "(unaff_EBP + 0x1fae05,0xed0,unaff_EBP + 0x1fce66,in_stack_00000028)" (( "(") (binary_expression "unaff_EBP + 0x1fae05" (identifier "unaff_EBP") (+ "+") (number_literal "0x1fae05")) (, ",") (number_literal "0xed0") (, ",") (binary_expression "unaff_EBP + 0x1fce66" (identifier "unaff_EBP") (+ "+") (number_literal "0x1fce66")) (, ",") (identifier "in_stack_00000028") () ")"))) (; ";")) (} "}"))) (if_statement "if (in_stack_00000020 != 0) {\n    local_48 = 0;\n    do {\n      while ((in_stack_00000028 != '\0' &&\n             (cVar2 = FUN_000efc00(in_stack_00000024,in_stack_00000010,in_stack_00000014,\n                                   *(undefined4 *)(in_stack_0000001c + local_48 * 8),0),\n             cVar2 == '\0'))) {\nLAB_00050750:\n        local_1d[0] = 8;\n        FUN_000563d0(in_stack_00000034,local_1d);\n        local_48 = local_48 + 1;\n        if (in_stack_00000020 == local_48) {\n          return;\n        }\n      }\n      uVar1 = *(uint *)(in_stack_0000001c + 4 + local_48 * 8);\n      uVar7 = uVar1 >> 8;\n      if (uVar7 < in_stack_0000002c) {\n        if (in_stack_00000030 == 0) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1faf23,0x2e4,unaff_EBP + 0x1fce4e);\n        }\n        iVar5 = in_stack_00000030 + uVar7 * 0x10;\n        uVar6 = (uint)*(ushort *)(iVar5 + 0xe);\n        if (uVar6 < 0xff00) {\nLAB_00050725:\n          if (uVar6 != 0) {\n            if ((uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2) <= uVar6) {\n                    \n              FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6);\n            }\n            if (*(int *)(in_stack_00000010[0xe] + uVar6 * 4) == 0) goto LAB_00050750;\n          }\n        }\n        else if (uVar6 == 0xffff) {\n          iVar4 = in_stack_00000010[0xc];\n          if (iVar4 == 0) {\n            iVar4 = (**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010);\n            in_stack_00000010[0xc] = iVar4;\n          }\n          uVar6 = FUN_000beba0(iVar4,in_stack_00000010,uVar7);\n          goto LAB_00050725;\n        }\n        local_40 = (char)uVar1;\n        if ((*(byte *)(iVar5 + 0xc) & 0xf) == 3) {\n          uVar8 = FUN_000490f0();\n          if ((uint)uVar8 < 9) {\n                    \n                    \n            (*(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a))();\n            return;\n          }\n                    \n          FUN_0008b620(unaff_EBP + 0x1faf23,0x276,unaff_EBP + 0x1fce36,\n                       (int)((ulonglong)uVar8 >> 0x20));\n        }\n        if (local_40 == '\0' && uVar7 == 0) goto LAB_00050750;\n        if ((uint)(in_stack_00000010[0x38] - in_stack_00000010[0x37] >> 4) <= uVar7) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x8e3,unaff_EBP + 0x1fceca);\n        }\n        piVar3 = (int *)(in_stack_00000010[0x37] + uVar7 * 0x10);\n        iVar5 = *piVar3;\n        if ((iVar5 != 0) && (iVar5 != -2)) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x71f,unaff_EBP + 0x1fce8a);\n        }\n        *piVar3 = -2;\n      }\n      local_1d[0] = 0;\n      FUN_000563d0(in_stack_00000034,local_1d);\n      local_48 = local_48 + 1;\n      *(int *)(in_stack_00000034 + 0xc) = *(int *)(in_stack_00000034 + 0xc) + 1;\n    } while (in_stack_00000020 != local_48);\n  }" (if "if") (parenthesized_expression "(in_stack_00000020 != 0)" (( "(") (binary_expression "in_stack_00000020 != 0" (identifier "in_stack_00000020") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    local_48 = 0;\n    do {\n      while ((in_stack_00000028 != '\0' &&\n             (cVar2 = FUN_000efc00(in_stack_00000024,in_stack_00000010,in_stack_00000014,\n                                   *(undefined4 *)(in_stack_0000001c + local_48 * 8),0),\n             cVar2 == '\0'))) {\nLAB_00050750:\n        local_1d[0] = 8;\n        FUN_000563d0(in_stack_00000034,local_1d);\n        local_48 = local_48 + 1;\n        if (in_stack_00000020 == local_48) {\n          return;\n        }\n      }\n      uVar1 = *(uint *)(in_stack_0000001c + 4 + local_48 * 8);\n      uVar7 = uVar1 >> 8;\n      if (uVar7 < in_stack_0000002c) {\n        if (in_stack_00000030 == 0) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1faf23,0x2e4,unaff_EBP + 0x1fce4e);\n        }\n        iVar5 = in_stack_00000030 + uVar7 * 0x10;\n        uVar6 = (uint)*(ushort *)(iVar5 + 0xe);\n        if (uVar6 < 0xff00) {\nLAB_00050725:\n          if (uVar6 != 0) {\n            if ((uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2) <= uVar6) {\n                    \n              FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6);\n            }\n            if (*(int *)(in_stack_00000010[0xe] + uVar6 * 4) == 0) goto LAB_00050750;\n          }\n        }\n        else if (uVar6 == 0xffff) {\n          iVar4 = in_stack_00000010[0xc];\n          if (iVar4 == 0) {\n            iVar4 = (**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010);\n            in_stack_00000010[0xc] = iVar4;\n          }\n          uVar6 = FUN_000beba0(iVar4,in_stack_00000010,uVar7);\n          goto LAB_00050725;\n        }\n        local_40 = (char)uVar1;\n        if ((*(byte *)(iVar5 + 0xc) & 0xf) == 3) {\n          uVar8 = FUN_000490f0();\n          if ((uint)uVar8 < 9) {\n                    \n                    \n            (*(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a))();\n            return;\n          }\n                    \n          FUN_0008b620(unaff_EBP + 0x1faf23,0x276,unaff_EBP + 0x1fce36,\n                       (int)((ulonglong)uVar8 >> 0x20));\n        }\n        if (local_40 == '\0' && uVar7 == 0) goto LAB_00050750;\n        if ((uint)(in_stack_00000010[0x38] - in_stack_00000010[0x37] >> 4) <= uVar7) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x8e3,unaff_EBP + 0x1fceca);\n        }\n        piVar3 = (int *)(in_stack_00000010[0x37] + uVar7 * 0x10);\n        iVar5 = *piVar3;\n        if ((iVar5 != 0) && (iVar5 != -2)) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x71f,unaff_EBP + 0x1fce8a);\n        }\n        *piVar3 = -2;\n      }\n      local_1d[0] = 0;\n      FUN_000563d0(in_stack_00000034,local_1d);\n      local_48 = local_48 + 1;\n      *(int *)(in_stack_00000034 + 0xc) = *(int *)(in_stack_00000034 + 0xc) + 1;\n    } while (in_stack_00000020 != local_48);\n  }" ({ "{") (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" (identifier "local_48") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n      while ((in_stack_00000028 != '\0' &&\n             (cVar2 = FUN_000efc00(in_stack_00000024,in_stack_00000010,in_stack_00000014,\n                                   *(undefined4 *)(in_stack_0000001c + local_48 * 8),0),\n             cVar2 == '\0'))) {\nLAB_00050750:\n        local_1d[0] = 8;\n        FUN_000563d0(in_stack_00000034,local_1d);\n        local_48 = local_48 + 1;\n        if (in_stack_00000020 == local_48) {\n          return;\n        }\n      }\n      uVar1 = *(uint *)(in_stack_0000001c + 4 + local_48 * 8);\n      uVar7 = uVar1 >> 8;\n      if (uVar7 < in_stack_0000002c) {\n        if (in_stack_00000030 == 0) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1faf23,0x2e4,unaff_EBP + 0x1fce4e);\n        }\n        iVar5 = in_stack_00000030 + uVar7 * 0x10;\n        uVar6 = (uint)*(ushort *)(iVar5 + 0xe);\n        if (uVar6 < 0xff00) {\nLAB_00050725:\n          if (uVar6 != 0) {\n            if ((uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2) <= uVar6) {\n                    \n              FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6);\n            }\n            if (*(int *)(in_stack_00000010[0xe] + uVar6 * 4) == 0) goto LAB_00050750;\n          }\n        }\n        else if (uVar6 == 0xffff) {\n          iVar4 = in_stack_00000010[0xc];\n          if (iVar4 == 0) {\n            iVar4 = (**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010);\n            in_stack_00000010[0xc] = iVar4;\n          }\n          uVar6 = FUN_000beba0(iVar4,in_stack_00000010,uVar7);\n          goto LAB_00050725;\n        }\n        local_40 = (char)uVar1;\n        if ((*(byte *)(iVar5 + 0xc) & 0xf) == 3) {\n          uVar8 = FUN_000490f0();\n          if ((uint)uVar8 < 9) {\n                    \n                    \n            (*(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a))();\n            return;\n          }\n                    \n          FUN_0008b620(unaff_EBP + 0x1faf23,0x276,unaff_EBP + 0x1fce36,\n                       (int)((ulonglong)uVar8 >> 0x20));\n        }\n        if (local_40 == '\0' && uVar7 == 0) goto LAB_00050750;\n        if ((uint)(in_stack_00000010[0x38] - in_stack_00000010[0x37] >> 4) <= uVar7) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x8e3,unaff_EBP + 0x1fceca);\n        }\n        piVar3 = (int *)(in_stack_00000010[0x37] + uVar7 * 0x10);\n        iVar5 = *piVar3;\n        if ((iVar5 != 0) && (iVar5 != -2)) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x71f,unaff_EBP + 0x1fce8a);\n        }\n        *piVar3 = -2;\n      }\n      local_1d[0] = 0;\n      FUN_000563d0(in_stack_00000034,local_1d);\n      local_48 = local_48 + 1;\n      *(int *)(in_stack_00000034 + 0xc) = *(int *)(in_stack_00000034 + 0xc) + 1;\n    } while (in_stack_00000020 != local_48);" (do "do") (compound_statement "{\n      while ((in_stack_00000028 != '\0' &&\n             (cVar2 = FUN_000efc00(in_stack_00000024,in_stack_00000010,in_stack_00000014,\n                                   *(undefined4 *)(in_stack_0000001c + local_48 * 8),0),\n             cVar2 == '\0'))) {\nLAB_00050750:\n        local_1d[0] = 8;\n        FUN_000563d0(in_stack_00000034,local_1d);\n        local_48 = local_48 + 1;\n        if (in_stack_00000020 == local_48) {\n          return;\n        }\n      }\n      uVar1 = *(uint *)(in_stack_0000001c + 4 + local_48 * 8);\n      uVar7 = uVar1 >> 8;\n      if (uVar7 < in_stack_0000002c) {\n        if (in_stack_00000030 == 0) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1faf23,0x2e4,unaff_EBP + 0x1fce4e);\n        }\n        iVar5 = in_stack_00000030 + uVar7 * 0x10;\n        uVar6 = (uint)*(ushort *)(iVar5 + 0xe);\n        if (uVar6 < 0xff00) {\nLAB_00050725:\n          if (uVar6 != 0) {\n            if ((uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2) <= uVar6) {\n                    \n              FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6);\n            }\n            if (*(int *)(in_stack_00000010[0xe] + uVar6 * 4) == 0) goto LAB_00050750;\n          }\n        }\n        else if (uVar6 == 0xffff) {\n          iVar4 = in_stack_00000010[0xc];\n          if (iVar4 == 0) {\n            iVar4 = (**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010);\n            in_stack_00000010[0xc] = iVar4;\n          }\n          uVar6 = FUN_000beba0(iVar4,in_stack_00000010,uVar7);\n          goto LAB_00050725;\n        }\n        local_40 = (char)uVar1;\n        if ((*(byte *)(iVar5 + 0xc) & 0xf) == 3) {\n          uVar8 = FUN_000490f0();\n          if ((uint)uVar8 < 9) {\n                    \n                    \n            (*(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a))();\n            return;\n          }\n                    \n          FUN_0008b620(unaff_EBP + 0x1faf23,0x276,unaff_EBP + 0x1fce36,\n                       (int)((ulonglong)uVar8 >> 0x20));\n        }\n        if (local_40 == '\0' && uVar7 == 0) goto LAB_00050750;\n        if ((uint)(in_stack_00000010[0x38] - in_stack_00000010[0x37] >> 4) <= uVar7) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x8e3,unaff_EBP + 0x1fceca);\n        }\n        piVar3 = (int *)(in_stack_00000010[0x37] + uVar7 * 0x10);\n        iVar5 = *piVar3;\n        if ((iVar5 != 0) && (iVar5 != -2)) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x71f,unaff_EBP + 0x1fce8a);\n        }\n        *piVar3 = -2;\n      }\n      local_1d[0] = 0;\n      FUN_000563d0(in_stack_00000034,local_1d);\n      local_48 = local_48 + 1;\n      *(int *)(in_stack_00000034 + 0xc) = *(int *)(in_stack_00000034 + 0xc) + 1;\n    }" ({ "{") (while_statement "while ((in_stack_00000028 != '\0' &&\n             (cVar2 = FUN_000efc00(in_stack_00000024,in_stack_00000010,in_stack_00000014,\n                                   *(undefined4 *)(in_stack_0000001c + local_48 * 8),0),\n             cVar2 == '\0'))) {\nLAB_00050750:\n        local_1d[0] = 8;\n        FUN_000563d0(in_stack_00000034,local_1d);\n        local_48 = local_48 + 1;\n        if (in_stack_00000020 == local_48) {\n          return;\n        }\n      }" (while "while") (parenthesized_expression "((in_stack_00000028 != '\0' &&\n             (cVar2 = FUN_000efc00(in_stack_00000024,in_stack_00000010,in_stack_00000014,\n                                   *(undefined4 *)(in_stack_0000001c + local_48 * 8),0),\n             cVar2 == '\0')))" (( "(") (parenthesized_expression "(in_stack_00000028 != '\0' &&\n             (cVar2 = FUN_000efc00(in_stack_00000024,in_stack_00000010,in_stack_00000014,\n                                   *(undefined4 *)(in_stack_0000001c + local_48 * 8),0),\n             cVar2 == '\0'))" (( "(") (binary_expression "in_stack_00000028 != '\0' &&\n             (cVar2 = FUN_000efc00(in_stack_00000024,in_stack_00000010,in_stack_00000014,\n                                   *(undefined4 *)(in_stack_0000001c + local_48 * 8),0),\n             cVar2 == '\0')" (binary_expression "in_stack_00000028 != '\0'" (identifier "in_stack_00000028") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (&& "&&") (parenthesized_expression "(cVar2 = FUN_000efc00(in_stack_00000024,in_stack_00000010,in_stack_00000014,\n                                   *(undefined4 *)(in_stack_0000001c + local_48 * 8),0),\n             cVar2 == '\0')" (( "(") (comma_expression "cVar2 = FUN_000efc00(in_stack_00000024,in_stack_00000010,in_stack_00000014,\n                                   *(undefined4 *)(in_stack_0000001c + local_48 * 8),0),\n             cVar2 == '\0'" (assignment_expression "cVar2 = FUN_000efc00(in_stack_00000024,in_stack_00000010,in_stack_00000014,\n                                   *(undefined4 *)(in_stack_0000001c + local_48 * 8),0)" (identifier "cVar2") (= "=") (call_expression "FUN_000efc00(in_stack_00000024,in_stack_00000010,in_stack_00000014,\n                                   *(undefined4 *)(in_stack_0000001c + local_48 * 8),0)" (identifier "FUN_000efc00") (argument_list "(in_stack_00000024,in_stack_00000010,in_stack_00000014,\n                                   *(undefined4 *)(in_stack_0000001c + local_48 * 8),0)" (( "(") (identifier "in_stack_00000024") (, ",") (identifier "in_stack_00000010") (, ",") (identifier "in_stack_00000014") (, ",") (pointer_expression "*(undefined4 *)(in_stack_0000001c + local_48 * 8)" (* "*") (cast_expression "(undefined4 *)(in_stack_0000001c + local_48 * 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_stack_0000001c + local_48 * 8)" (( "(") (binary_expression "in_stack_0000001c + local_48 * 8" (identifier "in_stack_0000001c") (+ "+") (binary_expression "local_48 * 8" (identifier "local_48") (* "*") (number_literal "8"))) () ")")))) (, ",") (number_literal "0") () ")")))) (, ",") (binary_expression "cVar2 == '\0'" (identifier "cVar2") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")"))) () ")")) () ")")) (compound_statement "{\nLAB_00050750:\n        local_1d[0] = 8;\n        FUN_000563d0(in_stack_00000034,local_1d);\n        local_48 = local_48 + 1;\n        if (in_stack_00000020 == local_48) {\n          return;\n        }\n      }" ({ "{") (labeled_statement "LAB_00050750:\n        local_1d[0] = 8;" (statement_identifier "LAB_00050750") (: ":") (expression_statement "local_1d[0] = 8;" (assignment_expression "local_1d[0] = 8" (subscript_expression "local_1d[0]" (identifier "local_1d") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "8")) (; ";"))) (expression_statement "FUN_000563d0(in_stack_00000034,local_1d);" (call_expression "FUN_000563d0(in_stack_00000034,local_1d)" (identifier "FUN_000563d0") (argument_list "(in_stack_00000034,local_1d)" (( "(") (identifier "in_stack_00000034") (, ",") (identifier "local_1d") () ")"))) (; ";")) (expression_statement "local_48 = local_48 + 1;" (assignment_expression "local_48 = local_48 + 1" (identifier "local_48") (= "=") (binary_expression "local_48 + 1" (identifier "local_48") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (in_stack_00000020 == local_48) {\n          return;\n        }" (if "if") (parenthesized_expression "(in_stack_00000020 == local_48)" (( "(") (binary_expression "in_stack_00000020 == local_48" (identifier "in_stack_00000020") (== "==") (identifier "local_48")) () ")")) (compound_statement "{\n          return;\n        }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}"))) (expression_statement "uVar1 = *(uint *)(in_stack_0000001c + 4 + local_48 * 8);" (assignment_expression "uVar1 = *(uint *)(in_stack_0000001c + 4 + local_48 * 8)" (identifier "uVar1") (= "=") (pointer_expression "*(uint *)(in_stack_0000001c + 4 + local_48 * 8)" (* "*") (cast_expression "(uint *)(in_stack_0000001c + 4 + local_48 * 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_stack_0000001c + 4 + local_48 * 8)" (( "(") (binary_expression "in_stack_0000001c + 4 + local_48 * 8" (binary_expression "in_stack_0000001c + 4" (identifier "in_stack_0000001c") (+ "+") (number_literal "4")) (+ "+") (binary_expression "local_48 * 8" (identifier "local_48") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "uVar7 = uVar1 >> 8;" (assignment_expression "uVar7 = uVar1 >> 8" (identifier "uVar7") (= "=") (binary_expression "uVar1 >> 8" (identifier "uVar1") (>> ">>") (number_literal "8"))) (; ";")) (if_statement "if (uVar7 < in_stack_0000002c) {\n        if (in_stack_00000030 == 0) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1faf23,0x2e4,unaff_EBP + 0x1fce4e);\n        }\n        iVar5 = in_stack_00000030 + uVar7 * 0x10;\n        uVar6 = (uint)*(ushort *)(iVar5 + 0xe);\n        if (uVar6 < 0xff00) {\nLAB_00050725:\n          if (uVar6 != 0) {\n            if ((uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2) <= uVar6) {\n                    \n              FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6);\n            }\n            if (*(int *)(in_stack_00000010[0xe] + uVar6 * 4) == 0) goto LAB_00050750;\n          }\n        }\n        else if (uVar6 == 0xffff) {\n          iVar4 = in_stack_00000010[0xc];\n          if (iVar4 == 0) {\n            iVar4 = (**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010);\n            in_stack_00000010[0xc] = iVar4;\n          }\n          uVar6 = FUN_000beba0(iVar4,in_stack_00000010,uVar7);\n          goto LAB_00050725;\n        }\n        local_40 = (char)uVar1;\n        if ((*(byte *)(iVar5 + 0xc) & 0xf) == 3) {\n          uVar8 = FUN_000490f0();\n          if ((uint)uVar8 < 9) {\n                    \n                    \n            (*(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a))();\n            return;\n          }\n                    \n          FUN_0008b620(unaff_EBP + 0x1faf23,0x276,unaff_EBP + 0x1fce36,\n                       (int)((ulonglong)uVar8 >> 0x20));\n        }\n        if (local_40 == '\0' && uVar7 == 0) goto LAB_00050750;\n        if ((uint)(in_stack_00000010[0x38] - in_stack_00000010[0x37] >> 4) <= uVar7) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x8e3,unaff_EBP + 0x1fceca);\n        }\n        piVar3 = (int *)(in_stack_00000010[0x37] + uVar7 * 0x10);\n        iVar5 = *piVar3;\n        if ((iVar5 != 0) && (iVar5 != -2)) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x71f,unaff_EBP + 0x1fce8a);\n        }\n        *piVar3 = -2;\n      }" (if "if") (parenthesized_expression "(uVar7 < in_stack_0000002c)" (( "(") (binary_expression "uVar7 < in_stack_0000002c" (identifier "uVar7") (< "<") (identifier "in_stack_0000002c")) () ")")) (compound_statement "{\n        if (in_stack_00000030 == 0) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1faf23,0x2e4,unaff_EBP + 0x1fce4e);\n        }\n        iVar5 = in_stack_00000030 + uVar7 * 0x10;\n        uVar6 = (uint)*(ushort *)(iVar5 + 0xe);\n        if (uVar6 < 0xff00) {\nLAB_00050725:\n          if (uVar6 != 0) {\n            if ((uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2) <= uVar6) {\n                    \n              FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6);\n            }\n            if (*(int *)(in_stack_00000010[0xe] + uVar6 * 4) == 0) goto LAB_00050750;\n          }\n        }\n        else if (uVar6 == 0xffff) {\n          iVar4 = in_stack_00000010[0xc];\n          if (iVar4 == 0) {\n            iVar4 = (**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010);\n            in_stack_00000010[0xc] = iVar4;\n          }\n          uVar6 = FUN_000beba0(iVar4,in_stack_00000010,uVar7);\n          goto LAB_00050725;\n        }\n        local_40 = (char)uVar1;\n        if ((*(byte *)(iVar5 + 0xc) & 0xf) == 3) {\n          uVar8 = FUN_000490f0();\n          if ((uint)uVar8 < 9) {\n                    \n                    \n            (*(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a))();\n            return;\n          }\n                    \n          FUN_0008b620(unaff_EBP + 0x1faf23,0x276,unaff_EBP + 0x1fce36,\n                       (int)((ulonglong)uVar8 >> 0x20));\n        }\n        if (local_40 == '\0' && uVar7 == 0) goto LAB_00050750;\n        if ((uint)(in_stack_00000010[0x38] - in_stack_00000010[0x37] >> 4) <= uVar7) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x8e3,unaff_EBP + 0x1fceca);\n        }\n        piVar3 = (int *)(in_stack_00000010[0x37] + uVar7 * 0x10);\n        iVar5 = *piVar3;\n        if ((iVar5 != 0) && (iVar5 != -2)) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x71f,unaff_EBP + 0x1fce8a);\n        }\n        *piVar3 = -2;\n      }" ({ "{") (if_statement "if (in_stack_00000030 == 0) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1faf23,0x2e4,unaff_EBP + 0x1fce4e);\n        }" (if "if") (parenthesized_expression "(in_stack_00000030 == 0)" (( "(") (binary_expression "in_stack_00000030 == 0" (identifier "in_stack_00000030") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n          FUN_0008b620(unaff_EBP + 0x1faf23,0x2e4,unaff_EBP + 0x1fce4e);\n        }" ({ "{") (expression_statement "FUN_0008b620(unaff_EBP + 0x1faf23,0x2e4,unaff_EBP + 0x1fce4e);" (call_expression "FUN_0008b620(unaff_EBP + 0x1faf23,0x2e4,unaff_EBP + 0x1fce4e)" (identifier "FUN_0008b620") (argument_list "(unaff_EBP + 0x1faf23,0x2e4,unaff_EBP + 0x1fce4e)" (( "(") (binary_expression "unaff_EBP + 0x1faf23" (identifier "unaff_EBP") (+ "+") (number_literal "0x1faf23")) (, ",") (number_literal "0x2e4") (, ",") (binary_expression "unaff_EBP + 0x1fce4e" (identifier "unaff_EBP") (+ "+") (number_literal "0x1fce4e")) () ")"))) (; ";")) (} "}"))) (expression_statement "iVar5 = in_stack_00000030 + uVar7 * 0x10;" (assignment_expression "iVar5 = in_stack_00000030 + uVar7 * 0x10" (identifier "iVar5") (= "=") (binary_expression "in_stack_00000030 + uVar7 * 0x10" (identifier "in_stack_00000030") (+ "+") (binary_expression "uVar7 * 0x10" (identifier "uVar7") (* "*") (number_literal "0x10")))) (; ";")) (expression_statement "uVar6 = (uint)*(ushort *)(iVar5 + 0xe);" (assignment_expression "uVar6 = (uint)*(ushort *)(iVar5 + 0xe)" (identifier "uVar6") (= "=") (binary_expression "(uint)*(ushort *)(iVar5 + 0xe)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(ushort *)(iVar5 + 0xe)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0xe)" (( "(") (binary_expression "iVar5 + 0xe" (identifier "iVar5") (+ "+") (number_literal "0xe")) () ")"))))) (; ";")) (if_statement "if (uVar6 < 0xff00) {\nLAB_00050725:\n          if (uVar6 != 0) {\n            if ((uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2) <= uVar6) {\n                    \n              FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6);\n            }\n            if (*(int *)(in_stack_00000010[0xe] + uVar6 * 4) == 0) goto LAB_00050750;\n          }\n        }\n        else if (uVar6 == 0xffff) {\n          iVar4 = in_stack_00000010[0xc];\n          if (iVar4 == 0) {\n            iVar4 = (**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010);\n            in_stack_00000010[0xc] = iVar4;\n          }\n          uVar6 = FUN_000beba0(iVar4,in_stack_00000010,uVar7);\n          goto LAB_00050725;\n        }" (if "if") (parenthesized_expression "(uVar6 < 0xff00)" (( "(") (binary_expression "uVar6 < 0xff00" (identifier "uVar6") (< "<") (number_literal "0xff00")) () ")")) (compound_statement "{\nLAB_00050725:\n          if (uVar6 != 0) {\n            if ((uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2) <= uVar6) {\n                    \n              FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6);\n            }\n            if (*(int *)(in_stack_00000010[0xe] + uVar6 * 4) == 0) goto LAB_00050750;\n          }\n        }" ({ "{") (labeled_statement "LAB_00050725:\n          if (uVar6 != 0) {\n            if ((uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2) <= uVar6) {\n                    \n              FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6);\n            }\n            if (*(int *)(in_stack_00000010[0xe] + uVar6 * 4) == 0) goto LAB_00050750;\n          }" (statement_identifier "LAB_00050725") (: ":") (if_statement "if (uVar6 != 0) {\n            if ((uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2) <= uVar6) {\n                    \n              FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6);\n            }\n            if (*(int *)(in_stack_00000010[0xe] + uVar6 * 4) == 0) goto LAB_00050750;\n          }" (if "if") (parenthesized_expression "(uVar6 != 0)" (( "(") (binary_expression "uVar6 != 0" (identifier "uVar6") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            if ((uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2) <= uVar6) {\n                    \n              FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6);\n            }\n            if (*(int *)(in_stack_00000010[0xe] + uVar6 * 4) == 0) goto LAB_00050750;\n          }" ({ "{") (if_statement "if ((uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2) <= uVar6) {\n                    \n              FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6);\n            }" (if "if") (parenthesized_expression "((uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2) <= uVar6)" (( "(") (binary_expression "(uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2) <= uVar6" (call_expression "(uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2)" (( "(") (binary_expression "in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2" (binary_expression "in_stack_00000010[0xf] - in_stack_00000010[0xe]" (subscript_expression "in_stack_00000010[0xf]" (identifier "in_stack_00000010") ([ "[") (number_literal "0xf") (] "]")) (- "-") (subscript_expression "in_stack_00000010[0xe]" (identifier "in_stack_00000010") ([ "[") (number_literal "0xe") (] "]"))) (>> ">>") (number_literal "2")) () ")"))) (<= "<=") (identifier "uVar6")) () ")")) (compound_statement "{\n                    \n              FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6);\n            }" ({ "{") (expression_statement "FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6);" (call_expression "FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6)" (identifier "FUN_0008b620") (argument_list "(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6)" (( "(") (binary_expression "unaff_EBP + 0x1fadcf" (identifier "unaff_EBP") (+ "+") (number_literal "0x1fadcf")) (, ",") (number_literal "0x50b") (, ",") (binary_expression "unaff_EBP + 0x1fceee" (identifier "unaff_EBP") (+ "+") (number_literal "0x1fceee")) (, ",") (identifier "uVar6") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(in_stack_00000010[0xe] + uVar6 * 4) == 0) goto LAB_00050750;" (if "if") (parenthesized_expression "(*(int *)(in_stack_00000010[0xe] + uVar6 * 4) == 0)" (( "(") (binary_expression "*(int *)(in_stack_00000010[0xe] + uVar6 * 4) == 0" (pointer_expression "*(int *)(in_stack_00000010[0xe] + uVar6 * 4)" (* "*") (cast_expression "(int *)(in_stack_00000010[0xe] + uVar6 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_stack_00000010[0xe] + uVar6 * 4)" (( "(") (binary_expression "in_stack_00000010[0xe] + uVar6 * 4" (subscript_expression "in_stack_00000010[0xe]" (identifier "in_stack_00000010") ([ "[") (number_literal "0xe") (] "]")) (+ "+") (binary_expression "uVar6 * 4" (identifier "uVar6") (* "*") (number_literal "4"))) () ")")))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00050750;" (goto "goto") (statement_identifier "LAB_00050750") (; ";"))) (} "}")))) (} "}")) (else_clause "else if (uVar6 == 0xffff) {\n          iVar4 = in_stack_00000010[0xc];\n          if (iVar4 == 0) {\n            iVar4 = (**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010);\n            in_stack_00000010[0xc] = iVar4;\n          }\n          uVar6 = FUN_000beba0(iVar4,in_stack_00000010,uVar7);\n          goto LAB_00050725;\n        }" (else "else") (if_statement "if (uVar6 == 0xffff) {\n          iVar4 = in_stack_00000010[0xc];\n          if (iVar4 == 0) {\n            iVar4 = (**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010);\n            in_stack_00000010[0xc] = iVar4;\n          }\n          uVar6 = FUN_000beba0(iVar4,in_stack_00000010,uVar7);\n          goto LAB_00050725;\n        }" (if "if") (parenthesized_expression "(uVar6 == 0xffff)" (( "(") (binary_expression "uVar6 == 0xffff" (identifier "uVar6") (== "==") (number_literal "0xffff")) () ")")) (compound_statement "{\n          iVar4 = in_stack_00000010[0xc];\n          if (iVar4 == 0) {\n            iVar4 = (**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010);\n            in_stack_00000010[0xc] = iVar4;\n          }\n          uVar6 = FUN_000beba0(iVar4,in_stack_00000010,uVar7);\n          goto LAB_00050725;\n        }" ({ "{") (expression_statement "iVar4 = in_stack_00000010[0xc];" (assignment_expression "iVar4 = in_stack_00000010[0xc]" (identifier "iVar4") (= "=") (subscript_expression "in_stack_00000010[0xc]" (identifier "in_stack_00000010") ([ "[") (number_literal "0xc") (] "]"))) (; ";")) (if_statement "if (iVar4 == 0) {\n            iVar4 = (**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010);\n            in_stack_00000010[0xc] = iVar4;\n          }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            iVar4 = (**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010);\n            in_stack_00000010[0xc] = iVar4;\n          }" ({ "{") (expression_statement "iVar4 = (**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010);" (assignment_expression "iVar4 = (**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010)" (parenthesized_expression "(**(code **)(*in_stack_00000010 + 0x6c))" (( "(") (pointer_expression "**(code **)(*in_stack_00000010 + 0x6c)" (* "*") (pointer_expression "*(code **)(*in_stack_00000010 + 0x6c)" (* "*") (cast_expression "(code **)(*in_stack_00000010 + 0x6c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*in_stack_00000010 + 0x6c)" (( "(") (binary_expression "*in_stack_00000010 + 0x6c" (pointer_expression "*in_stack_00000010" (* "*") (identifier "in_stack_00000010")) (+ "+") (number_literal "0x6c")) () ")"))))) () ")")) (argument_list "(in_stack_00000010)" (( "(") (identifier "in_stack_00000010") () ")")))) (; ";")) (expression_statement "in_stack_00000010[0xc] = iVar4;" (assignment_expression "in_stack_00000010[0xc] = iVar4" (subscript_expression "in_stack_00000010[0xc]" (identifier "in_stack_00000010") ([ "[") (number_literal "0xc") (] "]")) (= "=") (identifier "iVar4")) (; ";")) (} "}"))) (expression_statement "uVar6 = FUN_000beba0(iVar4,in_stack_00000010,uVar7);" (assignment_expression "uVar6 = FUN_000beba0(iVar4,in_stack_00000010,uVar7)" (identifier "uVar6") (= "=") (call_expression "FUN_000beba0(iVar4,in_stack_00000010,uVar7)" (identifier "FUN_000beba0") (argument_list "(iVar4,in_stack_00000010,uVar7)" (( "(") (identifier "iVar4") (, ",") (identifier "in_stack_00000010") (, ",") (identifier "uVar7") () ")")))) (; ";")) (goto_statement "goto LAB_00050725;" (goto "goto") (statement_identifier "LAB_00050725") (; ";")) (} "}"))))) (expression_statement "local_40 = (char)uVar1;" (assignment_expression "local_40 = (char)uVar1" (identifier "local_40") (= "=") (cast_expression "(char)uVar1" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar1"))) (; ";")) (if_statement "if ((*(byte *)(iVar5 + 0xc) & 0xf) == 3) {\n          uVar8 = FUN_000490f0();\n          if ((uint)uVar8 < 9) {\n                    \n                    \n            (*(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a))();\n            return;\n          }\n                    \n          FUN_0008b620(unaff_EBP + 0x1faf23,0x276,unaff_EBP + 0x1fce36,\n                       (int)((ulonglong)uVar8 >> 0x20));\n        }" (if "if") (parenthesized_expression "((*(byte *)(iVar5 + 0xc) & 0xf) == 3)" (( "(") (binary_expression "(*(byte *)(iVar5 + 0xc) & 0xf) == 3" (parenthesized_expression "(*(byte *)(iVar5 + 0xc) & 0xf)" (( "(") (binary_expression "*(byte *)(iVar5 + 0xc) & 0xf" (pointer_expression "*(byte *)(iVar5 + 0xc)" (* "*") (cast_expression "(byte *)(iVar5 + 0xc)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0xc)" (( "(") (binary_expression "iVar5 + 0xc" (identifier "iVar5") (+ "+") (number_literal "0xc")) () ")")))) (& "&") (number_literal "0xf")) () ")")) (== "==") (number_literal "3")) () ")")) (compound_statement "{\n          uVar8 = FUN_000490f0();\n          if ((uint)uVar8 < 9) {\n                    \n                    \n            (*(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a))();\n            return;\n          }\n                    \n          FUN_0008b620(unaff_EBP + 0x1faf23,0x276,unaff_EBP + 0x1fce36,\n                       (int)((ulonglong)uVar8 >> 0x20));\n        }" ({ "{") (expression_statement "uVar8 = FUN_000490f0();" (assignment_expression "uVar8 = FUN_000490f0()" (identifier "uVar8") (= "=") (call_expression "FUN_000490f0()" (identifier "FUN_000490f0") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if ((uint)uVar8 < 9) {\n                    \n                    \n            (*(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a))();\n            return;\n          }" (if "if") (parenthesized_expression "((uint)uVar8 < 9)" (( "(") (binary_expression "(uint)uVar8 < 9" (cast_expression "(uint)uVar8" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar8")) (< "<") (number_literal "9")) () ")")) (compound_statement "{\n                    \n                    \n            (*(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a))();\n            return;\n          }" ({ "{") (expression_statement "(*(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a))();" (call_expression "(*(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a))()" (parenthesized_expression "(*(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a))" (( "(") (pointer_expression "*(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a)" (* "*") (cast_expression "(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a)" (( "(") (binary_expression "*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a" (binary_expression "*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP" (pointer_expression "*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4)" (( "(") (binary_expression "unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4" (binary_expression "unaff_EBP + 0x1fbfd6" (identifier "unaff_EBP") (+ "+") (number_literal "0x1fbfd6")) (+ "+") (binary_expression "(uint)uVar8 * 4" (cast_expression "(uint)uVar8" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar8")) (* "*") (number_literal "4"))) () ")")))) (+ "+") (identifier "unaff_EBP")) (+ "+") (number_literal "0x2eea4a")) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "FUN_0008b620(unaff_EBP + 0x1faf23,0x276,unaff_EBP + 0x1fce36,\n                       (int)((ulonglong)uVar8 >> 0x20));" (call_expression "FUN_0008b620(unaff_EBP + 0x1faf23,0x276,unaff_EBP + 0x1fce36,\n                       (int)((ulonglong)uVar8 >> 0x20))" (identifier "FUN_0008b620") (argument_list "(unaff_EBP + 0x1faf23,0x276,unaff_EBP + 0x1fce36,\n                       (int)((ulonglong)uVar8 >> 0x20))" (( "(") (binary_expression "unaff_EBP + 0x1faf23" (identifier "unaff_EBP") (+ "+") (number_literal "0x1faf23")) (, ",") (number_literal "0x276") (, ",") (binary_expression "unaff_EBP + 0x1fce36" (identifier "unaff_EBP") (+ "+") (number_literal "0x1fce36")) (, ",") (cast_expression "(int)((ulonglong)uVar8 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar8 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar8 >> 0x20" (cast_expression "(ulonglong)uVar8" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar8")) (>> ">>") (number_literal "0x20")) () ")"))) () ")"))) (; ";")) (} "}"))) (if_statement "if (local_40 == '\0' && uVar7 == 0) goto LAB_00050750;" (if "if") (parenthesized_expression "(local_40 == '\0' && uVar7 == 0)" (( "(") (binary_expression "local_40 == '\0' && uVar7 == 0" (binary_expression "local_40 == '\0'" (identifier "local_40") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (&& "&&") (binary_expression "uVar7 == 0" (identifier "uVar7") (== "==") (number_literal "0"))) () ")")) (goto_statement "goto LAB_00050750;" (goto "goto") (statement_identifier "LAB_00050750") (; ";"))) (if_statement "if ((uint)(in_stack_00000010[0x38] - in_stack_00000010[0x37] >> 4) <= uVar7) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x8e3,unaff_EBP + 0x1fceca);\n        }" (if "if") (parenthesized_expression "((uint)(in_stack_00000010[0x38] - in_stack_00000010[0x37] >> 4) <= uVar7)" (( "(") (binary_expression "(uint)(in_stack_00000010[0x38] - in_stack_00000010[0x37] >> 4) <= uVar7" (call_expression "(uint)(in_stack_00000010[0x38] - in_stack_00000010[0x37] >> 4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(in_stack_00000010[0x38] - in_stack_00000010[0x37] >> 4)" (( "(") (binary_expression "in_stack_00000010[0x38] - in_stack_00000010[0x37] >> 4" (binary_expression "in_stack_00000010[0x38] - in_stack_00000010[0x37]" (subscript_expression "in_stack_00000010[0x38]" (identifier "in_stack_00000010") ([ "[") (number_literal "0x38") (] "]")) (- "-") (subscript_expression "in_stack_00000010[0x37]" (identifier "in_stack_00000010") ([ "[") (number_literal "0x37") (] "]"))) (>> ">>") (number_literal "4")) () ")"))) (<= "<=") (identifier "uVar7")) () ")")) (compound_statement "{\n                    \n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x8e3,unaff_EBP + 0x1fceca);\n        }" ({ "{") (expression_statement "FUN_0008b620(unaff_EBP + 0x1fadcf,0x8e3,unaff_EBP + 0x1fceca);" (call_expression "FUN_0008b620(unaff_EBP + 0x1fadcf,0x8e3,unaff_EBP + 0x1fceca)" (identifier "FUN_0008b620") (argument_list "(unaff_EBP + 0x1fadcf,0x8e3,unaff_EBP + 0x1fceca)" (( "(") (binary_expression "unaff_EBP + 0x1fadcf" (identifier "unaff_EBP") (+ "+") (number_literal "0x1fadcf")) (, ",") (number_literal "0x8e3") (, ",") (binary_expression "unaff_EBP + 0x1fceca" (identifier "unaff_EBP") (+ "+") (number_literal "0x1fceca")) () ")"))) (; ";")) (} "}"))) (expression_statement "piVar3 = (int *)(in_stack_00000010[0x37] + uVar7 * 0x10);" (assignment_expression "piVar3 = (int *)(in_stack_00000010[0x37] + uVar7 * 0x10)" (identifier "piVar3") (= "=") (cast_expression "(int *)(in_stack_00000010[0x37] + uVar7 * 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_stack_00000010[0x37] + uVar7 * 0x10)" (( "(") (binary_expression "in_stack_00000010[0x37] + uVar7 * 0x10" (subscript_expression "in_stack_00000010[0x37]" (identifier "in_stack_00000010") ([ "[") (number_literal "0x37") (] "]")) (+ "+") (binary_expression "uVar7 * 0x10" (identifier "uVar7") (* "*") (number_literal "0x10"))) () ")")))) (; ";")) (expression_statement "iVar5 = *piVar3;" (assignment_expression "iVar5 = *piVar3" (identifier "iVar5") (= "=") (pointer_expression "*piVar3" (* "*") (identifier "piVar3"))) (; ";")) (if_statement "if ((iVar5 != 0) && (iVar5 != -2)) {\n                    \n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x71f,unaff_EBP + 0x1fce8a);\n        }" (if "if") (parenthesized_expression "((iVar5 != 0) && (iVar5 != -2))" (( "(") (binary_expression "(iVar5 != 0) && (iVar5 != -2)" (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar5 != -2)" (( "(") (binary_expression "iVar5 != -2" (identifier "iVar5") (!= "!=") (number_literal "-2")) () ")"))) () ")")) (compound_statement "{\n                    \n          FUN_0008b620(unaff_EBP + 0x1fadcf,0x71f,unaff_EBP + 0x1fce8a);\n        }" ({ "{") (expression_statement "FUN_0008b620(unaff_EBP + 0x1fadcf,0x71f,unaff_EBP + 0x1fce8a);" (call_expression "FUN_0008b620(unaff_EBP + 0x1fadcf,0x71f,unaff_EBP + 0x1fce8a)" (identifier "FUN_0008b620") (argument_list "(unaff_EBP + 0x1fadcf,0x71f,unaff_EBP + 0x1fce8a)" (( "(") (binary_expression "unaff_EBP + 0x1fadcf" (identifier "unaff_EBP") (+ "+") (number_literal "0x1fadcf")) (, ",") (number_literal "0x71f") (, ",") (binary_expression "unaff_EBP + 0x1fce8a" (identifier "unaff_EBP") (+ "+") (number_literal "0x1fce8a")) () ")"))) (; ";")) (} "}"))) (expression_statement "*piVar3 = -2;" (assignment_expression "*piVar3 = -2" (pointer_expression "*piVar3" (* "*") (identifier "piVar3")) (= "=") (number_literal "-2")) (; ";")) (} "}"))) (expression_statement "local_1d[0] = 0;" (assignment_expression "local_1d[0] = 0" (subscript_expression "local_1d[0]" (identifier "local_1d") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_000563d0(in_stack_00000034,local_1d);" (call_expression "FUN_000563d0(in_stack_00000034,local_1d)" (identifier "FUN_000563d0") (argument_list "(in_stack_00000034,local_1d)" (( "(") (identifier "in_stack_00000034") (, ",") (identifier "local_1d") () ")"))) (; ";")) (expression_statement "local_48 = local_48 + 1;" (assignment_expression "local_48 = local_48 + 1" (identifier "local_48") (= "=") (binary_expression "local_48 + 1" (identifier "local_48") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(int *)(in_stack_00000034 + 0xc) = *(int *)(in_stack_00000034 + 0xc) + 1;" (assignment_expression "*(int *)(in_stack_00000034 + 0xc) = *(int *)(in_stack_00000034 + 0xc) + 1" (pointer_expression "*(int *)(in_stack_00000034 + 0xc)" (* "*") (cast_expression "(int *)(in_stack_00000034 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_stack_00000034 + 0xc)" (( "(") (binary_expression "in_stack_00000034 + 0xc" (identifier "in_stack_00000034") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (binary_expression "*(int *)(in_stack_00000034 + 0xc) + 1" (pointer_expression "*(int *)(in_stack_00000034 + 0xc)" (* "*") (cast_expression "(int *)(in_stack_00000034 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_stack_00000034 + 0xc)" (( "(") (binary_expression "in_stack_00000034 + 0xc" (identifier "in_stack_00000034") (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(in_stack_00000020 != local_48)" (( "(") (binary_expression "in_stack_00000020 != local_48" (identifier "in_stack_00000020") (!= "!=") (identifier "local_48")) () ")")) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bp replaced with injection: get_pc_thunk.bp */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: void scan_relocatable_relocs(Target_i386 * this, Symbol_table * symtab,
   Layout * layout, Sized_relobj_file<32,_false> * object, uint data_shndx, uint sh_type, uchar *
   prelocs, size_t reloc_count, Output_section * output_section, bool needs_special_offset_handling,
   size_t local_symbol_count, uchar * plocal_symbols, Relocatable_relocs * rr) */

void __thiscall
anon_unknown.dwarf_217836::type_1::function_1
          (type_1 *this,type_2 *symtab,type_3 *layout,
          type_4<32,type_5> *object,type_6 data_shndx,type_6 var_1,type_7 *var_6,
          size_t var_3,type_8 *output_section,bool var_4,
          size_t var_12,type_7 *var_13,type_9 *rr)

{
  type_10 *puVar1;
  type_11 ppOVar2;
  type_12 *p_Var3;
  bool bVar4;
  type_6 var_10;
  type_11 var_20;
  int var_22;
  type_13 *var_18;
  type_6 var_14;
  type_7 uVar9;
  type_6 var_11;
  size_t var_7;
  type_7 local_1d [13];
  
  if (var_1 != 9) {
                    /* WARNING: Subroutine does not return */
    gold::var_2("../../gold/i386.cc",0xed0,"scan_relocatable_relocs");
  }
  if (var_3 != 0) {
    var_7 = 0;
    do {
      while ((var_4 &&
             (bVar4 = var_15::type_8::var_5
                                (output_section,(type_14 *)object,data_shndx,
                                 (ulonglong)*(type_6 *)(var_6 + var_7 * 8)), !bVar4))) {
LAB_00050750:
        local_1d[0] = '\b';
        std::vector<var_9,var_16::allocator<var_9>var_17>::var_8<var_9>
                  (&rr->reloc_strategies_,local_1d);
        var_7 = var_7 + 1;
        if (var_3 == var_7) {
          return;
        }
      }
      var_10 = *(type_6 *)(var_6 + var_7 * 8 + 4);
      var_11 = var_10 >> 8;
      if (var_11 < var_12) {
        if (var_13 == (type_7 *)0x0) {
                    /* WARNING: Subroutine does not return */
          gold::var_2("../../gold/target-reloc.h",0x2e4,"scan_relocatable_relocs");
        }
        var_14 = (type_6)*(type_15 *)(var_13 + var_11 * 0x10 + 0xe);
        if (var_14 < 0xff00) {
LAB_00050725:
          if (var_14 != 0) {
            ppOVar2 = (object->super_Sized_relobj<32,type_5>).super_Relobj.output_sections_.
                      super__Vector_base<var_15::type_8*,var_16::allocator<var_15::type_8*>var_17>
                      ._M_impl._M_start;
            if ((type_6)((int)(object->super_Sized_relobj<32,type_5>).super_Relobj.output_sections_.
                            super__Vector_base<var_15::type_8*,var_16::allocator<var_15::type_8*>var_17>
                            ._M_impl._M_finish - (int)ppOVar2 >> 2) <= var_14) {
                    /* WARNING: Subroutine does not return */
              gold::var_2("../../gold/object.h",0x50b,"is_section_included");
            }
            if (ppOVar2[var_14] == (type_8 *)0x0) goto LAB_00050750;
          }
        }
        else if (var_14 == 0xffff) {
          var_18 = (object->super_Sized_relobj<32,type_5>).super_Relobj.super_Object.xindex_;
          if (var_18 == (type_13 *)0x0) {
            var_18 = (type_13 *)
                      (*(object->super_Sized_relobj<32,type_5>).super_Relobj.super_Object.
                        _vptr_Object[0x1b])(object);
            (object->super_Sized_relobj<32,type_5>).super_Relobj.super_Object.xindex_ = var_18;
          }
          var_14 = var_15::Xindex::var_19(var_18,(type_16 *)object,var_11);
          goto LAB_00050725;
        }
        var_10 = var_10 & 0xff;
        if ((var_13[var_11 * 0x10 + 0xc] & 0xf) != 3) {
          if (var_10 == 0 && var_11 == 0) goto LAB_00050750;
          var_20 = (object->local_values_).
                   super__Vector_base<var_15::Symbol_value<32>,var_16::allocator<var_15::Symbol_value<32>var_17>var_17>
                   ._M_impl._M_start;
          if ((type_6)((int)(object->local_values_).
                          super__Vector_base<var_15::Symbol_value<32>,var_16::allocator<var_15::Symbol_value<32>var_17>var_17>
                          ._M_impl._M_finish - (int)var_20 >> 4) <= var_11) {
                    /* WARNING: Subroutine does not return */
            gold::var_2
                      ("../../gold/object.h",0x8e3,"set_must_have_output_symtab_entry");
          }
          var_20 = var_20 + var_11;
          var_10 = var_20->output_symtab_index_;
          if ((var_10 != 0) && (var_10 != 0xfffffffe)) {
                    /* WARNING: Subroutine does not return */
            gold::var_2
                      ("../../gold/object.h",0x71f,"set_must_have_output_symtab_entry");
          }
          var_20->output_symtab_index_ = 0xfffffffe;
          local_1d[0] = '\0';
          goto LAB_0005060d;
        }
        var_10 = Classify_reloc::var_21(var_10,(type_14 *)object);
        switch(var_10) {
        case 0:
          uVar9 = '\x02';
          break;
        case 1:
          uVar9 = '\x03';
          p_Var3 = (object->super_Sized_relobj<32,type_5>).super_Relobj.super_Object._vptr_Object
                   [0x18];
          goto joined_r0x0005082e;
        case 2:
          uVar9 = '\x04';
          break;
        default:
                    /* WARNING: Subroutine does not return */
          gold::var_2("../../gold/target-reloc.h",0x276,"local_section_strategy");
        case 4:
          uVar9 = '\x05';
          break;
        case 8:
          uVar9 = '\x06';
        }
        p_Var3 = (object->super_Sized_relobj<32,type_5>).super_Relobj.super_Object._vptr_Object
                 [0x18];
joined_r0x0005082e:
        if (p_Var3 == var_15::type_14::do_output_section) {
          ppOVar2 = (object->super_Sized_relobj<32,type_5>).super_Relobj.output_sections_.
                    super__Vector_base<var_15::type_8*,var_16::allocator<var_15::type_8*>var_17>
                    ._M_impl._M_start;
          if ((type_6)((int)(object->super_Sized_relobj<32,type_5>).super_Relobj.output_sections_.
                          super__Vector_base<var_15::type_8*,var_16::allocator<var_15::type_8*>var_17>
                          ._M_impl._M_finish - (int)ppOVar2 >> 2) <= var_14) {
                    /* WARNING: Subroutine does not return */
            gold::var_2("../../gold/object.h",0x5c8,"do_output_section");
          }
          puVar1 = &ppOVar2[var_14]->field_0x90;
          *puVar1 = *puVar1 | 1;
          local_1d[0] = uVar9;
        }
        else {
          var_22 = (*p_Var3)(object,var_14);
          *(type_17 *)(var_22 + 0x90) = *(type_17 *)(var_22 + 0x90) | 1;
          local_1d[0] = uVar9;
        }
      }
      else {
        local_1d[0] = '\0';
      }
LAB_0005060d:
      std::vector<var_9,var_16::allocator<var_9>var_17>::var_8<var_9>
                (&rr->reloc_strategies_,local_1d);
      var_7 = var_7 + 1;
      rr->output_reloc_count_ = rr->output_reloc_count_ + 1;
    } while (var_3 != var_7);
  }
  return;
}


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

void MASKED(void)

{
  uint uVar1;
  char cVar2;
  int *piVar3;
  int iVar4;
  int iVar5;
  uint uVar6;
  int unaff_EBP;
  uint uVar7;
  undefined8 uVar8;
  int *in_stack_00000010;
  undefined4 in_stack_00000014;
  int in_stack_00000018;
  int in_stack_0000001c;
  int in_stack_00000020;
  undefined4 in_stack_00000024;
  char in_stack_00000028;
  uint in_stack_0000002c;
  int in_stack_00000030;
  int in_stack_00000034;
  int local_48;
  char local_40;
  undefined1 local_1d [13];
  
  FUN_00058c4e();
  if (in_stack_00000018 != 9) {
                    /* WARNING: Subroutine does not return */
    FUN_0008b620(unaff_EBP + 0x1fae05,0xed0,unaff_EBP + 0x1fce66,in_stack_00000028);
  }
  if (in_stack_00000020 != 0) {
    local_48 = 0;
    do {
      while ((in_stack_00000028 != '\0' &&
             (cVar2 = FUN_000efc00(in_stack_00000024,in_stack_00000010,in_stack_00000014,
                                   *(undefined4 *)(in_stack_0000001c + local_48 * 8),0),
             cVar2 == '\0'))) {
LAB_00050750:
        local_1d[0] = 8;
        FUN_000563d0(in_stack_00000034,local_1d);
        local_48 = local_48 + 1;
        if (in_stack_00000020 == local_48) {
          return;
        }
      }
      uVar1 = *(uint *)(in_stack_0000001c + 4 + local_48 * 8);
      uVar7 = uVar1 >> 8;
      if (uVar7 < in_stack_0000002c) {
        if (in_stack_00000030 == 0) {
                    /* WARNING: Subroutine does not return */
          FUN_0008b620(unaff_EBP + 0x1faf23,0x2e4,unaff_EBP + 0x1fce4e);
        }
        iVar5 = in_stack_00000030 + uVar7 * 0x10;
        uVar6 = (uint)*(ushort *)(iVar5 + 0xe);
        if (uVar6 < 0xff00) {
LAB_00050725:
          if (uVar6 != 0) {
            if ((uint)(in_stack_00000010[0xf] - in_stack_00000010[0xe] >> 2) <= uVar6) {
                    /* WARNING: Subroutine does not return */
              FUN_0008b620(unaff_EBP + 0x1fadcf,0x50b,unaff_EBP + 0x1fceee,uVar6);
            }
            if (*(int *)(in_stack_00000010[0xe] + uVar6 * 4) == 0) goto LAB_00050750;
          }
        }
        else if (uVar6 == 0xffff) {
          iVar4 = in_stack_00000010[0xc];
          if (iVar4 == 0) {
            iVar4 = (**(code **)(*in_stack_00000010 + 0x6c))(in_stack_00000010);
            in_stack_00000010[0xc] = iVar4;
          }
          uVar6 = FUN_000beba0(iVar4,in_stack_00000010,uVar7);
          goto LAB_00050725;
        }
        local_40 = (char)uVar1;
        if ((*(byte *)(iVar5 + 0xc) & 0xf) == 3) {
          uVar8 = FUN_000490f0();
          if ((uint)uVar8 < 9) {
                    /* WARNING: Could not recover jumptable at 0x000507a9. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            (*(code *)(*(int *)(unaff_EBP + 0x1fbfd6 + (uint)uVar8 * 4) + unaff_EBP + 0x2eea4a))();
            return;
          }
                    /* WARNING: Subroutine does not return */
          FUN_0008b620(unaff_EBP + 0x1faf23,0x276,unaff_EBP + 0x1fce36,
                       (int)((ulonglong)uVar8 >> 0x20));
        }
        if (local_40 == '\0' && uVar7 == 0) goto LAB_00050750;
        if ((uint)(in_stack_00000010[0x38] - in_stack_00000010[0x37] >> 4) <= uVar7) {
                    /* WARNING: Subroutine does not return */
          FUN_0008b620(unaff_EBP + 0x1fadcf,0x8e3,unaff_EBP + 0x1fceca);
        }
        piVar3 = (int *)(in_stack_00000010[0x37] + uVar7 * 0x10);
        iVar5 = *piVar3;
        if ((iVar5 != 0) && (iVar5 != -2)) {
                    /* WARNING: Subroutine does not return */
          FUN_0008b620(unaff_EBP + 0x1fadcf,0x71f,unaff_EBP + 0x1fce8a);
        }
        *piVar3 = -2;
      }
      local_1d[0] = 0;
      FUN_000563d0(in_stack_00000034,local_1d);
      local_48 = local_48 + 1;
      *(int *)(in_stack_00000034 + 0xc) = *(int *)(in_stack_00000034 + 0xc) + 1;
    } while (in_stack_00000020 != local_48);
  }
  return;
}

