
/* WARNING: Type propagation algorithm not settling */
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: Output_data_plt_x86_64<64> * do_make_data_plt(Target_x86_64<64> * this,
   Layout * layout, Output_data_got<64,_false> * got, Output_data_got_plt_x86_64 * got_plt,
   Output_data_space * got_irelative, uint plt_count) */

Output_data_plt_x86_64<64> * __thiscall
anon_unknown.dwarf_32964f::Target_x86_64<64>::do_make_data_plt
          (Target_x86_64<64> *this,Layout *layout,Output_data_got<64,_false> *got,
          Output_data_got_plt_x86_64 *got_plt,Output_data_space *got_irelative,uint plt_count)

{
  Free_list *pFVar1;
  uint uVar2;
  EVP_PKEY_CTX *pEVar3;
  Output_data_plt_x86_64<64> *pOVar4;
  int unaff_EDI;
  Output_data_plt_x86_64<64> *in_stack_ffffffc4;
  EVP_PKEY_CTX *in_stack_ffffffc8;
  
  __x86_get_pc_thunk_di();
  if ((this->feature_1_ & 1) != 0) {
    pOVar4 = (Output_data_plt_x86_64<64> *)operator_new(0x78);
    pOVar4->got_ = got;
    pFVar1 = &pOVar4->free_list_;
    *(undefined4 *)&pOVar4->field_0x4 = 0;
    pEVar3 = (EVP_PKEY_CTX *)((plt_count + 1) * 0x10);
    *(undefined4 *)&pOVar4->field_0x8 = 0;
    *(EVP_PKEY_CTX **)&pOVar4->field_0xc = pEVar3;
    *(uint *)&pOVar4->field_0x10 = plt_count + 1 >> 0x1c;
    *(undefined4 *)&pOVar4->field_0x20 = 0;
    pOVar4->got_plt_ = got_plt;
    pOVar4->field_0x1c = pOVar4->field_0x1c & 0xe0 | 2;
    pOVar4->plt_eh_frame_cie_size = unaff_EDI + 0x2d9273;
    pOVar4->count_ = plt_count;
    *(undefined4 *)&pOVar4->field_0x24 = 0x10;
    *(undefined4 *)&pOVar4->field_0x28 = 0;
    *(undefined4 *)&pOVar4->field_0x14 = 0xffffffff;
    *(undefined4 *)&pOVar4->field_0x18 = 0xffffffff;
    pOVar4->tlsdesc_rel_ = (Reloc_section *)0x0;
    pOVar4->irelative_rel_ = (Reloc_section *)0x0;
    pOVar4->got_irelative_ = got_irelative;
    pOVar4->irelative_count_ = 0;
    pOVar4->tlsdesc_got_offset_ = 0xffffffff;
    (pOVar4->free_list_).list_.
    super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>
    ._M_impl._M_node.super__List_node_base._M_prev = (_List_node_base *)pFVar1;
    (pOVar4->free_list_).list_.
    super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>
    ._M_impl._M_node.super__List_node_base._M_next = (_List_node_base *)pFVar1;
    (pOVar4->free_list_).list_.
    super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>
    ._M_impl._M_node._M_size = 0;
    (pOVar4->free_list_).last_remove_._M_node = (_List_node_base *)pFVar1;
    (pOVar4->free_list_).extend_ = false;
    *(undefined4 *)&(pOVar4->free_list_).length_ = 0;
    *(undefined4 *)((int)&(pOVar4->free_list_).length_ + 4) = 0;
    *(undefined4 *)&(pOVar4->free_list_).min_hole_ = 0;
    *(undefined4 *)((int)&(pOVar4->free_list_).min_hole_ + 4) = 0;
                    /* try { // try from 00060192 to 000601be has its CatchHandler @ 00060203 */
    Output_data_plt_x86_64<64>::init(in_stack_ffffffc4,in_stack_ffffffc8);
    gold::Free_list::init(pFVar1,pEVar3);
    gold::Free_list::remove(pFVar1,(char *)0x0);
    pOVar4[1].plt_eh_frame_cie_size = 0;
    pOVar4->plt_eh_frame_cie_size = unaff_EDI + 0x2d971f;
    return pOVar4;
  }
  if (*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) != 0) {
    uVar2 = plt_count + 1 >> 0x1c;
    pEVar3 = (EVP_PKEY_CTX *)((plt_count + 1) * 0x10);
    if (*(char *)(*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) + 0x4d75) == '\0')
    {
      pOVar4 = (Output_data_plt_x86_64<64> *)operator_new(0x74);
      *(undefined4 *)&pOVar4->field_0x4 = 0;
      *(undefined4 *)&pOVar4->field_0x8 = 0;
      pFVar1 = &pOVar4->free_list_;
      *(undefined4 *)&pOVar4->field_0x24 = 0x10;
      *(undefined4 *)&pOVar4->field_0x28 = 0;
      *(undefined4 *)&pOVar4->field_0x20 = 0;
      pOVar4->got_ = got;
      *(EVP_PKEY_CTX **)&pOVar4->field_0xc = pEVar3;
      *(uint *)&pOVar4->field_0x10 = uVar2;
      pOVar4->got_plt_ = got_plt;
      pOVar4->count_ = plt_count;
      pOVar4->field_0x1c = pOVar4->field_0x1c & 0xe0 | 2;
      pOVar4->plt_eh_frame_cie_size = unaff_EDI + 0x2d9273;
      *(undefined4 *)&pOVar4->field_0x14 = 0xffffffff;
      *(undefined4 *)&pOVar4->field_0x18 = 0xffffffff;
      pOVar4->tlsdesc_rel_ = (Reloc_section *)0x0;
      pOVar4->irelative_rel_ = (Reloc_section *)0x0;
      pOVar4->got_irelative_ = got_irelative;
      pOVar4->irelative_count_ = 0;
      pOVar4->tlsdesc_got_offset_ = 0xffffffff;
      (pOVar4->free_list_).list_.
      super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>
      ._M_impl._M_node.super__List_node_base._M_prev = (_List_node_base *)pFVar1;
      (pOVar4->free_list_).list_.
      super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>
      ._M_impl._M_node.super__List_node_base._M_next = (_List_node_base *)pFVar1;
      (pOVar4->free_list_).list_.
      super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>
      ._M_impl._M_node._M_size = 0;
      (pOVar4->free_list_).last_remove_._M_node = (_List_node_base *)pFVar1;
      (pOVar4->free_list_).extend_ = false;
      *(undefined4 *)&(pOVar4->free_list_).length_ = 0;
      *(undefined4 *)((int)&(pOVar4->free_list_).length_ + 4) = 0;
      *(undefined4 *)&(pOVar4->free_list_).min_hole_ = 0;
      *(undefined4 *)((int)&(pOVar4->free_list_).min_hole_ + 4) = 0;
                    /* try { // try from 0005ff49 to 0005ff75 has its CatchHandler @ 000601f3 */
      Output_data_plt_x86_64<64>::init(in_stack_ffffffc4,in_stack_ffffffc8);
      gold::Free_list::init(pFVar1,pEVar3);
      gold::Free_list::remove(pFVar1,(char *)0x0);
      pOVar4->plt_eh_frame_cie_size = unaff_EDI + 0x2d982f;
      return pOVar4;
    }
    pOVar4 = (Output_data_plt_x86_64<64> *)operator_new(0x78);
    *(undefined4 *)&pOVar4->field_0x4 = 0;
    *(undefined4 *)&pOVar4->field_0x8 = 0;
    pFVar1 = &pOVar4->free_list_;
    *(undefined4 *)&pOVar4->field_0x24 = 0x10;
    *(undefined4 *)&pOVar4->field_0x28 = 0;
    *(undefined4 *)&pOVar4->field_0x20 = 0;
    pOVar4->got_ = got;
    *(EVP_PKEY_CTX **)&pOVar4->field_0xc = pEVar3;
    pOVar4->got_plt_ = got_plt;
    *(uint *)&pOVar4->field_0x10 = uVar2;
    pOVar4->got_irelative_ = got_irelative;
    pOVar4->field_0x1c = pOVar4->field_0x1c & 0xe0 | 2;
    pOVar4->plt_eh_frame_cie_size = unaff_EDI + 0x2d9273;
    *(undefined4 *)&pOVar4->field_0x14 = 0xffffffff;
    *(undefined4 *)&pOVar4->field_0x18 = 0xffffffff;
    pOVar4->tlsdesc_rel_ = (Reloc_section *)0x0;
    pOVar4->irelative_rel_ = (Reloc_section *)0x0;
    pOVar4->count_ = plt_count;
    pOVar4->irelative_count_ = 0;
    pOVar4->tlsdesc_got_offset_ = 0xffffffff;
    (pOVar4->free_list_).list_.
    super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>
    ._M_impl._M_node.super__List_node_base._M_prev = (_List_node_base *)pFVar1;
    (pOVar4->free_list_).list_.
    super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>
    ._M_impl._M_node.super__List_node_base._M_next = (_List_node_base *)pFVar1;
    (pOVar4->free_list_).list_.
    super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>
    ._M_impl._M_node._M_size = 0;
    (pOVar4->free_list_).last_remove_._M_node = (_List_node_base *)pFVar1;
    (pOVar4->free_list_).extend_ = false;
    *(undefined4 *)&(pOVar4->free_list_).length_ = 0;
    *(undefined4 *)((int)&(pOVar4->free_list_).length_ + 4) = 0;
    *(undefined4 *)&(pOVar4->free_list_).min_hole_ = 0;
    *(undefined4 *)((int)&(pOVar4->free_list_).min_hole_ + 4) = 0;
                    /* try { // try from 00060063 to 0006008f has its CatchHandler @ 000601fb */
    Output_data_plt_x86_64<64>::init(in_stack_ffffffc4,in_stack_ffffffc8);
    gold::Free_list::init(pFVar1,pEVar3);
    gold::Free_list::remove(pFVar1,(char *)0x0);
    pOVar4[1].plt_eh_frame_cie_size = 0;
    pOVar4->plt_eh_frame_cie_size = unaff_EDI + 0x2d9587;
    return pOVar4;
  }
                    /* WARNING: Subroutine does not return */
  gold::do_gold_unreachable
            ((char *)(std::string::string + unaff_EDI + 4),0x5c,(char *)(unaff_EDI + 0x1f150f));
}



int * FUN_0005fe20(int param_1,undefined4 param_2,int param_3,int param_4,int param_5,int param_6)

{
  int *piVar1;
  uint uVar2;
  int iVar3;
  int *piVar4;
  int unaff_EDI;
  
  FUN_00058c4a();
  if ((*(byte *)(param_1 + 0x68) & 1) != 0) {
    piVar4 = (int *)FUN_001aa8c0(0x78);
    piVar4[0xe] = param_3;
    piVar1 = piVar4 + 0x14;
    piVar4[1] = 0;
    uVar2 = param_6 + 1U >> 0x1c;
    iVar3 = (param_6 + 1U) * 0x10;
    piVar4[2] = 0;
    piVar4[3] = iVar3;
    piVar4[4] = uVar2;
    piVar4[8] = 0;
    piVar4[0xf] = param_4;
    *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;
    *piVar4 = unaff_EDI + 0x2d9273;
    piVar4[0x11] = param_6;
    piVar4[9] = 0x10;
    piVar4[10] = 0;
    piVar4[5] = -1;
    piVar4[6] = -1;
    piVar4[0xc] = 0;
    piVar4[0xd] = 0;
    piVar4[0x10] = param_5;
    piVar4[0x12] = 0;
    piVar4[0x13] = -1;
    piVar4[0x15] = (int)piVar1;
    piVar4[0x14] = (int)piVar1;
    piVar4[0x16] = 0;
    piVar4[0x17] = (int)piVar1;
    *(undefined1 *)(piVar4 + 0x18) = 0;
    piVar4[0x19] = 0;
    piVar4[0x1a] = 0;
    piVar4[0x1b] = 0;
    piVar4[0x1c] = 0;
                    /* try { // try from 00060192 to 000601be has its CatchHandler @ 00060203 */
    FUN_0005d770();
    FUN_000a8120(piVar1,iVar3,uVar2,0);
    FUN_000a81a0(piVar1,0,0,0x10,0);
    piVar4[0x1d] = 0;
    *piVar4 = unaff_EDI + 0x2d971f;
    return piVar4;
  }
  if (*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) != 0) {
    uVar2 = param_6 + 1U >> 0x1c;
    iVar3 = (param_6 + 1U) * 0x10;
    if (*(char *)(*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) + 0x4d75) == '\0')
    {
      piVar4 = (int *)FUN_001aa8c0(0x74);
      piVar4[1] = 0;
      piVar4[2] = 0;
      piVar1 = piVar4 + 0x14;
      piVar4[9] = 0x10;
      piVar4[10] = 0;
      piVar4[8] = 0;
      piVar4[0xe] = param_3;
      piVar4[3] = iVar3;
      piVar4[4] = uVar2;
      piVar4[0xf] = param_4;
      piVar4[0x11] = param_6;
      *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;
      *piVar4 = unaff_EDI + 0x2d9273;
      piVar4[5] = -1;
      piVar4[6] = -1;
      piVar4[0xc] = 0;
      piVar4[0xd] = 0;
      piVar4[0x10] = param_5;
      piVar4[0x12] = 0;
      piVar4[0x13] = -1;
      piVar4[0x15] = (int)piVar1;
      piVar4[0x14] = (int)piVar1;
      piVar4[0x16] = 0;
      piVar4[0x17] = (int)piVar1;
      *(undefined1 *)(piVar4 + 0x18) = 0;
      piVar4[0x19] = 0;
      piVar4[0x1a] = 0;
      piVar4[0x1b] = 0;
      piVar4[0x1c] = 0;
                    /* try { // try from 0005ff49 to 0005ff75 has its CatchHandler @ 000601f3 */
      FUN_0005d770();
      FUN_000a8120(piVar1,iVar3,uVar2,0);
      FUN_000a81a0(piVar1,0,0,0x10,0);
      *piVar4 = unaff_EDI + 0x2d982f;
      return piVar4;
    }
    piVar4 = (int *)FUN_001aa8c0(0x78);
    piVar4[1] = 0;
    piVar4[2] = 0;
    piVar1 = piVar4 + 0x14;
    piVar4[9] = 0x10;
    piVar4[10] = 0;
    piVar4[8] = 0;
    piVar4[0xe] = param_3;
    piVar4[3] = iVar3;
    piVar4[0xf] = param_4;
    piVar4[4] = uVar2;
    piVar4[0x10] = param_5;
    *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;
    *piVar4 = unaff_EDI + 0x2d9273;
    piVar4[5] = -1;
    piVar4[6] = -1;
    piVar4[0xc] = 0;
    piVar4[0xd] = 0;
    piVar4[0x11] = param_6;
    piVar4[0x12] = 0;
    piVar4[0x13] = -1;
    piVar4[0x15] = (int)piVar1;
    piVar4[0x14] = (int)piVar1;
    piVar4[0x16] = 0;
    piVar4[0x17] = (int)piVar1;
    *(undefined1 *)(piVar4 + 0x18) = 0;
    piVar4[0x19] = 0;
    piVar4[0x1a] = 0;
    piVar4[0x1b] = 0;
    piVar4[0x1c] = 0;
                    /* try { // try from 00060063 to 0006008f has its CatchHandler @ 000601fb */
    FUN_0005d770();
    FUN_000a8120(piVar1,iVar3,uVar2,0);
    FUN_000a81a0(piVar1,0,0,0x10,0);
    piVar4[0x1d] = 0;
    *piVar4 = unaff_EDI + 0x2d9587;
    return piVar4;
  }
                    /* WARNING: Subroutine does not return */
  FUN_0008b620(unaff_EDI + 0x1e6444,0x5c,unaff_EDI + 0x1f150f);
}


PUSH EBP
MOV EBP,ESP
PUSH EDI
CALL 0x00058c4a
ADD EDI,0x2df1d7
PUSH ESI
PUSH EBX
SUB ESP,0x2c
MOV EAX,dword ptr [EBP + 0x8]
TEST byte ptr [EAX + 0x68],0x1
JNZ 0x000600b0
LEA EAX,[EDI + 0x2f0]
MOV EAX,dword ptr [EAX]
MOV ECX,dword ptr [EAX + 0x8]
TEST ECX,ECX
JZ 0x000601db
MOV EAX,dword ptr [EBP + 0x1c]
XOR EDX,EDX
ADD EAX,0x1
SHLD EDX,EAX,0x4
SHL EAX,0x4
CMP byte ptr [ECX + 0x4d75],0x0
MOV dword ptr [EBP + -0x20],EAX
MOV dword ptr [EBP + -0x1c],EDX
JNZ 0x0005ff90
SUB ESP,0xc
MOV EBX,EDI
PUSH 0x74
CALL 0x001aa8c0
MOV ECX,dword ptr [EBP + 0x10]
MOV EDX,dword ptr [EBP + -0x1c]
ADD ESP,0x10
MOV ESI,EAX
MOV dword ptr [EAX + 0x4],0x0
MOV dword ptr [EAX + 0x8],0x0
LEA EBX,[ESI + 0x50]
MOV dword ptr [EAX + 0x24],0x10
MOV dword ptr [EAX + 0x28],0x0
MOV dword ptr [EAX + 0x20],0x0
MOV EAX,dword ptr [EBP + -0x20]
MOV dword ptr [ESI + 0x38],ECX
MOV ECX,dword ptr [EBP + 0x14]
MOV dword ptr [ESI + 0xc],EAX
MOVZX EAX,byte ptr [ESI + 0x1c]
MOV dword ptr [ESI + 0x10],EDX
MOV EDX,dword ptr [EBP + 0x1c]
AND EAX,0xffffffe0
MOV dword ptr [ESI + 0x3c],ECX
MOV ECX,dword ptr [EBP + 0x18]
OR EAX,0x2
MOV dword ptr [ESI + 0x44],EDX
MOV byte ptr [ESI + 0x1c],AL
LEA EAX,[EDI + 0xffffa09c]
MOV dword ptr [ESI],EAX
LEA EAX,[ESI + 0x2c]
MOV dword ptr [ESI + 0x14],0xffffffff
MOV dword ptr [ESI + 0x18],0xffffffff
MOV dword ptr [ESI + 0x30],0x0
MOV dword ptr [ESI + 0x34],0x0
MOV dword ptr [ESI + 0x40],ECX
MOV dword ptr [ESI + 0x48],0x0
MOV dword ptr [ESI + 0x4c],0xffffffff
MOV dword ptr [EBP + -0x28],EBX
MOV dword ptr [ESI + 0x54],EBX
MOV dword ptr [ESI + 0x50],EBX
MOV dword ptr [ESI + 0x58],0x0
MOV dword ptr [ESI + 0x5c],EBX
MOV byte ptr [ESI + 0x60],0x0
MOV dword ptr [ESI + 0x64],0x0
MOV EDX,dword ptr [EBP + 0xc]
MOV dword ptr [ESI + 0x68],0x0
MOV dword ptr [ESI + 0x6c],0x0
MOV dword ptr [ESI + 0x70],0x0
CALL 0x0005d770
PUSH 0x0
PUSH dword ptr [EBP + -0x1c]
PUSH dword ptr [EBP + -0x20]
PUSH EBX
MOV dword ptr [EBP + -0x28],EBX
MOV EBX,EDI
CALL 0x000a8120
MOV dword ptr [ESP],0x0
PUSH 0x10
PUSH 0x0
PUSH 0x0
PUSH dword ptr [EBP + -0x28]
CALL 0x000a81a0
LEA EAX,[EDI + 0xffffa658]
ADD ESP,0x20
MOV dword ptr [ESI],EAX
LEA ESP,[EBP + -0xc]
MOV EAX,ESI
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0xc
MOV EBX,EDI
PUSH 0x78
CALL 0x001aa8c0
MOV ECX,dword ptr [EBP + 0x10]
MOV EDX,dword ptr [EBP + -0x1c]
ADD ESP,0x10
MOV ESI,EAX
MOV dword ptr [EAX + 0x4],0x0
MOV dword ptr [EAX + 0x8],0x0
LEA EBX,[ESI + 0x50]
MOV dword ptr [EAX + 0x24],0x10
MOV dword ptr [EAX + 0x28],0x0
MOV dword ptr [EAX + 0x20],0x0
MOV EAX,dword ptr [EBP + -0x20]
MOV dword ptr [ESI + 0x38],ECX
MOV ECX,dword ptr [EBP + 0x14]
MOV dword ptr [ESI + 0xc],EAX
MOVZX EAX,byte ptr [ESI + 0x1c]
MOV dword ptr [ESI + 0x3c],ECX
MOV ECX,dword ptr [EBP + 0x18]
AND EAX,0xffffffe0
MOV dword ptr [ESI + 0x10],EDX
OR EAX,0x2
MOV dword ptr [ESI + 0x40],ECX
MOV ECX,dword ptr [EBP + 0x1c]
MOV byte ptr [ESI + 0x1c],AL
LEA EAX,[EDI + 0xffffa09c]
MOV dword ptr [ESI],EAX
LEA EAX,[ESI + 0x2c]
MOV dword ptr [ESI + 0x14],0xffffffff
MOV dword ptr [ESI + 0x18],0xffffffff
MOV dword ptr [ESI + 0x30],0x0
MOV dword ptr [ESI + 0x34],0x0
MOV dword ptr [ESI + 0x44],ECX
MOV dword ptr [ESI + 0x48],0x0
MOV dword ptr [ESI + 0x4c],0xffffffff
MOV dword ptr [EBP + -0x28],EBX
MOV dword ptr [ESI + 0x54],EBX
MOV dword ptr [ESI + 0x50],EBX
MOV dword ptr [ESI + 0x58],0x0
MOV dword ptr [ESI + 0x5c],EBX
MOV byte ptr [ESI + 0x60],0x0
MOV dword ptr [ESI + 0x64],0x0
MOV EDX,dword ptr [EBP + 0xc]
MOV dword ptr [ESI + 0x68],0x0
MOV dword ptr [ESI + 0x6c],0x0
MOV dword ptr [ESI + 0x70],0x0
CALL 0x0005d770
PUSH 0x0
PUSH dword ptr [EBP + -0x1c]
PUSH dword ptr [EBP + -0x20]
PUSH EBX
MOV dword ptr [EBP + -0x28],EBX
MOV EBX,EDI
CALL 0x000a8120
MOV dword ptr [ESP],0x0
PUSH 0x10
PUSH 0x0
PUSH 0x0
PUSH dword ptr [EBP + -0x28]
CALL 0x000a81a0
LEA EAX,[EDI + 0xffffa3b0]
MOV dword ptr [ESI + 0x74],0x0
ADD ESP,0x20
MOV dword ptr [ESI],EAX
LEA ESP,[EBP + -0xc]
MOV EAX,ESI
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0xc
MOV EBX,EDI
PUSH 0x78
CALL 0x001aa8c0
XOR EDX,EDX
MOV ECX,dword ptr [EBP + 0x10]
ADD ESP,0x10
MOV ESI,EAX
MOV EAX,dword ptr [EBP + 0x1c]
MOV dword ptr [ESI + 0x38],ECX
MOV ECX,dword ptr [EBP + 0x18]
LEA EBX,[ESI + 0x50]
ADD EAX,0x1
MOV dword ptr [ESI + 0x4],0x0
SHLD EDX,EAX,0x4
SHL EAX,0x4
MOV dword ptr [ESI + 0x8],0x0
MOV dword ptr [EBP + -0x28],EAX
MOV dword ptr [ESI + 0xc],EAX
MOVZX EAX,byte ptr [ESI + 0x1c]
MOV dword ptr [EBP + -0x24],EDX
MOV dword ptr [ESI + 0x10],EDX
MOV EDX,dword ptr [EBP + 0x14]
AND EAX,0xffffffe0
OR EAX,0x2
MOV dword ptr [ESI + 0x20],0x0
MOV dword ptr [ESI + 0x3c],EDX
MOV EDX,dword ptr [EBP + 0x1c]
MOV byte ptr [ESI + 0x1c],AL
LEA EAX,[EDI + 0xffffa09c]
MOV dword ptr [ESI],EAX
LEA EAX,[ESI + 0x2c]
MOV dword ptr [ESI + 0x44],EDX
MOV dword ptr [ESI + 0x24],0x10
MOV dword ptr [ESI + 0x28],0x0
MOV dword ptr [ESI + 0x14],0xffffffff
MOV dword ptr [ESI + 0x18],0xffffffff
MOV dword ptr [ESI + 0x30],0x0
MOV dword ptr [ESI + 0x34],0x0
MOV dword ptr [ESI + 0x40],ECX
MOV dword ptr [ESI + 0x48],0x0
MOV dword ptr [ESI + 0x4c],0xffffffff
MOV dword ptr [EBP + -0x20],EBX
MOV dword ptr [ESI + 0x54],EBX
MOV dword ptr [ESI + 0x50],EBX
MOV dword ptr [ESI + 0x58],0x0
MOV dword ptr [ESI + 0x5c],EBX
MOV byte ptr [ESI + 0x60],0x0
MOV EDX,dword ptr [EBP + 0xc]
MOV dword ptr [ESI + 0x64],0x0
MOV dword ptr [ESI + 0x68],0x0
MOV dword ptr [ESI + 0x6c],0x0
MOV dword ptr [ESI + 0x70],0x0
CALL 0x0005d770
PUSH 0x0
PUSH dword ptr [EBP + -0x24]
PUSH dword ptr [EBP + -0x28]
PUSH EBX
MOV dword ptr [EBP + -0x20],EBX
MOV EBX,EDI
CALL 0x000a8120
MOV dword ptr [ESP],0x0
PUSH 0x10
PUSH 0x0
PUSH 0x0
PUSH dword ptr [EBP + -0x20]
CALL 0x000a81a0
LEA EAX,[EDI + 0xffffa548]
MOV dword ptr [ESI + 0x74],0x0
ADD ESP,0x20
MOV dword ptr [ESI],EAX
LEA ESP,[EBP + -0xc]
MOV EAX,ESI
POP EBX
POP ESI
POP EDI
POP EBP
RET
LEA EAX,[EDI + 0xfff12338]
PUSH ESI
MOV EBX,EDI
PUSH EAX
LEA EAX,[EDI + 0xfff0726d]
PUSH 0x5c
PUSH EAX
CALL 0x0008b620
(translation_unit "int * FUN_0005fe20(int param_1,undefined4 param_2,int param_3,int param_4,int param_5,int param_6)\n\n{\n  int *piVar1;\n  uint uVar2;\n  int iVar3;\n  int *piVar4;\n  int unaff_EDI;\n  \n  FUN_00058c4a();\n  if ((*(byte *)(param_1 + 0x68) & 1) != 0) {\n    piVar4 = (int *)FUN_001aa8c0(0x78);\n    piVar4[0xe] = param_3;\n    piVar1 = piVar4 + 0x14;\n    piVar4[1] = 0;\n    uVar2 = param_6 + 1U >> 0x1c;\n    iVar3 = (param_6 + 1U) * 0x10;\n    piVar4[2] = 0;\n    piVar4[3] = iVar3;\n    piVar4[4] = uVar2;\n    piVar4[8] = 0;\n    piVar4[0xf] = param_4;\n    *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;\n    *piVar4 = unaff_EDI + 0x2d9273;\n    piVar4[0x11] = param_6;\n    piVar4[9] = 0x10;\n    piVar4[10] = 0;\n    piVar4[5] = -1;\n    piVar4[6] = -1;\n    piVar4[0xc] = 0;\n    piVar4[0xd] = 0;\n    piVar4[0x10] = param_5;\n    piVar4[0x12] = 0;\n    piVar4[0x13] = -1;\n    piVar4[0x15] = (int)piVar1;\n    piVar4[0x14] = (int)piVar1;\n    piVar4[0x16] = 0;\n    piVar4[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar4 + 0x18) = 0;\n    piVar4[0x19] = 0;\n    piVar4[0x1a] = 0;\n    piVar4[0x1b] = 0;\n    piVar4[0x1c] = 0;\n                    /* try { // try from 00060192 to 000601be has its CatchHandler @ 00060203 */\n    FUN_0005d770();\n    FUN_000a8120(piVar1,iVar3,uVar2,0);\n    FUN_000a81a0(piVar1,0,0,0x10,0);\n    piVar4[0x1d] = 0;\n    *piVar4 = unaff_EDI + 0x2d971f;\n    return piVar4;\n  }\n  if (*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) != 0) {\n    uVar2 = param_6 + 1U >> 0x1c;\n    iVar3 = (param_6 + 1U) * 0x10;\n    if (*(char *)(*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) + 0x4d75) == '\0')\n    {\n      piVar4 = (int *)FUN_001aa8c0(0x74);\n      piVar4[1] = 0;\n      piVar4[2] = 0;\n      piVar1 = piVar4 + 0x14;\n      piVar4[9] = 0x10;\n      piVar4[10] = 0;\n      piVar4[8] = 0;\n      piVar4[0xe] = param_3;\n      piVar4[3] = iVar3;\n      piVar4[4] = uVar2;\n      piVar4[0xf] = param_4;\n      piVar4[0x11] = param_6;\n      *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;\n      *piVar4 = unaff_EDI + 0x2d9273;\n      piVar4[5] = -1;\n      piVar4[6] = -1;\n      piVar4[0xc] = 0;\n      piVar4[0xd] = 0;\n      piVar4[0x10] = param_5;\n      piVar4[0x12] = 0;\n      piVar4[0x13] = -1;\n      piVar4[0x15] = (int)piVar1;\n      piVar4[0x14] = (int)piVar1;\n      piVar4[0x16] = 0;\n      piVar4[0x17] = (int)piVar1;\n      *(undefined1 *)(piVar4 + 0x18) = 0;\n      piVar4[0x19] = 0;\n      piVar4[0x1a] = 0;\n      piVar4[0x1b] = 0;\n      piVar4[0x1c] = 0;\n                    /* try { // try from 0005ff49 to 0005ff75 has its CatchHandler @ 000601f3 */\n      FUN_0005d770();\n      FUN_000a8120(piVar1,iVar3,uVar2,0);\n      FUN_000a81a0(piVar1,0,0,0x10,0);\n      *piVar4 = unaff_EDI + 0x2d982f;\n      return piVar4;\n    }\n    piVar4 = (int *)FUN_001aa8c0(0x78);\n    piVar4[1] = 0;\n    piVar4[2] = 0;\n    piVar1 = piVar4 + 0x14;\n    piVar4[9] = 0x10;\n    piVar4[10] = 0;\n    piVar4[8] = 0;\n    piVar4[0xe] = param_3;\n    piVar4[3] = iVar3;\n    piVar4[0xf] = param_4;\n    piVar4[4] = uVar2;\n    piVar4[0x10] = param_5;\n    *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;\n    *piVar4 = unaff_EDI + 0x2d9273;\n    piVar4[5] = -1;\n    piVar4[6] = -1;\n    piVar4[0xc] = 0;\n    piVar4[0xd] = 0;\n    piVar4[0x11] = param_6;\n    piVar4[0x12] = 0;\n    piVar4[0x13] = -1;\n    piVar4[0x15] = (int)piVar1;\n    piVar4[0x14] = (int)piVar1;\n    piVar4[0x16] = 0;\n    piVar4[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar4 + 0x18) = 0;\n    piVar4[0x19] = 0;\n    piVar4[0x1a] = 0;\n    piVar4[0x1b] = 0;\n    piVar4[0x1c] = 0;\n                    /* try { // try from 00060063 to 0006008f has its CatchHandler @ 000601fb */\n    FUN_0005d770();\n    FUN_000a8120(piVar1,iVar3,uVar2,0);\n    FUN_000a81a0(piVar1,0,0,0x10,0);\n    piVar4[0x1d] = 0;\n    *piVar4 = unaff_EDI + 0x2d9587;\n    return piVar4;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0008b620(unaff_EDI + 0x1e6444,0x5c,unaff_EDI + 0x1f150f);\n}\n\n" (function_definition "int * FUN_0005fe20(int param_1,undefined4 param_2,int param_3,int param_4,int param_5,int param_6)\n\n{\n  int *piVar1;\n  uint uVar2;\n  int iVar3;\n  int *piVar4;\n  int unaff_EDI;\n  \n  FUN_00058c4a();\n  if ((*(byte *)(param_1 + 0x68) & 1) != 0) {\n    piVar4 = (int *)FUN_001aa8c0(0x78);\n    piVar4[0xe] = param_3;\n    piVar1 = piVar4 + 0x14;\n    piVar4[1] = 0;\n    uVar2 = param_6 + 1U >> 0x1c;\n    iVar3 = (param_6 + 1U) * 0x10;\n    piVar4[2] = 0;\n    piVar4[3] = iVar3;\n    piVar4[4] = uVar2;\n    piVar4[8] = 0;\n    piVar4[0xf] = param_4;\n    *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;\n    *piVar4 = unaff_EDI + 0x2d9273;\n    piVar4[0x11] = param_6;\n    piVar4[9] = 0x10;\n    piVar4[10] = 0;\n    piVar4[5] = -1;\n    piVar4[6] = -1;\n    piVar4[0xc] = 0;\n    piVar4[0xd] = 0;\n    piVar4[0x10] = param_5;\n    piVar4[0x12] = 0;\n    piVar4[0x13] = -1;\n    piVar4[0x15] = (int)piVar1;\n    piVar4[0x14] = (int)piVar1;\n    piVar4[0x16] = 0;\n    piVar4[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar4 + 0x18) = 0;\n    piVar4[0x19] = 0;\n    piVar4[0x1a] = 0;\n    piVar4[0x1b] = 0;\n    piVar4[0x1c] = 0;\n                    /* try { // try from 00060192 to 000601be has its CatchHandler @ 00060203 */\n    FUN_0005d770();\n    FUN_000a8120(piVar1,iVar3,uVar2,0);\n    FUN_000a81a0(piVar1,0,0,0x10,0);\n    piVar4[0x1d] = 0;\n    *piVar4 = unaff_EDI + 0x2d971f;\n    return piVar4;\n  }\n  if (*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) != 0) {\n    uVar2 = param_6 + 1U >> 0x1c;\n    iVar3 = (param_6 + 1U) * 0x10;\n    if (*(char *)(*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) + 0x4d75) == '\0')\n    {\n      piVar4 = (int *)FUN_001aa8c0(0x74);\n      piVar4[1] = 0;\n      piVar4[2] = 0;\n      piVar1 = piVar4 + 0x14;\n      piVar4[9] = 0x10;\n      piVar4[10] = 0;\n      piVar4[8] = 0;\n      piVar4[0xe] = param_3;\n      piVar4[3] = iVar3;\n      piVar4[4] = uVar2;\n      piVar4[0xf] = param_4;\n      piVar4[0x11] = param_6;\n      *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;\n      *piVar4 = unaff_EDI + 0x2d9273;\n      piVar4[5] = -1;\n      piVar4[6] = -1;\n      piVar4[0xc] = 0;\n      piVar4[0xd] = 0;\n      piVar4[0x10] = param_5;\n      piVar4[0x12] = 0;\n      piVar4[0x13] = -1;\n      piVar4[0x15] = (int)piVar1;\n      piVar4[0x14] = (int)piVar1;\n      piVar4[0x16] = 0;\n      piVar4[0x17] = (int)piVar1;\n      *(undefined1 *)(piVar4 + 0x18) = 0;\n      piVar4[0x19] = 0;\n      piVar4[0x1a] = 0;\n      piVar4[0x1b] = 0;\n      piVar4[0x1c] = 0;\n                    /* try { // try from 0005ff49 to 0005ff75 has its CatchHandler @ 000601f3 */\n      FUN_0005d770();\n      FUN_000a8120(piVar1,iVar3,uVar2,0);\n      FUN_000a81a0(piVar1,0,0,0x10,0);\n      *piVar4 = unaff_EDI + 0x2d982f;\n      return piVar4;\n    }\n    piVar4 = (int *)FUN_001aa8c0(0x78);\n    piVar4[1] = 0;\n    piVar4[2] = 0;\n    piVar1 = piVar4 + 0x14;\n    piVar4[9] = 0x10;\n    piVar4[10] = 0;\n    piVar4[8] = 0;\n    piVar4[0xe] = param_3;\n    piVar4[3] = iVar3;\n    piVar4[0xf] = param_4;\n    piVar4[4] = uVar2;\n    piVar4[0x10] = param_5;\n    *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;\n    *piVar4 = unaff_EDI + 0x2d9273;\n    piVar4[5] = -1;\n    piVar4[6] = -1;\n    piVar4[0xc] = 0;\n    piVar4[0xd] = 0;\n    piVar4[0x11] = param_6;\n    piVar4[0x12] = 0;\n    piVar4[0x13] = -1;\n    piVar4[0x15] = (int)piVar1;\n    piVar4[0x14] = (int)piVar1;\n    piVar4[0x16] = 0;\n    piVar4[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar4 + 0x18) = 0;\n    piVar4[0x19] = 0;\n    piVar4[0x1a] = 0;\n    piVar4[0x1b] = 0;\n    piVar4[0x1c] = 0;\n                    /* try { // try from 00060063 to 0006008f has its CatchHandler @ 000601fb */\n    FUN_0005d770();\n    FUN_000a8120(piVar1,iVar3,uVar2,0);\n    FUN_000a81a0(piVar1,0,0,0x10,0);\n    piVar4[0x1d] = 0;\n    *piVar4 = unaff_EDI + 0x2d9587;\n    return piVar4;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0008b620(unaff_EDI + 0x1e6444,0x5c,unaff_EDI + 0x1f150f);\n}" primitive_type (pointer_declarator "* FUN_0005fe20(int param_1,undefined4 param_2,int param_3,int param_4,int param_5,int param_6)" * (function_declarator "FUN_0005fe20(int param_1,undefined4 param_2,int param_3,int param_4,int param_5,int param_6)" identifier (parameter_list "(int param_1,undefined4 param_2,int param_3,int param_4,int param_5,int param_6)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "int param_4" primitive_type identifier) , (parameter_declaration "int param_5" primitive_type identifier) , (parameter_declaration "int param_6" primitive_type identifier) )))) (compound_statement "{\n  int *piVar1;\n  uint uVar2;\n  int iVar3;\n  int *piVar4;\n  int unaff_EDI;\n  \n  FUN_00058c4a();\n  if ((*(byte *)(param_1 + 0x68) & 1) != 0) {\n    piVar4 = (int *)FUN_001aa8c0(0x78);\n    piVar4[0xe] = param_3;\n    piVar1 = piVar4 + 0x14;\n    piVar4[1] = 0;\n    uVar2 = param_6 + 1U >> 0x1c;\n    iVar3 = (param_6 + 1U) * 0x10;\n    piVar4[2] = 0;\n    piVar4[3] = iVar3;\n    piVar4[4] = uVar2;\n    piVar4[8] = 0;\n    piVar4[0xf] = param_4;\n    *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;\n    *piVar4 = unaff_EDI + 0x2d9273;\n    piVar4[0x11] = param_6;\n    piVar4[9] = 0x10;\n    piVar4[10] = 0;\n    piVar4[5] = -1;\n    piVar4[6] = -1;\n    piVar4[0xc] = 0;\n    piVar4[0xd] = 0;\n    piVar4[0x10] = param_5;\n    piVar4[0x12] = 0;\n    piVar4[0x13] = -1;\n    piVar4[0x15] = (int)piVar1;\n    piVar4[0x14] = (int)piVar1;\n    piVar4[0x16] = 0;\n    piVar4[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar4 + 0x18) = 0;\n    piVar4[0x19] = 0;\n    piVar4[0x1a] = 0;\n    piVar4[0x1b] = 0;\n    piVar4[0x1c] = 0;\n                    /* try { // try from 00060192 to 000601be has its CatchHandler @ 00060203 */\n    FUN_0005d770();\n    FUN_000a8120(piVar1,iVar3,uVar2,0);\n    FUN_000a81a0(piVar1,0,0,0x10,0);\n    piVar4[0x1d] = 0;\n    *piVar4 = unaff_EDI + 0x2d971f;\n    return piVar4;\n  }\n  if (*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) != 0) {\n    uVar2 = param_6 + 1U >> 0x1c;\n    iVar3 = (param_6 + 1U) * 0x10;\n    if (*(char *)(*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) + 0x4d75) == '\0')\n    {\n      piVar4 = (int *)FUN_001aa8c0(0x74);\n      piVar4[1] = 0;\n      piVar4[2] = 0;\n      piVar1 = piVar4 + 0x14;\n      piVar4[9] = 0x10;\n      piVar4[10] = 0;\n      piVar4[8] = 0;\n      piVar4[0xe] = param_3;\n      piVar4[3] = iVar3;\n      piVar4[4] = uVar2;\n      piVar4[0xf] = param_4;\n      piVar4[0x11] = param_6;\n      *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;\n      *piVar4 = unaff_EDI + 0x2d9273;\n      piVar4[5] = -1;\n      piVar4[6] = -1;\n      piVar4[0xc] = 0;\n      piVar4[0xd] = 0;\n      piVar4[0x10] = param_5;\n      piVar4[0x12] = 0;\n      piVar4[0x13] = -1;\n      piVar4[0x15] = (int)piVar1;\n      piVar4[0x14] = (int)piVar1;\n      piVar4[0x16] = 0;\n      piVar4[0x17] = (int)piVar1;\n      *(undefined1 *)(piVar4 + 0x18) = 0;\n      piVar4[0x19] = 0;\n      piVar4[0x1a] = 0;\n      piVar4[0x1b] = 0;\n      piVar4[0x1c] = 0;\n                    /* try { // try from 0005ff49 to 0005ff75 has its CatchHandler @ 000601f3 */\n      FUN_0005d770();\n      FUN_000a8120(piVar1,iVar3,uVar2,0);\n      FUN_000a81a0(piVar1,0,0,0x10,0);\n      *piVar4 = unaff_EDI + 0x2d982f;\n      return piVar4;\n    }\n    piVar4 = (int *)FUN_001aa8c0(0x78);\n    piVar4[1] = 0;\n    piVar4[2] = 0;\n    piVar1 = piVar4 + 0x14;\n    piVar4[9] = 0x10;\n    piVar4[10] = 0;\n    piVar4[8] = 0;\n    piVar4[0xe] = param_3;\n    piVar4[3] = iVar3;\n    piVar4[0xf] = param_4;\n    piVar4[4] = uVar2;\n    piVar4[0x10] = param_5;\n    *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;\n    *piVar4 = unaff_EDI + 0x2d9273;\n    piVar4[5] = -1;\n    piVar4[6] = -1;\n    piVar4[0xc] = 0;\n    piVar4[0xd] = 0;\n    piVar4[0x11] = param_6;\n    piVar4[0x12] = 0;\n    piVar4[0x13] = -1;\n    piVar4[0x15] = (int)piVar1;\n    piVar4[0x14] = (int)piVar1;\n    piVar4[0x16] = 0;\n    piVar4[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar4 + 0x18) = 0;\n    piVar4[0x19] = 0;\n    piVar4[0x1a] = 0;\n    piVar4[0x1b] = 0;\n    piVar4[0x1c] = 0;\n                    /* try { // try from 00060063 to 0006008f has its CatchHandler @ 000601fb */\n    FUN_0005d770();\n    FUN_000a8120(piVar1,iVar3,uVar2,0);\n    FUN_000a81a0(piVar1,0,0,0x10,0);\n    piVar4[0x1d] = 0;\n    *piVar4 = unaff_EDI + 0x2d9587;\n    return piVar4;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0008b620(unaff_EDI + 0x1e6444,0x5c,unaff_EDI + 0x1f150f);\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "int unaff_EDI;" primitive_type identifier ;) (expression_statement "FUN_00058c4a();" (call_expression "FUN_00058c4a()" identifier (argument_list "()" ( ))) ;) (if_statement "if ((*(byte *)(param_1 + 0x68) & 1) != 0) {\n    piVar4 = (int *)FUN_001aa8c0(0x78);\n    piVar4[0xe] = param_3;\n    piVar1 = piVar4 + 0x14;\n    piVar4[1] = 0;\n    uVar2 = param_6 + 1U >> 0x1c;\n    iVar3 = (param_6 + 1U) * 0x10;\n    piVar4[2] = 0;\n    piVar4[3] = iVar3;\n    piVar4[4] = uVar2;\n    piVar4[8] = 0;\n    piVar4[0xf] = param_4;\n    *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;\n    *piVar4 = unaff_EDI + 0x2d9273;\n    piVar4[0x11] = param_6;\n    piVar4[9] = 0x10;\n    piVar4[10] = 0;\n    piVar4[5] = -1;\n    piVar4[6] = -1;\n    piVar4[0xc] = 0;\n    piVar4[0xd] = 0;\n    piVar4[0x10] = param_5;\n    piVar4[0x12] = 0;\n    piVar4[0x13] = -1;\n    piVar4[0x15] = (int)piVar1;\n    piVar4[0x14] = (int)piVar1;\n    piVar4[0x16] = 0;\n    piVar4[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar4 + 0x18) = 0;\n    piVar4[0x19] = 0;\n    piVar4[0x1a] = 0;\n    piVar4[0x1b] = 0;\n    piVar4[0x1c] = 0;\n                    /* try { // try from 00060192 to 000601be has its CatchHandler @ 00060203 */\n    FUN_0005d770();\n    FUN_000a8120(piVar1,iVar3,uVar2,0);\n    FUN_000a81a0(piVar1,0,0,0x10,0);\n    piVar4[0x1d] = 0;\n    *piVar4 = unaff_EDI + 0x2d971f;\n    return piVar4;\n  }" if (parenthesized_expression "((*(byte *)(param_1 + 0x68) & 1) != 0)" ( (binary_expression "(*(byte *)(param_1 + 0x68) & 1) != 0" (parenthesized_expression "(*(byte *)(param_1 + 0x68) & 1)" ( (binary_expression "*(byte *)(param_1 + 0x68) & 1" (pointer_expression "*(byte *)(param_1 + 0x68)" * (cast_expression "(byte *)(param_1 + 0x68)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n    piVar4 = (int *)FUN_001aa8c0(0x78);\n    piVar4[0xe] = param_3;\n    piVar1 = piVar4 + 0x14;\n    piVar4[1] = 0;\n    uVar2 = param_6 + 1U >> 0x1c;\n    iVar3 = (param_6 + 1U) * 0x10;\n    piVar4[2] = 0;\n    piVar4[3] = iVar3;\n    piVar4[4] = uVar2;\n    piVar4[8] = 0;\n    piVar4[0xf] = param_4;\n    *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;\n    *piVar4 = unaff_EDI + 0x2d9273;\n    piVar4[0x11] = param_6;\n    piVar4[9] = 0x10;\n    piVar4[10] = 0;\n    piVar4[5] = -1;\n    piVar4[6] = -1;\n    piVar4[0xc] = 0;\n    piVar4[0xd] = 0;\n    piVar4[0x10] = param_5;\n    piVar4[0x12] = 0;\n    piVar4[0x13] = -1;\n    piVar4[0x15] = (int)piVar1;\n    piVar4[0x14] = (int)piVar1;\n    piVar4[0x16] = 0;\n    piVar4[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar4 + 0x18) = 0;\n    piVar4[0x19] = 0;\n    piVar4[0x1a] = 0;\n    piVar4[0x1b] = 0;\n    piVar4[0x1c] = 0;\n                    /* try { // try from 00060192 to 000601be has its CatchHandler @ 00060203 */\n    FUN_0005d770();\n    FUN_000a8120(piVar1,iVar3,uVar2,0);\n    FUN_000a81a0(piVar1,0,0,0x10,0);\n    piVar4[0x1d] = 0;\n    *piVar4 = unaff_EDI + 0x2d971f;\n    return piVar4;\n  }" { (expression_statement "piVar4 = (int *)FUN_001aa8c0(0x78);" (assignment_expression "piVar4 = (int *)FUN_001aa8c0(0x78)" identifier = (cast_expression "(int *)FUN_001aa8c0(0x78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001aa8c0(0x78)" identifier (argument_list "(0x78)" ( number_literal ))))) ;) (expression_statement "piVar4[0xe] = param_3;" (assignment_expression "piVar4[0xe] = param_3" (subscript_expression "piVar4[0xe]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar1 = piVar4 + 0x14;" (assignment_expression "piVar1 = piVar4 + 0x14" identifier = (binary_expression "piVar4 + 0x14" identifier + number_literal)) ;) (expression_statement "piVar4[1] = 0;" (assignment_expression "piVar4[1] = 0" (subscript_expression "piVar4[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar2 = param_6 + 1U >> 0x1c;" (assignment_expression "uVar2 = param_6 + 1U >> 0x1c" identifier = (binary_expression "param_6 + 1U >> 0x1c" (binary_expression "param_6 + 1U" identifier + number_literal) >> number_literal)) ;) (expression_statement "iVar3 = (param_6 + 1U) * 0x10;" (assignment_expression "iVar3 = (param_6 + 1U) * 0x10" identifier = (binary_expression "(param_6 + 1U) * 0x10" (parenthesized_expression "(param_6 + 1U)" ( (binary_expression "param_6 + 1U" identifier + number_literal) )) * number_literal)) ;) (expression_statement "piVar4[2] = 0;" (assignment_expression "piVar4[2] = 0" (subscript_expression "piVar4[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[3] = iVar3;" (assignment_expression "piVar4[3] = iVar3" (subscript_expression "piVar4[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar4[4] = uVar2;" (assignment_expression "piVar4[4] = uVar2" (subscript_expression "piVar4[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar4[8] = 0;" (assignment_expression "piVar4[8] = 0" (subscript_expression "piVar4[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0xf] = param_4;" (assignment_expression "piVar4[0xf] = param_4" (subscript_expression "piVar4[0xf]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;" (assignment_expression "*(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2" (pointer_expression "*(byte *)(piVar4 + 7)" * (cast_expression "(byte *)(piVar4 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 7)" ( (binary_expression "piVar4 + 7" identifier + number_literal) )))) = (binary_expression "*(byte *)(piVar4 + 7) & 0xe0 | 2" (binary_expression "*(byte *)(piVar4 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar4 + 7)" * (cast_expression "(byte *)(piVar4 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 7)" ( (binary_expression "piVar4 + 7" identifier + number_literal) )))) & number_literal) | number_literal)) ;) (expression_statement "*piVar4 = unaff_EDI + 0x2d9273;" (assignment_expression "*piVar4 = unaff_EDI + 0x2d9273" (pointer_expression "*piVar4" * identifier) = (binary_expression "unaff_EDI + 0x2d9273" identifier + number_literal)) ;) (expression_statement "piVar4[0x11] = param_6;" (assignment_expression "piVar4[0x11] = param_6" (subscript_expression "piVar4[0x11]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar4[9] = 0x10;" (assignment_expression "piVar4[9] = 0x10" (subscript_expression "piVar4[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[10] = 0;" (assignment_expression "piVar4[10] = 0" (subscript_expression "piVar4[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[5] = -1;" (assignment_expression "piVar4[5] = -1" (subscript_expression "piVar4[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[6] = -1;" (assignment_expression "piVar4[6] = -1" (subscript_expression "piVar4[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0xc] = 0;" (assignment_expression "piVar4[0xc] = 0" (subscript_expression "piVar4[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0xd] = 0;" (assignment_expression "piVar4[0xd] = 0" (subscript_expression "piVar4[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x10] = param_5;" (assignment_expression "piVar4[0x10] = param_5" (subscript_expression "piVar4[0x10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar4[0x12] = 0;" (assignment_expression "piVar4[0x12] = 0" (subscript_expression "piVar4[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x13] = -1;" (assignment_expression "piVar4[0x13] = -1" (subscript_expression "piVar4[0x13]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x15] = (int)piVar1;" (assignment_expression "piVar4[0x15] = (int)piVar1" (subscript_expression "piVar4[0x15]" identifier [ number_literal ]) = (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar4[0x14] = (int)piVar1;" (assignment_expression "piVar4[0x14] = (int)piVar1" (subscript_expression "piVar4[0x14]" identifier [ number_literal ]) = (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar4[0x16] = 0;" (assignment_expression "piVar4[0x16] = 0" (subscript_expression "piVar4[0x16]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x17] = (int)piVar1;" (assignment_expression "piVar4[0x17] = (int)piVar1" (subscript_expression "piVar4[0x17]" identifier [ number_literal ]) = (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*(undefined1 *)(piVar4 + 0x18) = 0;" (assignment_expression "*(undefined1 *)(piVar4 + 0x18) = 0" (pointer_expression "*(undefined1 *)(piVar4 + 0x18)" * (cast_expression "(undefined1 *)(piVar4 + 0x18)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 0x18)" ( (binary_expression "piVar4 + 0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar4[0x19] = 0;" (assignment_expression "piVar4[0x19] = 0" (subscript_expression "piVar4[0x19]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x1a] = 0;" (assignment_expression "piVar4[0x1a] = 0" (subscript_expression "piVar4[0x1a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x1b] = 0;" (assignment_expression "piVar4[0x1b] = 0" (subscript_expression "piVar4[0x1b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x1c] = 0;" (assignment_expression "piVar4[0x1c] = 0" (subscript_expression "piVar4[0x1c]" identifier [ number_literal ]) = number_literal) ;) comment (expression_statement "FUN_0005d770();" (call_expression "FUN_0005d770()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_000a8120(piVar1,iVar3,uVar2,0);" (call_expression "FUN_000a8120(piVar1,iVar3,uVar2,0)" identifier (argument_list "(piVar1,iVar3,uVar2,0)" ( identifier , identifier , identifier , number_literal ))) ;) (expression_statement "FUN_000a81a0(piVar1,0,0,0x10,0);" (call_expression "FUN_000a81a0(piVar1,0,0,0x10,0)" identifier (argument_list "(piVar1,0,0,0x10,0)" ( identifier , number_literal , number_literal , number_literal , number_literal ))) ;) (expression_statement "piVar4[0x1d] = 0;" (assignment_expression "piVar4[0x1d] = 0" (subscript_expression "piVar4[0x1d]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*piVar4 = unaff_EDI + 0x2d971f;" (assignment_expression "*piVar4 = unaff_EDI + 0x2d971f" (pointer_expression "*piVar4" * identifier) = (binary_expression "unaff_EDI + 0x2d971f" identifier + number_literal)) ;) (return_statement "return piVar4;" return identifier ;) })) (if_statement "if (*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) != 0) {\n    uVar2 = param_6 + 1U >> 0x1c;\n    iVar3 = (param_6 + 1U) * 0x10;\n    if (*(char *)(*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) + 0x4d75) == '\0')\n    {\n      piVar4 = (int *)FUN_001aa8c0(0x74);\n      piVar4[1] = 0;\n      piVar4[2] = 0;\n      piVar1 = piVar4 + 0x14;\n      piVar4[9] = 0x10;\n      piVar4[10] = 0;\n      piVar4[8] = 0;\n      piVar4[0xe] = param_3;\n      piVar4[3] = iVar3;\n      piVar4[4] = uVar2;\n      piVar4[0xf] = param_4;\n      piVar4[0x11] = param_6;\n      *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;\n      *piVar4 = unaff_EDI + 0x2d9273;\n      piVar4[5] = -1;\n      piVar4[6] = -1;\n      piVar4[0xc] = 0;\n      piVar4[0xd] = 0;\n      piVar4[0x10] = param_5;\n      piVar4[0x12] = 0;\n      piVar4[0x13] = -1;\n      piVar4[0x15] = (int)piVar1;\n      piVar4[0x14] = (int)piVar1;\n      piVar4[0x16] = 0;\n      piVar4[0x17] = (int)piVar1;\n      *(undefined1 *)(piVar4 + 0x18) = 0;\n      piVar4[0x19] = 0;\n      piVar4[0x1a] = 0;\n      piVar4[0x1b] = 0;\n      piVar4[0x1c] = 0;\n                    /* try { // try from 0005ff49 to 0005ff75 has its CatchHandler @ 000601f3 */\n      FUN_0005d770();\n      FUN_000a8120(piVar1,iVar3,uVar2,0);\n      FUN_000a81a0(piVar1,0,0,0x10,0);\n      *piVar4 = unaff_EDI + 0x2d982f;\n      return piVar4;\n    }\n    piVar4 = (int *)FUN_001aa8c0(0x78);\n    piVar4[1] = 0;\n    piVar4[2] = 0;\n    piVar1 = piVar4 + 0x14;\n    piVar4[9] = 0x10;\n    piVar4[10] = 0;\n    piVar4[8] = 0;\n    piVar4[0xe] = param_3;\n    piVar4[3] = iVar3;\n    piVar4[0xf] = param_4;\n    piVar4[4] = uVar2;\n    piVar4[0x10] = param_5;\n    *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;\n    *piVar4 = unaff_EDI + 0x2d9273;\n    piVar4[5] = -1;\n    piVar4[6] = -1;\n    piVar4[0xc] = 0;\n    piVar4[0xd] = 0;\n    piVar4[0x11] = param_6;\n    piVar4[0x12] = 0;\n    piVar4[0x13] = -1;\n    piVar4[0x15] = (int)piVar1;\n    piVar4[0x14] = (int)piVar1;\n    piVar4[0x16] = 0;\n    piVar4[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar4 + 0x18) = 0;\n    piVar4[0x19] = 0;\n    piVar4[0x1a] = 0;\n    piVar4[0x1b] = 0;\n    piVar4[0x1c] = 0;\n                    /* try { // try from 00060063 to 0006008f has its CatchHandler @ 000601fb */\n    FUN_0005d770();\n    FUN_000a8120(piVar1,iVar3,uVar2,0);\n    FUN_000a81a0(piVar1,0,0,0x10,0);\n    piVar4[0x1d] = 0;\n    *piVar4 = unaff_EDI + 0x2d9587;\n    return piVar4;\n  }" if (parenthesized_expression "(*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) != 0)" ( (binary_expression "*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) != 0" (pointer_expression "*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8)" * (cast_expression "(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8)" ( (binary_expression "*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8" (pointer_expression "*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82)" * (cast_expression "(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(BYTE_ARRAY_002df445 + unaff_EDI + 0x82)" ( (binary_expression "BYTE_ARRAY_002df445 + unaff_EDI + 0x82" (binary_expression "BYTE_ARRAY_002df445 + unaff_EDI" identifier + identifier) + number_literal) )))) + number_literal) )))) != number_literal) )) (compound_statement "{\n    uVar2 = param_6 + 1U >> 0x1c;\n    iVar3 = (param_6 + 1U) * 0x10;\n    if (*(char *)(*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) + 0x4d75) == '\0')\n    {\n      piVar4 = (int *)FUN_001aa8c0(0x74);\n      piVar4[1] = 0;\n      piVar4[2] = 0;\n      piVar1 = piVar4 + 0x14;\n      piVar4[9] = 0x10;\n      piVar4[10] = 0;\n      piVar4[8] = 0;\n      piVar4[0xe] = param_3;\n      piVar4[3] = iVar3;\n      piVar4[4] = uVar2;\n      piVar4[0xf] = param_4;\n      piVar4[0x11] = param_6;\n      *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;\n      *piVar4 = unaff_EDI + 0x2d9273;\n      piVar4[5] = -1;\n      piVar4[6] = -1;\n      piVar4[0xc] = 0;\n      piVar4[0xd] = 0;\n      piVar4[0x10] = param_5;\n      piVar4[0x12] = 0;\n      piVar4[0x13] = -1;\n      piVar4[0x15] = (int)piVar1;\n      piVar4[0x14] = (int)piVar1;\n      piVar4[0x16] = 0;\n      piVar4[0x17] = (int)piVar1;\n      *(undefined1 *)(piVar4 + 0x18) = 0;\n      piVar4[0x19] = 0;\n      piVar4[0x1a] = 0;\n      piVar4[0x1b] = 0;\n      piVar4[0x1c] = 0;\n                    /* try { // try from 0005ff49 to 0005ff75 has its CatchHandler @ 000601f3 */\n      FUN_0005d770();\n      FUN_000a8120(piVar1,iVar3,uVar2,0);\n      FUN_000a81a0(piVar1,0,0,0x10,0);\n      *piVar4 = unaff_EDI + 0x2d982f;\n      return piVar4;\n    }\n    piVar4 = (int *)FUN_001aa8c0(0x78);\n    piVar4[1] = 0;\n    piVar4[2] = 0;\n    piVar1 = piVar4 + 0x14;\n    piVar4[9] = 0x10;\n    piVar4[10] = 0;\n    piVar4[8] = 0;\n    piVar4[0xe] = param_3;\n    piVar4[3] = iVar3;\n    piVar4[0xf] = param_4;\n    piVar4[4] = uVar2;\n    piVar4[0x10] = param_5;\n    *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;\n    *piVar4 = unaff_EDI + 0x2d9273;\n    piVar4[5] = -1;\n    piVar4[6] = -1;\n    piVar4[0xc] = 0;\n    piVar4[0xd] = 0;\n    piVar4[0x11] = param_6;\n    piVar4[0x12] = 0;\n    piVar4[0x13] = -1;\n    piVar4[0x15] = (int)piVar1;\n    piVar4[0x14] = (int)piVar1;\n    piVar4[0x16] = 0;\n    piVar4[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar4 + 0x18) = 0;\n    piVar4[0x19] = 0;\n    piVar4[0x1a] = 0;\n    piVar4[0x1b] = 0;\n    piVar4[0x1c] = 0;\n                    /* try { // try from 00060063 to 0006008f has its CatchHandler @ 000601fb */\n    FUN_0005d770();\n    FUN_000a8120(piVar1,iVar3,uVar2,0);\n    FUN_000a81a0(piVar1,0,0,0x10,0);\n    piVar4[0x1d] = 0;\n    *piVar4 = unaff_EDI + 0x2d9587;\n    return piVar4;\n  }" { (expression_statement "uVar2 = param_6 + 1U >> 0x1c;" (assignment_expression "uVar2 = param_6 + 1U >> 0x1c" identifier = (binary_expression "param_6 + 1U >> 0x1c" (binary_expression "param_6 + 1U" identifier + number_literal) >> number_literal)) ;) (expression_statement "iVar3 = (param_6 + 1U) * 0x10;" (assignment_expression "iVar3 = (param_6 + 1U) * 0x10" identifier = (binary_expression "(param_6 + 1U) * 0x10" (parenthesized_expression "(param_6 + 1U)" ( (binary_expression "param_6 + 1U" identifier + number_literal) )) * number_literal)) ;) (if_statement "if (*(char *)(*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) + 0x4d75) == '\0')\n    {\n      piVar4 = (int *)FUN_001aa8c0(0x74);\n      piVar4[1] = 0;\n      piVar4[2] = 0;\n      piVar1 = piVar4 + 0x14;\n      piVar4[9] = 0x10;\n      piVar4[10] = 0;\n      piVar4[8] = 0;\n      piVar4[0xe] = param_3;\n      piVar4[3] = iVar3;\n      piVar4[4] = uVar2;\n      piVar4[0xf] = param_4;\n      piVar4[0x11] = param_6;\n      *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;\n      *piVar4 = unaff_EDI + 0x2d9273;\n      piVar4[5] = -1;\n      piVar4[6] = -1;\n      piVar4[0xc] = 0;\n      piVar4[0xd] = 0;\n      piVar4[0x10] = param_5;\n      piVar4[0x12] = 0;\n      piVar4[0x13] = -1;\n      piVar4[0x15] = (int)piVar1;\n      piVar4[0x14] = (int)piVar1;\n      piVar4[0x16] = 0;\n      piVar4[0x17] = (int)piVar1;\n      *(undefined1 *)(piVar4 + 0x18) = 0;\n      piVar4[0x19] = 0;\n      piVar4[0x1a] = 0;\n      piVar4[0x1b] = 0;\n      piVar4[0x1c] = 0;\n                    /* try { // try from 0005ff49 to 0005ff75 has its CatchHandler @ 000601f3 */\n      FUN_0005d770();\n      FUN_000a8120(piVar1,iVar3,uVar2,0);\n      FUN_000a81a0(piVar1,0,0,0x10,0);\n      *piVar4 = unaff_EDI + 0x2d982f;\n      return piVar4;\n    }" if (parenthesized_expression "(*(char *)(*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) + 0x4d75) == '\0')" ( (binary_expression "*(char *)(*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) + 0x4d75) == '\0'" (pointer_expression "*(char *)(*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) + 0x4d75)" * (cast_expression "(char *)(*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) + 0x4d75)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) + 0x4d75)" ( (binary_expression "*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) + 0x4d75" (pointer_expression "*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8)" * (cast_expression "(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8)" ( (binary_expression "*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8" (pointer_expression "*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82)" * (cast_expression "(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(BYTE_ARRAY_002df445 + unaff_EDI + 0x82)" ( (binary_expression "BYTE_ARRAY_002df445 + unaff_EDI + 0x82" (binary_expression "BYTE_ARRAY_002df445 + unaff_EDI" identifier + identifier) + number_literal) )))) + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      piVar4 = (int *)FUN_001aa8c0(0x74);\n      piVar4[1] = 0;\n      piVar4[2] = 0;\n      piVar1 = piVar4 + 0x14;\n      piVar4[9] = 0x10;\n      piVar4[10] = 0;\n      piVar4[8] = 0;\n      piVar4[0xe] = param_3;\n      piVar4[3] = iVar3;\n      piVar4[4] = uVar2;\n      piVar4[0xf] = param_4;\n      piVar4[0x11] = param_6;\n      *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;\n      *piVar4 = unaff_EDI + 0x2d9273;\n      piVar4[5] = -1;\n      piVar4[6] = -1;\n      piVar4[0xc] = 0;\n      piVar4[0xd] = 0;\n      piVar4[0x10] = param_5;\n      piVar4[0x12] = 0;\n      piVar4[0x13] = -1;\n      piVar4[0x15] = (int)piVar1;\n      piVar4[0x14] = (int)piVar1;\n      piVar4[0x16] = 0;\n      piVar4[0x17] = (int)piVar1;\n      *(undefined1 *)(piVar4 + 0x18) = 0;\n      piVar4[0x19] = 0;\n      piVar4[0x1a] = 0;\n      piVar4[0x1b] = 0;\n      piVar4[0x1c] = 0;\n                    /* try { // try from 0005ff49 to 0005ff75 has its CatchHandler @ 000601f3 */\n      FUN_0005d770();\n      FUN_000a8120(piVar1,iVar3,uVar2,0);\n      FUN_000a81a0(piVar1,0,0,0x10,0);\n      *piVar4 = unaff_EDI + 0x2d982f;\n      return piVar4;\n    }" { (expression_statement "piVar4 = (int *)FUN_001aa8c0(0x74);" (assignment_expression "piVar4 = (int *)FUN_001aa8c0(0x74)" identifier = (cast_expression "(int *)FUN_001aa8c0(0x74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001aa8c0(0x74)" identifier (argument_list "(0x74)" ( number_literal ))))) ;) (expression_statement "piVar4[1] = 0;" (assignment_expression "piVar4[1] = 0" (subscript_expression "piVar4[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[2] = 0;" (assignment_expression "piVar4[2] = 0" (subscript_expression "piVar4[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar1 = piVar4 + 0x14;" (assignment_expression "piVar1 = piVar4 + 0x14" identifier = (binary_expression "piVar4 + 0x14" identifier + number_literal)) ;) (expression_statement "piVar4[9] = 0x10;" (assignment_expression "piVar4[9] = 0x10" (subscript_expression "piVar4[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[10] = 0;" (assignment_expression "piVar4[10] = 0" (subscript_expression "piVar4[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[8] = 0;" (assignment_expression "piVar4[8] = 0" (subscript_expression "piVar4[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0xe] = param_3;" (assignment_expression "piVar4[0xe] = param_3" (subscript_expression "piVar4[0xe]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar4[3] = iVar3;" (assignment_expression "piVar4[3] = iVar3" (subscript_expression "piVar4[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar4[4] = uVar2;" (assignment_expression "piVar4[4] = uVar2" (subscript_expression "piVar4[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar4[0xf] = param_4;" (assignment_expression "piVar4[0xf] = param_4" (subscript_expression "piVar4[0xf]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar4[0x11] = param_6;" (assignment_expression "piVar4[0x11] = param_6" (subscript_expression "piVar4[0x11]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;" (assignment_expression "*(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2" (pointer_expression "*(byte *)(piVar4 + 7)" * (cast_expression "(byte *)(piVar4 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 7)" ( (binary_expression "piVar4 + 7" identifier + number_literal) )))) = (binary_expression "*(byte *)(piVar4 + 7) & 0xe0 | 2" (binary_expression "*(byte *)(piVar4 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar4 + 7)" * (cast_expression "(byte *)(piVar4 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 7)" ( (binary_expression "piVar4 + 7" identifier + number_literal) )))) & number_literal) | number_literal)) ;) (expression_statement "*piVar4 = unaff_EDI + 0x2d9273;" (assignment_expression "*piVar4 = unaff_EDI + 0x2d9273" (pointer_expression "*piVar4" * identifier) = (binary_expression "unaff_EDI + 0x2d9273" identifier + number_literal)) ;) (expression_statement "piVar4[5] = -1;" (assignment_expression "piVar4[5] = -1" (subscript_expression "piVar4[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[6] = -1;" (assignment_expression "piVar4[6] = -1" (subscript_expression "piVar4[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0xc] = 0;" (assignment_expression "piVar4[0xc] = 0" (subscript_expression "piVar4[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0xd] = 0;" (assignment_expression "piVar4[0xd] = 0" (subscript_expression "piVar4[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x10] = param_5;" (assignment_expression "piVar4[0x10] = param_5" (subscript_expression "piVar4[0x10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar4[0x12] = 0;" (assignment_expression "piVar4[0x12] = 0" (subscript_expression "piVar4[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x13] = -1;" (assignment_expression "piVar4[0x13] = -1" (subscript_expression "piVar4[0x13]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x15] = (int)piVar1;" (assignment_expression "piVar4[0x15] = (int)piVar1" (subscript_expression "piVar4[0x15]" identifier [ number_literal ]) = (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar4[0x14] = (int)piVar1;" (assignment_expression "piVar4[0x14] = (int)piVar1" (subscript_expression "piVar4[0x14]" identifier [ number_literal ]) = (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar4[0x16] = 0;" (assignment_expression "piVar4[0x16] = 0" (subscript_expression "piVar4[0x16]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x17] = (int)piVar1;" (assignment_expression "piVar4[0x17] = (int)piVar1" (subscript_expression "piVar4[0x17]" identifier [ number_literal ]) = (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*(undefined1 *)(piVar4 + 0x18) = 0;" (assignment_expression "*(undefined1 *)(piVar4 + 0x18) = 0" (pointer_expression "*(undefined1 *)(piVar4 + 0x18)" * (cast_expression "(undefined1 *)(piVar4 + 0x18)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 0x18)" ( (binary_expression "piVar4 + 0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar4[0x19] = 0;" (assignment_expression "piVar4[0x19] = 0" (subscript_expression "piVar4[0x19]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x1a] = 0;" (assignment_expression "piVar4[0x1a] = 0" (subscript_expression "piVar4[0x1a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x1b] = 0;" (assignment_expression "piVar4[0x1b] = 0" (subscript_expression "piVar4[0x1b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x1c] = 0;" (assignment_expression "piVar4[0x1c] = 0" (subscript_expression "piVar4[0x1c]" identifier [ number_literal ]) = number_literal) ;) comment (expression_statement "FUN_0005d770();" (call_expression "FUN_0005d770()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_000a8120(piVar1,iVar3,uVar2,0);" (call_expression "FUN_000a8120(piVar1,iVar3,uVar2,0)" identifier (argument_list "(piVar1,iVar3,uVar2,0)" ( identifier , identifier , identifier , number_literal ))) ;) (expression_statement "FUN_000a81a0(piVar1,0,0,0x10,0);" (call_expression "FUN_000a81a0(piVar1,0,0,0x10,0)" identifier (argument_list "(piVar1,0,0,0x10,0)" ( identifier , number_literal , number_literal , number_literal , number_literal ))) ;) (expression_statement "*piVar4 = unaff_EDI + 0x2d982f;" (assignment_expression "*piVar4 = unaff_EDI + 0x2d982f" (pointer_expression "*piVar4" * identifier) = (binary_expression "unaff_EDI + 0x2d982f" identifier + number_literal)) ;) (return_statement "return piVar4;" return identifier ;) })) (expression_statement "piVar4 = (int *)FUN_001aa8c0(0x78);" (assignment_expression "piVar4 = (int *)FUN_001aa8c0(0x78)" identifier = (cast_expression "(int *)FUN_001aa8c0(0x78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001aa8c0(0x78)" identifier (argument_list "(0x78)" ( number_literal ))))) ;) (expression_statement "piVar4[1] = 0;" (assignment_expression "piVar4[1] = 0" (subscript_expression "piVar4[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[2] = 0;" (assignment_expression "piVar4[2] = 0" (subscript_expression "piVar4[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar1 = piVar4 + 0x14;" (assignment_expression "piVar1 = piVar4 + 0x14" identifier = (binary_expression "piVar4 + 0x14" identifier + number_literal)) ;) (expression_statement "piVar4[9] = 0x10;" (assignment_expression "piVar4[9] = 0x10" (subscript_expression "piVar4[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[10] = 0;" (assignment_expression "piVar4[10] = 0" (subscript_expression "piVar4[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[8] = 0;" (assignment_expression "piVar4[8] = 0" (subscript_expression "piVar4[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0xe] = param_3;" (assignment_expression "piVar4[0xe] = param_3" (subscript_expression "piVar4[0xe]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar4[3] = iVar3;" (assignment_expression "piVar4[3] = iVar3" (subscript_expression "piVar4[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar4[0xf] = param_4;" (assignment_expression "piVar4[0xf] = param_4" (subscript_expression "piVar4[0xf]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar4[4] = uVar2;" (assignment_expression "piVar4[4] = uVar2" (subscript_expression "piVar4[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar4[0x10] = param_5;" (assignment_expression "piVar4[0x10] = param_5" (subscript_expression "piVar4[0x10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;" (assignment_expression "*(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2" (pointer_expression "*(byte *)(piVar4 + 7)" * (cast_expression "(byte *)(piVar4 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 7)" ( (binary_expression "piVar4 + 7" identifier + number_literal) )))) = (binary_expression "*(byte *)(piVar4 + 7) & 0xe0 | 2" (binary_expression "*(byte *)(piVar4 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar4 + 7)" * (cast_expression "(byte *)(piVar4 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 7)" ( (binary_expression "piVar4 + 7" identifier + number_literal) )))) & number_literal) | number_literal)) ;) (expression_statement "*piVar4 = unaff_EDI + 0x2d9273;" (assignment_expression "*piVar4 = unaff_EDI + 0x2d9273" (pointer_expression "*piVar4" * identifier) = (binary_expression "unaff_EDI + 0x2d9273" identifier + number_literal)) ;) (expression_statement "piVar4[5] = -1;" (assignment_expression "piVar4[5] = -1" (subscript_expression "piVar4[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[6] = -1;" (assignment_expression "piVar4[6] = -1" (subscript_expression "piVar4[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0xc] = 0;" (assignment_expression "piVar4[0xc] = 0" (subscript_expression "piVar4[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0xd] = 0;" (assignment_expression "piVar4[0xd] = 0" (subscript_expression "piVar4[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x11] = param_6;" (assignment_expression "piVar4[0x11] = param_6" (subscript_expression "piVar4[0x11]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar4[0x12] = 0;" (assignment_expression "piVar4[0x12] = 0" (subscript_expression "piVar4[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x13] = -1;" (assignment_expression "piVar4[0x13] = -1" (subscript_expression "piVar4[0x13]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x15] = (int)piVar1;" (assignment_expression "piVar4[0x15] = (int)piVar1" (subscript_expression "piVar4[0x15]" identifier [ number_literal ]) = (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar4[0x14] = (int)piVar1;" (assignment_expression "piVar4[0x14] = (int)piVar1" (subscript_expression "piVar4[0x14]" identifier [ number_literal ]) = (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar4[0x16] = 0;" (assignment_expression "piVar4[0x16] = 0" (subscript_expression "piVar4[0x16]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x17] = (int)piVar1;" (assignment_expression "piVar4[0x17] = (int)piVar1" (subscript_expression "piVar4[0x17]" identifier [ number_literal ]) = (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*(undefined1 *)(piVar4 + 0x18) = 0;" (assignment_expression "*(undefined1 *)(piVar4 + 0x18) = 0" (pointer_expression "*(undefined1 *)(piVar4 + 0x18)" * (cast_expression "(undefined1 *)(piVar4 + 0x18)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 0x18)" ( (binary_expression "piVar4 + 0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar4[0x19] = 0;" (assignment_expression "piVar4[0x19] = 0" (subscript_expression "piVar4[0x19]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x1a] = 0;" (assignment_expression "piVar4[0x1a] = 0" (subscript_expression "piVar4[0x1a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x1b] = 0;" (assignment_expression "piVar4[0x1b] = 0" (subscript_expression "piVar4[0x1b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x1c] = 0;" (assignment_expression "piVar4[0x1c] = 0" (subscript_expression "piVar4[0x1c]" identifier [ number_literal ]) = number_literal) ;) comment (expression_statement "FUN_0005d770();" (call_expression "FUN_0005d770()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_000a8120(piVar1,iVar3,uVar2,0);" (call_expression "FUN_000a8120(piVar1,iVar3,uVar2,0)" identifier (argument_list "(piVar1,iVar3,uVar2,0)" ( identifier , identifier , identifier , number_literal ))) ;) (expression_statement "FUN_000a81a0(piVar1,0,0,0x10,0);" (call_expression "FUN_000a81a0(piVar1,0,0,0x10,0)" identifier (argument_list "(piVar1,0,0,0x10,0)" ( identifier , number_literal , number_literal , number_literal , number_literal ))) ;) (expression_statement "piVar4[0x1d] = 0;" (assignment_expression "piVar4[0x1d] = 0" (subscript_expression "piVar4[0x1d]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*piVar4 = unaff_EDI + 0x2d9587;" (assignment_expression "*piVar4 = unaff_EDI + 0x2d9587" (pointer_expression "*piVar4" * identifier) = (binary_expression "unaff_EDI + 0x2d9587" identifier + number_literal)) ;) (return_statement "return piVar4;" return identifier ;) })) comment (expression_statement "FUN_0008b620(unaff_EDI + 0x1e6444,0x5c,unaff_EDI + 0x1f150f);" (call_expression "FUN_0008b620(unaff_EDI + 0x1e6444,0x5c,unaff_EDI + 0x1f150f)" identifier (argument_list "(unaff_EDI + 0x1e6444,0x5c,unaff_EDI + 0x1f150f)" ( (binary_expression "unaff_EDI + 0x1e6444" identifier + number_literal) , number_literal , (binary_expression "unaff_EDI + 0x1f150f" identifier + number_literal) ))) ;) })))
(translation_unit "/* WARNING: Type propagation algorithm not settling */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* DWARF original prototype: Output_data_plt_x86_64<64> * do_make_data_plt(Target_x86_64<64> * this,\n   Layout * layout, Output_data_got<64,_false> * got, Output_data_got_plt_x86_64 * got_plt,\n   Output_data_space * got_irelative, uint plt_count) */\n\nOutput_data_plt_x86_64<64> * __thiscall\nanon_unknown.dwarf_32964f::Target_x86_64<64>::do_make_data_plt\n          (Target_x86_64<64> *this,Layout *layout,Output_data_got<64,_false> *got,\n          Output_data_got_plt_x86_64 *got_plt,Output_data_space *got_irelative,uint plt_count)\n\n{\n  Free_list *pFVar1;\n  uint uVar2;\n  EVP_PKEY_CTX *pEVar3;\n  Output_data_plt_x86_64<64> *pOVar4;\n  int unaff_EDI;\n  Output_data_plt_x86_64<64> *in_stack_ffffffc4;\n  EVP_PKEY_CTX *in_stack_ffffffc8;\n  \n  __x86_get_pc_thunk_di();\n  if ((this->feature_1_ & 1) != 0) {\n    pOVar4 = (Output_data_plt_x86_64<64> *)operator_new(0x78);\n    pOVar4->got_ = got;\n    pFVar1 = &pOVar4->free_list_;\n    *(undefined4 *)&pOVar4->field_0x4 = 0;\n    pEVar3 = (EVP_PKEY_CTX *)((plt_count + 1) * 0x10);\n    *(undefined4 *)&pOVar4->field_0x8 = 0;\n    *(EVP_PKEY_CTX **)&pOVar4->field_0xc = pEVar3;\n    *(uint *)&pOVar4->field_0x10 = plt_count + 1 >> 0x1c;\n    *(undefined4 *)&pOVar4->field_0x20 = 0;\n    pOVar4->got_plt_ = got_plt;\n    pOVar4->field_0x1c = pOVar4->field_0x1c & 0xe0 | 2;\n    pOVar4->plt_eh_frame_cie_size = unaff_EDI + 0x2d9273;\n    pOVar4->count_ = plt_count;\n    *(undefined4 *)&pOVar4->field_0x24 = 0x10;\n    *(undefined4 *)&pOVar4->field_0x28 = 0;\n    *(undefined4 *)&pOVar4->field_0x14 = 0xffffffff;\n    *(undefined4 *)&pOVar4->field_0x18 = 0xffffffff;\n    pOVar4->tlsdesc_rel_ = (Reloc_section *)0x0;\n    pOVar4->irelative_rel_ = (Reloc_section *)0x0;\n    pOVar4->got_irelative_ = got_irelative;\n    pOVar4->irelative_count_ = 0;\n    pOVar4->tlsdesc_got_offset_ = 0xffffffff;\n    (pOVar4->free_list_).list_.\n    super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n    ._M_impl._M_node.super__List_node_base._M_prev = (_List_node_base *)pFVar1;\n    (pOVar4->free_list_).list_.\n    super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n    ._M_impl._M_node.super__List_node_base._M_next = (_List_node_base *)pFVar1;\n    (pOVar4->free_list_).list_.\n    super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n    ._M_impl._M_node._M_size = 0;\n    (pOVar4->free_list_).last_remove_._M_node = (_List_node_base *)pFVar1;\n    (pOVar4->free_list_).extend_ = false;\n    *(undefined4 *)&(pOVar4->free_list_).length_ = 0;\n    *(undefined4 *)((int)&(pOVar4->free_list_).length_ + 4) = 0;\n    *(undefined4 *)&(pOVar4->free_list_).min_hole_ = 0;\n    *(undefined4 *)((int)&(pOVar4->free_list_).min_hole_ + 4) = 0;\n                    /* try { // try from 00060192 to 000601be has its CatchHandler @ 00060203 */\n    Output_data_plt_x86_64<64>::init(in_stack_ffffffc4,in_stack_ffffffc8);\n    gold::Free_list::init(pFVar1,pEVar3);\n    gold::Free_list::remove(pFVar1,(char *)0x0);\n    pOVar4[1].plt_eh_frame_cie_size = 0;\n    pOVar4->plt_eh_frame_cie_size = unaff_EDI + 0x2d971f;\n    return pOVar4;\n  }\n  if (*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) != 0) {\n    uVar2 = plt_count + 1 >> 0x1c;\n    pEVar3 = (EVP_PKEY_CTX *)((plt_count + 1) * 0x10);\n    if (*(char *)(*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) + 0x4d75) == '\0')\n    {\n      pOVar4 = (Output_data_plt_x86_64<64> *)operator_new(0x74);\n      *(undefined4 *)&pOVar4->field_0x4 = 0;\n      *(undefined4 *)&pOVar4->field_0x8 = 0;\n      pFVar1 = &pOVar4->free_list_;\n      *(undefined4 *)&pOVar4->field_0x24 = 0x10;\n      *(undefined4 *)&pOVar4->field_0x28 = 0;\n      *(undefined4 *)&pOVar4->field_0x20 = 0;\n      pOVar4->got_ = got;\n      *(EVP_PKEY_CTX **)&pOVar4->field_0xc = pEVar3;\n      *(uint *)&pOVar4->field_0x10 = uVar2;\n      pOVar4->got_plt_ = got_plt;\n      pOVar4->count_ = plt_count;\n      pOVar4->field_0x1c = pOVar4->field_0x1c & 0xe0 | 2;\n      pOVar4->plt_eh_frame_cie_size = unaff_EDI + 0x2d9273;\n      *(undefined4 *)&pOVar4->field_0x14 = 0xffffffff;\n      *(undefined4 *)&pOVar4->field_0x18 = 0xffffffff;\n      pOVar4->tlsdesc_rel_ = (Reloc_section *)0x0;\n      pOVar4->irelative_rel_ = (Reloc_section *)0x0;\n      pOVar4->got_irelative_ = got_irelative;\n      pOVar4->irelative_count_ = 0;\n      pOVar4->tlsdesc_got_offset_ = 0xffffffff;\n      (pOVar4->free_list_).list_.\n      super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n      ._M_impl._M_node.super__List_node_base._M_prev = (_List_node_base *)pFVar1;\n      (pOVar4->free_list_).list_.\n      super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n      ._M_impl._M_node.super__List_node_base._M_next = (_List_node_base *)pFVar1;\n      (pOVar4->free_list_).list_.\n      super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n      ._M_impl._M_node._M_size = 0;\n      (pOVar4->free_list_).last_remove_._M_node = (_List_node_base *)pFVar1;\n      (pOVar4->free_list_).extend_ = false;\n      *(undefined4 *)&(pOVar4->free_list_).length_ = 0;\n      *(undefined4 *)((int)&(pOVar4->free_list_).length_ + 4) = 0;\n      *(undefined4 *)&(pOVar4->free_list_).min_hole_ = 0;\n      *(undefined4 *)((int)&(pOVar4->free_list_).min_hole_ + 4) = 0;\n                    /* try { // try from 0005ff49 to 0005ff75 has its CatchHandler @ 000601f3 */\n      Output_data_plt_x86_64<64>::init(in_stack_ffffffc4,in_stack_ffffffc8);\n      gold::Free_list::init(pFVar1,pEVar3);\n      gold::Free_list::remove(pFVar1,(char *)0x0);\n      pOVar4->plt_eh_frame_cie_size = unaff_EDI + 0x2d982f;\n      return pOVar4;\n    }\n    pOVar4 = (Output_data_plt_x86_64<64> *)operator_new(0x78);\n    *(undefined4 *)&pOVar4->field_0x4 = 0;\n    *(undefined4 *)&pOVar4->field_0x8 = 0;\n    pFVar1 = &pOVar4->free_list_;\n    *(undefined4 *)&pOVar4->field_0x24 = 0x10;\n    *(undefined4 *)&pOVar4->field_0x28 = 0;\n    *(undefined4 *)&pOVar4->field_0x20 = 0;\n    pOVar4->got_ = got;\n    *(EVP_PKEY_CTX **)&pOVar4->field_0xc = pEVar3;\n    pOVar4->got_plt_ = got_plt;\n    *(uint *)&pOVar4->field_0x10 = uVar2;\n    pOVar4->got_irelative_ = got_irelative;\n    pOVar4->field_0x1c = pOVar4->field_0x1c & 0xe0 | 2;\n    pOVar4->plt_eh_frame_cie_size = unaff_EDI + 0x2d9273;\n    *(undefined4 *)&pOVar4->field_0x14 = 0xffffffff;\n    *(undefined4 *)&pOVar4->field_0x18 = 0xffffffff;\n    pOVar4->tlsdesc_rel_ = (Reloc_section *)0x0;\n    pOVar4->irelative_rel_ = (Reloc_section *)0x0;\n    pOVar4->count_ = plt_count;\n    pOVar4->irelative_count_ = 0;\n    pOVar4->tlsdesc_got_offset_ = 0xffffffff;\n    (pOVar4->free_list_).list_.\n    super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n    ._M_impl._M_node.super__List_node_base._M_prev = (_List_node_base *)pFVar1;\n    (pOVar4->free_list_).list_.\n    super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n    ._M_impl._M_node.super__List_node_base._M_next = (_List_node_base *)pFVar1;\n    (pOVar4->free_list_).list_.\n    super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n    ._M_impl._M_node._M_size = 0;\n    (pOVar4->free_list_).last_remove_._M_node = (_List_node_base *)pFVar1;\n    (pOVar4->free_list_).extend_ = false;\n    *(undefined4 *)&(pOVar4->free_list_).length_ = 0;\n    *(undefined4 *)((int)&(pOVar4->free_list_).length_ + 4) = 0;\n    *(undefined4 *)&(pOVar4->free_list_).min_hole_ = 0;\n    *(undefined4 *)((int)&(pOVar4->free_list_).min_hole_ + 4) = 0;\n                    /* try { // try from 00060063 to 0006008f has its CatchHandler @ 000601fb */\n    Output_data_plt_x86_64<64>::init(in_stack_ffffffc4,in_stack_ffffffc8);\n    gold::Free_list::init(pFVar1,pEVar3);\n    gold::Free_list::remove(pFVar1,(char *)0x0);\n    pOVar4[1].plt_eh_frame_cie_size = 0;\n    pOVar4->plt_eh_frame_cie_size = unaff_EDI + 0x2d9587;\n    return pOVar4;\n  }\n                    /* WARNING: Subroutine does not return */\n  gold::do_gold_unreachable\n            ((char *)(std::string::string + unaff_EDI + 4),0x5c,(char *)(unaff_EDI + 0x1f150f));\n}\n\n" comment comment comment (expression_statement "Output_data_plt_x86_64<64> * __thiscall\nanon_unknown.dwarf_32964f::Target_x86_64<64>::do_make_data_plt\n          (Target_x86_64<64> *this,Layout *layout,Output_data_got<64,_false> *got,\n          Output_data_got_plt_x86_64 *got_plt,Output_data_space *got_irelative,uint plt_count)\n\n{\n  Free_list *pFVar1;" (update_expression "Output_data_plt_x86_64<64> * __thiscall\nanon_unknown.dwarf_32964f::Target_x86_64<64>::do_make_data_plt\n          (Target_x86_64<64> *this,Layout *layout,Output_data_got<64,_false> *got,\n          Output_data_got_plt_x86_64 *got_plt,Output_data_space *got_irelative,uint plt_count)\n\n{\n  Free_list *pFVar1" (binary_expression "Output_data_plt_x86_64<64> * __thiscall\nanon_unknown.dwarf_32964f::Target_x86_64<64>::do_make_data_plt\n          (Target_x86_64<64> *this,Layout *layout,Output_data_got<64,_false> *got,\n          Output_data_got_plt_x86_64 *got_plt,Output_data_space *got_irelative,uint plt_count)\n\n{\n  Free_list *pFVar1" (binary_expression "Output_data_plt_x86_64<64> * __thiscall\nanon_unknown.dwarf_32964f::Target_x86_64<64" (binary_expression "Output_data_plt_x86_64<64> * __thiscall\nanon_unknown.dwarf_32964f" (binary_expression "Output_data_plt_x86_64<64" identifier < number_literal) > (ERROR "* __thiscall" (pointer_expression "* __thiscall" * identifier)) (field_expression "anon_unknown.dwarf_32964f" identifier . field_identifier)) (ERROR "::Target_x86_64" : : identifier) < number_literal) > (ERROR "::do_make_data_plt\n          (Target_x86_64<64> *this,Layout *layout,Output_data_got<64,_false> *got,\n          Output_data_got_plt_x86_64 *got_plt,Output_data_space *got_irelative,uint plt_count)\n\n{" : : (call_expression "do_make_data_plt\n          (Target_x86_64<64> *this,Layout *layout,Output_data_got<64,_false> *got,\n          Output_data_got_plt_x86_64 *got_plt,Output_data_space *got_irelative,uint plt_count)" identifier (argument_list "(Target_x86_64<64> *this,Layout *layout,Output_data_got<64,_false> *got,\n          Output_data_got_plt_x86_64 *got_plt,Output_data_space *got_irelative,uint plt_count)" ( (binary_expression "Target_x86_64<64> *this" (binary_expression "Target_x86_64<64" identifier < number_literal) > (pointer_expression "*this" * identifier)) , (binary_expression "Layout *layout" identifier * identifier) , (binary_expression "Output_data_got<64" identifier < number_literal) , (binary_expression "_false> *got" identifier > (pointer_expression "*got" * identifier)) , (binary_expression "Output_data_got_plt_x86_64 *got_plt" identifier * identifier) , (binary_expression "Output_data_space *got_irelative" identifier * identifier) , (ERROR "uint" identifier) identifier ))) {) (binary_expression "Free_list *pFVar1" identifier * identifier)) --) ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "EVP_PKEY_CTX *pEVar3;" type_identifier (pointer_declarator "*pEVar3" * identifier) ;) (expression_statement "Output_data_plt_x86_64<64> *pOVar4;" (update_expression "Output_data_plt_x86_64<64> *pOVar4" (binary_expression "Output_data_plt_x86_64<64> *pOVar4" (binary_expression "Output_data_plt_x86_64<64" identifier < number_literal) > (pointer_expression "*pOVar4" * identifier)) --) ;) (declaration "int unaff_EDI;" primitive_type identifier ;) (expression_statement "Output_data_plt_x86_64<64> *in_stack_ffffffc4;" (update_expression "Output_data_plt_x86_64<64> *in_stack_ffffffc4" (binary_expression "Output_data_plt_x86_64<64> *in_stack_ffffffc4" (binary_expression "Output_data_plt_x86_64<64" identifier < number_literal) > (pointer_expression "*in_stack_ffffffc4" * identifier)) --) ;) (declaration "EVP_PKEY_CTX *in_stack_ffffffc8;" type_identifier (pointer_declarator "*in_stack_ffffffc8" * identifier) ;) (expression_statement "__x86_get_pc_thunk_di();" (call_expression "__x86_get_pc_thunk_di()" identifier (argument_list "()" ( ))) ;) (if_statement "if ((this->feature_1_ & 1) != 0) {\n    pOVar4 = (Output_data_plt_x86_64<64> *)operator_new(0x78);\n    pOVar4->got_ = got;\n    pFVar1 = &pOVar4->free_list_;\n    *(undefined4 *)&pOVar4->field_0x4 = 0;\n    pEVar3 = (EVP_PKEY_CTX *)((plt_count + 1) * 0x10);\n    *(undefined4 *)&pOVar4->field_0x8 = 0;\n    *(EVP_PKEY_CTX **)&pOVar4->field_0xc = pEVar3;\n    *(uint *)&pOVar4->field_0x10 = plt_count + 1 >> 0x1c;\n    *(undefined4 *)&pOVar4->field_0x20 = 0;\n    pOVar4->got_plt_ = got_plt;\n    pOVar4->field_0x1c = pOVar4->field_0x1c & 0xe0 | 2;\n    pOVar4->plt_eh_frame_cie_size = unaff_EDI + 0x2d9273;\n    pOVar4->count_ = plt_count;\n    *(undefined4 *)&pOVar4->field_0x24 = 0x10;\n    *(undefined4 *)&pOVar4->field_0x28 = 0;\n    *(undefined4 *)&pOVar4->field_0x14 = 0xffffffff;\n    *(undefined4 *)&pOVar4->field_0x18 = 0xffffffff;\n    pOVar4->tlsdesc_rel_ = (Reloc_section *)0x0;\n    pOVar4->irelative_rel_ = (Reloc_section *)0x0;\n    pOVar4->got_irelative_ = got_irelative;\n    pOVar4->irelative_count_ = 0;\n    pOVar4->tlsdesc_got_offset_ = 0xffffffff;\n    (pOVar4->free_list_).list_.\n    super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n    ._M_impl._M_node.super__List_node_base._M_prev = (_List_node_base *)pFVar1;\n    (pOVar4->free_list_).list_.\n    super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n    ._M_impl._M_node.super__List_node_base._M_next = (_List_node_base *)pFVar1;\n    (pOVar4->free_list_).list_.\n    super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n    ._M_impl._M_node._M_size = 0;\n    (pOVar4->free_list_).last_remove_._M_node = (_List_node_base *)pFVar1;\n    (pOVar4->free_list_).extend_ = false;\n    *(undefined4 *)&(pOVar4->free_list_).length_ = 0;\n    *(undefined4 *)((int)&(pOVar4->free_list_).length_ + 4) = 0;\n    *(undefined4 *)&(pOVar4->free_list_).min_hole_ = 0;\n    *(undefined4 *)((int)&(pOVar4->free_list_).min_hole_ + 4) = 0;\n                    /* try { // try from 00060192 to 000601be has its CatchHandler @ 00060203 */\n    Output_data_plt_x86_64<64>::init(in_stack_ffffffc4,in_stack_ffffffc8);\n    gold::Free_list::init(pFVar1,pEVar3);\n    gold::Free_list::remove(pFVar1,(char *)0x0);\n    pOVar4[1].plt_eh_frame_cie_size = 0;\n    pOVar4->plt_eh_frame_cie_size = unaff_EDI + 0x2d971f;\n    return pOVar4;\n  }" if (parenthesized_expression "((this->feature_1_ & 1) != 0)" ( (binary_expression "(this->feature_1_ & 1) != 0" (parenthesized_expression "(this->feature_1_ & 1)" ( (binary_expression "this->feature_1_ & 1" (field_expression "this->feature_1_" identifier -> field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n    pOVar4 = (Output_data_plt_x86_64<64> *)operator_new(0x78);\n    pOVar4->got_ = got;\n    pFVar1 = &pOVar4->free_list_;\n    *(undefined4 *)&pOVar4->field_0x4 = 0;\n    pEVar3 = (EVP_PKEY_CTX *)((plt_count + 1) * 0x10);\n    *(undefined4 *)&pOVar4->field_0x8 = 0;\n    *(EVP_PKEY_CTX **)&pOVar4->field_0xc = pEVar3;\n    *(uint *)&pOVar4->field_0x10 = plt_count + 1 >> 0x1c;\n    *(undefined4 *)&pOVar4->field_0x20 = 0;\n    pOVar4->got_plt_ = got_plt;\n    pOVar4->field_0x1c = pOVar4->field_0x1c & 0xe0 | 2;\n    pOVar4->plt_eh_frame_cie_size = unaff_EDI + 0x2d9273;\n    pOVar4->count_ = plt_count;\n    *(undefined4 *)&pOVar4->field_0x24 = 0x10;\n    *(undefined4 *)&pOVar4->field_0x28 = 0;\n    *(undefined4 *)&pOVar4->field_0x14 = 0xffffffff;\n    *(undefined4 *)&pOVar4->field_0x18 = 0xffffffff;\n    pOVar4->tlsdesc_rel_ = (Reloc_section *)0x0;\n    pOVar4->irelative_rel_ = (Reloc_section *)0x0;\n    pOVar4->got_irelative_ = got_irelative;\n    pOVar4->irelative_count_ = 0;\n    pOVar4->tlsdesc_got_offset_ = 0xffffffff;\n    (pOVar4->free_list_).list_.\n    super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n    ._M_impl._M_node.super__List_node_base._M_prev = (_List_node_base *)pFVar1;\n    (pOVar4->free_list_).list_.\n    super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n    ._M_impl._M_node.super__List_node_base._M_next = (_List_node_base *)pFVar1;\n    (pOVar4->free_list_).list_.\n    super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n    ._M_impl._M_node._M_size = 0;\n    (pOVar4->free_list_).last_remove_._M_node = (_List_node_base *)pFVar1;\n    (pOVar4->free_list_).extend_ = false;\n    *(undefined4 *)&(pOVar4->free_list_).length_ = 0;\n    *(undefined4 *)((int)&(pOVar4->free_list_).length_ + 4) = 0;\n    *(undefined4 *)&(pOVar4->free_list_).min_hole_ = 0;\n    *(undefined4 *)((int)&(pOVar4->free_list_).min_hole_ + 4) = 0;\n                    /* try { // try from 00060192 to 000601be has its CatchHandler @ 00060203 */\n    Output_data_plt_x86_64<64>::init(in_stack_ffffffc4,in_stack_ffffffc8);\n    gold::Free_list::init(pFVar1,pEVar3);\n    gold::Free_list::remove(pFVar1,(char *)0x0);\n    pOVar4[1].plt_eh_frame_cie_size = 0;\n    pOVar4->plt_eh_frame_cie_size = unaff_EDI + 0x2d971f;\n    return pOVar4;\n  }" { (expression_statement "pOVar4 = (Output_data_plt_x86_64<64> *)operator_new(0x78);" (assignment_expression "pOVar4 = (Output_data_plt_x86_64<64> *)operator_new(0x78)" identifier = (parenthesized_expression "(Output_data_plt_x86_64<64> *)operator_new(0x78)" ( (binary_expression "Output_data_plt_x86_64<64> *)operator_new(0x78)" (binary_expression "Output_data_plt_x86_64<64" identifier < number_literal) > (pointer_expression "*)operator_new(0x78)" * (ERROR ")" )) (call_expression "operator_new(0x78)" identifier (argument_list "(0x78)" ( number_literal ))))) ))) ;) (expression_statement "pOVar4->got_ = got;" (assignment_expression "pOVar4->got_ = got" (field_expression "pOVar4->got_" identifier -> field_identifier) = identifier) ;) (expression_statement "pFVar1 = &pOVar4->free_list_;" (assignment_expression "pFVar1 = &pOVar4->free_list_" identifier = (pointer_expression "&pOVar4->free_list_" & (field_expression "pOVar4->free_list_" identifier -> field_identifier))) ;) (expression_statement "*(undefined4 *)&pOVar4->field_0x4 = 0;" (assignment_expression "*(undefined4 *)&pOVar4->field_0x4 = 0" (pointer_expression "*(undefined4 *)&pOVar4->field_0x4" * (cast_expression "(undefined4 *)&pOVar4->field_0x4" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar4->field_0x4" & (field_expression "pOVar4->field_0x4" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "pEVar3 = (EVP_PKEY_CTX *)((plt_count + 1) * 0x10);" (assignment_expression "pEVar3 = (EVP_PKEY_CTX *)((plt_count + 1) * 0x10)" identifier = (cast_expression "(EVP_PKEY_CTX *)((plt_count + 1) * 0x10)" ( (type_descriptor "EVP_PKEY_CTX *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((plt_count + 1) * 0x10)" ( (binary_expression "(plt_count + 1) * 0x10" (parenthesized_expression "(plt_count + 1)" ( (binary_expression "plt_count + 1" identifier + number_literal) )) * number_literal) )))) ;) (expression_statement "*(undefined4 *)&pOVar4->field_0x8 = 0;" (assignment_expression "*(undefined4 *)&pOVar4->field_0x8 = 0" (pointer_expression "*(undefined4 *)&pOVar4->field_0x8" * (cast_expression "(undefined4 *)&pOVar4->field_0x8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar4->field_0x8" & (field_expression "pOVar4->field_0x8" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(EVP_PKEY_CTX **)&pOVar4->field_0xc = pEVar3;" (assignment_expression "*(EVP_PKEY_CTX **)&pOVar4->field_0xc = pEVar3" (pointer_expression "*(EVP_PKEY_CTX **)&pOVar4->field_0xc" * (cast_expression "(EVP_PKEY_CTX **)&pOVar4->field_0xc" ( (type_descriptor "EVP_PKEY_CTX **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pOVar4->field_0xc" & (field_expression "pOVar4->field_0xc" identifier -> field_identifier)))) = identifier) ;) (expression_statement "*(uint *)&pOVar4->field_0x10 = plt_count + 1 >> 0x1c;" (assignment_expression "*(uint *)&pOVar4->field_0x10 = plt_count + 1 >> 0x1c" (pointer_expression "*(uint *)&pOVar4->field_0x10" * (cast_expression "(uint *)&pOVar4->field_0x10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar4->field_0x10" & (field_expression "pOVar4->field_0x10" identifier -> field_identifier)))) = (binary_expression "plt_count + 1 >> 0x1c" (binary_expression "plt_count + 1" identifier + number_literal) >> number_literal)) ;) (expression_statement "*(undefined4 *)&pOVar4->field_0x20 = 0;" (assignment_expression "*(undefined4 *)&pOVar4->field_0x20 = 0" (pointer_expression "*(undefined4 *)&pOVar4->field_0x20" * (cast_expression "(undefined4 *)&pOVar4->field_0x20" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar4->field_0x20" & (field_expression "pOVar4->field_0x20" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "pOVar4->got_plt_ = got_plt;" (assignment_expression "pOVar4->got_plt_ = got_plt" (field_expression "pOVar4->got_plt_" identifier -> field_identifier) = identifier) ;) (expression_statement "pOVar4->field_0x1c = pOVar4->field_0x1c & 0xe0 | 2;" (assignment_expression "pOVar4->field_0x1c = pOVar4->field_0x1c & 0xe0 | 2" (field_expression "pOVar4->field_0x1c" identifier -> field_identifier) = (binary_expression "pOVar4->field_0x1c & 0xe0 | 2" (binary_expression "pOVar4->field_0x1c & 0xe0" (field_expression "pOVar4->field_0x1c" identifier -> field_identifier) & number_literal) | number_literal)) ;) (expression_statement "pOVar4->plt_eh_frame_cie_size = unaff_EDI + 0x2d9273;" (assignment_expression "pOVar4->plt_eh_frame_cie_size = unaff_EDI + 0x2d9273" (field_expression "pOVar4->plt_eh_frame_cie_size" identifier -> field_identifier) = (binary_expression "unaff_EDI + 0x2d9273" identifier + number_literal)) ;) (expression_statement "pOVar4->count_ = plt_count;" (assignment_expression "pOVar4->count_ = plt_count" (field_expression "pOVar4->count_" identifier -> field_identifier) = identifier) ;) (expression_statement "*(undefined4 *)&pOVar4->field_0x24 = 0x10;" (assignment_expression "*(undefined4 *)&pOVar4->field_0x24 = 0x10" (pointer_expression "*(undefined4 *)&pOVar4->field_0x24" * (cast_expression "(undefined4 *)&pOVar4->field_0x24" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar4->field_0x24" & (field_expression "pOVar4->field_0x24" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)&pOVar4->field_0x28 = 0;" (assignment_expression "*(undefined4 *)&pOVar4->field_0x28 = 0" (pointer_expression "*(undefined4 *)&pOVar4->field_0x28" * (cast_expression "(undefined4 *)&pOVar4->field_0x28" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar4->field_0x28" & (field_expression "pOVar4->field_0x28" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)&pOVar4->field_0x14 = 0xffffffff;" (assignment_expression "*(undefined4 *)&pOVar4->field_0x14 = 0xffffffff" (pointer_expression "*(undefined4 *)&pOVar4->field_0x14" * (cast_expression "(undefined4 *)&pOVar4->field_0x14" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar4->field_0x14" & (field_expression "pOVar4->field_0x14" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)&pOVar4->field_0x18 = 0xffffffff;" (assignment_expression "*(undefined4 *)&pOVar4->field_0x18 = 0xffffffff" (pointer_expression "*(undefined4 *)&pOVar4->field_0x18" * (cast_expression "(undefined4 *)&pOVar4->field_0x18" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar4->field_0x18" & (field_expression "pOVar4->field_0x18" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "pOVar4->tlsdesc_rel_ = (Reloc_section *)0x0;" (assignment_expression "pOVar4->tlsdesc_rel_ = (Reloc_section *)0x0" (field_expression "pOVar4->tlsdesc_rel_" identifier -> field_identifier) = (cast_expression "(Reloc_section *)0x0" ( (type_descriptor "Reloc_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pOVar4->irelative_rel_ = (Reloc_section *)0x0;" (assignment_expression "pOVar4->irelative_rel_ = (Reloc_section *)0x0" (field_expression "pOVar4->irelative_rel_" identifier -> field_identifier) = (cast_expression "(Reloc_section *)0x0" ( (type_descriptor "Reloc_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pOVar4->got_irelative_ = got_irelative;" (assignment_expression "pOVar4->got_irelative_ = got_irelative" (field_expression "pOVar4->got_irelative_" identifier -> field_identifier) = identifier) ;) (expression_statement "pOVar4->irelative_count_ = 0;" (assignment_expression "pOVar4->irelative_count_ = 0" (field_expression "pOVar4->irelative_count_" identifier -> field_identifier) = number_literal) ;) (expression_statement "pOVar4->tlsdesc_got_offset_ = 0xffffffff;" (assignment_expression "pOVar4->tlsdesc_got_offset_ = 0xffffffff" (field_expression "pOVar4->tlsdesc_got_offset_" identifier -> field_identifier) = number_literal) ;) (ERROR "(pOVar4->free_list_).list_.\n    super__List_base<gold::" (binary_expression "(pOVar4->free_list_).list_.\n    super__List_base<gold" (field_expression "(pOVar4->free_list_).list_.\n    super__List_base" (field_expression "(pOVar4->free_list_).list_" (parenthesized_expression "(pOVar4->free_list_)" ( (field_expression "pOVar4->free_list_" identifier -> field_identifier) )) . field_identifier) . field_identifier) < identifier) : :) (labeled_statement "Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n    ._M_impl._M_node.super__List_node_base._M_prev = (_List_node_base *)pFVar1;" statement_identifier (ERROR "::Free_list_node,_std::allocator<gold:" : : (comma_expression "Free_list_node,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Free_list::Free_list_node>_>\n    ._M_impl._M_node.super__List_node_base._M_prev = (_List_node_base *)pFVar1;" statement_identifier : (ERROR ":" :) (expression_statement "Free_list_node>_>\n    ._M_impl._M_node.super__List_node_base._M_prev = (_List_node_base *)pFVar1;" (assignment_expression "Free_list_node>_>\n    ._M_impl._M_node.super__List_node_base._M_prev = (_List_node_base *)pFVar1" (field_expression "Free_list_node>_>\n    ._M_impl._M_node.super__List_node_base._M_prev" (field_expression "Free_list_node>_>\n    ._M_impl._M_node.super__List_node_base" (field_expression "Free_list_node>_>\n    ._M_impl._M_node" (field_expression "Free_list_node>_>\n    ._M_impl" (binary_expression "Free_list_node>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_List_node_base *)pFVar1" ( (type_descriptor "_List_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;))) (ERROR "(pOVar4->free_list_).list_.\n    super__List_base<gold::" (binary_expression "(pOVar4->free_list_).list_.\n    super__List_base<gold" (field_expression "(pOVar4->free_list_).list_.\n    super__List_base" (field_expression "(pOVar4->free_list_).list_" (parenthesized_expression "(pOVar4->free_list_)" ( (field_expression "pOVar4->free_list_" identifier -> field_identifier) )) . field_identifier) . field_identifier) < identifier) : :) (labeled_statement "Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n    ._M_impl._M_node.super__List_node_base._M_next = (_List_node_base *)pFVar1;" statement_identifier (ERROR "::Free_list_node,_std::allocator<gold:" : : (comma_expression "Free_list_node,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Free_list::Free_list_node>_>\n    ._M_impl._M_node.super__List_node_base._M_next = (_List_node_base *)pFVar1;" statement_identifier : (ERROR ":" :) (expression_statement "Free_list_node>_>\n    ._M_impl._M_node.super__List_node_base._M_next = (_List_node_base *)pFVar1;" (assignment_expression "Free_list_node>_>\n    ._M_impl._M_node.super__List_node_base._M_next = (_List_node_base *)pFVar1" (field_expression "Free_list_node>_>\n    ._M_impl._M_node.super__List_node_base._M_next" (field_expression "Free_list_node>_>\n    ._M_impl._M_node.super__List_node_base" (field_expression "Free_list_node>_>\n    ._M_impl._M_node" (field_expression "Free_list_node>_>\n    ._M_impl" (binary_expression "Free_list_node>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_List_node_base *)pFVar1" ( (type_descriptor "_List_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;))) (ERROR "(pOVar4->free_list_).list_.\n    super__List_base<gold::" (binary_expression "(pOVar4->free_list_).list_.\n    super__List_base<gold" (field_expression "(pOVar4->free_list_).list_.\n    super__List_base" (field_expression "(pOVar4->free_list_).list_" (parenthesized_expression "(pOVar4->free_list_)" ( (field_expression "pOVar4->free_list_" identifier -> field_identifier) )) . field_identifier) . field_identifier) < identifier) : :) (labeled_statement "Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n    ._M_impl._M_node._M_size = 0;" statement_identifier (ERROR "::Free_list_node,_std::allocator<gold:" : : (comma_expression "Free_list_node,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Free_list::Free_list_node>_>\n    ._M_impl._M_node._M_size = 0;" statement_identifier : (ERROR ":" :) (expression_statement "Free_list_node>_>\n    ._M_impl._M_node._M_size = 0;" (assignment_expression "Free_list_node>_>\n    ._M_impl._M_node._M_size = 0" (field_expression "Free_list_node>_>\n    ._M_impl._M_node._M_size" (field_expression "Free_list_node>_>\n    ._M_impl._M_node" (field_expression "Free_list_node>_>\n    ._M_impl" (binary_expression "Free_list_node>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;))) (expression_statement "(pOVar4->free_list_).last_remove_._M_node = (_List_node_base *)pFVar1;" (assignment_expression "(pOVar4->free_list_).last_remove_._M_node = (_List_node_base *)pFVar1" (field_expression "(pOVar4->free_list_).last_remove_._M_node" (field_expression "(pOVar4->free_list_).last_remove_" (parenthesized_expression "(pOVar4->free_list_)" ( (field_expression "pOVar4->free_list_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (cast_expression "(_List_node_base *)pFVar1" ( (type_descriptor "_List_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "(pOVar4->free_list_).extend_ = false;" (assignment_expression "(pOVar4->free_list_).extend_ = false" (field_expression "(pOVar4->free_list_).extend_" (parenthesized_expression "(pOVar4->free_list_)" ( (field_expression "pOVar4->free_list_" identifier -> field_identifier) )) . field_identifier) = false) ;) (expression_statement "*(undefined4 *)&(pOVar4->free_list_).length_ = 0;" (assignment_expression "*(undefined4 *)&(pOVar4->free_list_).length_ = 0" (pointer_expression "*(undefined4 *)&(pOVar4->free_list_).length_" * (cast_expression "(undefined4 *)&(pOVar4->free_list_).length_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar4->free_list_).length_" & (field_expression "(pOVar4->free_list_).length_" (parenthesized_expression "(pOVar4->free_list_)" ( (field_expression "pOVar4->free_list_" identifier -> field_identifier) )) . field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&(pOVar4->free_list_).length_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&(pOVar4->free_list_).length_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&(pOVar4->free_list_).length_ + 4)" * (cast_expression "(undefined4 *)((int)&(pOVar4->free_list_).length_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pOVar4->free_list_).length_ + 4)" ( (binary_expression "(int)&(pOVar4->free_list_).length_ + 4" (cast_expression "(int)&(pOVar4->free_list_).length_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar4->free_list_).length_" & (field_expression "(pOVar4->free_list_).length_" (parenthesized_expression "(pOVar4->free_list_)" ( (field_expression "pOVar4->free_list_" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)&(pOVar4->free_list_).min_hole_ = 0;" (assignment_expression "*(undefined4 *)&(pOVar4->free_list_).min_hole_ = 0" (pointer_expression "*(undefined4 *)&(pOVar4->free_list_).min_hole_" * (cast_expression "(undefined4 *)&(pOVar4->free_list_).min_hole_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar4->free_list_).min_hole_" & (field_expression "(pOVar4->free_list_).min_hole_" (parenthesized_expression "(pOVar4->free_list_)" ( (field_expression "pOVar4->free_list_" identifier -> field_identifier) )) . field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&(pOVar4->free_list_).min_hole_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&(pOVar4->free_list_).min_hole_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&(pOVar4->free_list_).min_hole_ + 4)" * (cast_expression "(undefined4 *)((int)&(pOVar4->free_list_).min_hole_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pOVar4->free_list_).min_hole_ + 4)" ( (binary_expression "(int)&(pOVar4->free_list_).min_hole_ + 4" (cast_expression "(int)&(pOVar4->free_list_).min_hole_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar4->free_list_).min_hole_" & (field_expression "(pOVar4->free_list_).min_hole_" (parenthesized_expression "(pOVar4->free_list_)" ( (field_expression "pOVar4->free_list_" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) = number_literal) ;) comment (expression_statement "Output_data_plt_x86_64<64>::init(in_stack_ffffffc4,in_stack_ffffffc8);" (binary_expression "Output_data_plt_x86_64<64>::init(in_stack_ffffffc4,in_stack_ffffffc8)" (binary_expression "Output_data_plt_x86_64<64" identifier < number_literal) > (ERROR "::" : :) (call_expression "init(in_stack_ffffffc4,in_stack_ffffffc8)" identifier (argument_list "(in_stack_ffffffc4,in_stack_ffffffc8)" ( identifier , identifier )))) ;) (labeled_statement "gold::Free_list::init(pFVar1,pEVar3);" statement_identifier : (ERROR ":" :) (labeled_statement "Free_list::init(pFVar1,pEVar3);" statement_identifier : (ERROR ":" :) (expression_statement "init(pFVar1,pEVar3);" (call_expression "init(pFVar1,pEVar3)" identifier (argument_list "(pFVar1,pEVar3)" ( identifier , identifier ))) ;))) (labeled_statement "gold::Free_list::remove(pFVar1,(char *)0x0);" statement_identifier : (ERROR ":" :) (labeled_statement "Free_list::remove(pFVar1,(char *)0x0);" statement_identifier : (ERROR ":" :) (expression_statement "remove(pFVar1,(char *)0x0);" (call_expression "remove(pFVar1,(char *)0x0)" identifier (argument_list "(pFVar1,(char *)0x0)" ( identifier , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ))) ;))) (expression_statement "pOVar4[1].plt_eh_frame_cie_size = 0;" (assignment_expression "pOVar4[1].plt_eh_frame_cie_size = 0" (field_expression "pOVar4[1].plt_eh_frame_cie_size" (subscript_expression "pOVar4[1]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (expression_statement "pOVar4->plt_eh_frame_cie_size = unaff_EDI + 0x2d971f;" (assignment_expression "pOVar4->plt_eh_frame_cie_size = unaff_EDI + 0x2d971f" (field_expression "pOVar4->plt_eh_frame_cie_size" identifier -> field_identifier) = (binary_expression "unaff_EDI + 0x2d971f" identifier + number_literal)) ;) (return_statement "return pOVar4;" return identifier ;) })) (if_statement "if (*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) != 0) {\n    uVar2 = plt_count + 1 >> 0x1c;\n    pEVar3 = (EVP_PKEY_CTX *)((plt_count + 1) * 0x10);\n    if (*(char *)(*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) + 0x4d75) == '\0')\n    {\n      pOVar4 = (Output_data_plt_x86_64<64> *)operator_new(0x74);\n      *(undefined4 *)&pOVar4->field_0x4 = 0;\n      *(undefined4 *)&pOVar4->field_0x8 = 0;\n      pFVar1 = &pOVar4->free_list_;\n      *(undefined4 *)&pOVar4->field_0x24 = 0x10;\n      *(undefined4 *)&pOVar4->field_0x28 = 0;\n      *(undefined4 *)&pOVar4->field_0x20 = 0;\n      pOVar4->got_ = got;\n      *(EVP_PKEY_CTX **)&pOVar4->field_0xc = pEVar3;\n      *(uint *)&pOVar4->field_0x10 = uVar2;\n      pOVar4->got_plt_ = got_plt;\n      pOVar4->count_ = plt_count;\n      pOVar4->field_0x1c = pOVar4->field_0x1c & 0xe0 | 2;\n      pOVar4->plt_eh_frame_cie_size = unaff_EDI + 0x2d9273;\n      *(undefined4 *)&pOVar4->field_0x14 = 0xffffffff;\n      *(undefined4 *)&pOVar4->field_0x18 = 0xffffffff;\n      pOVar4->tlsdesc_rel_ = (Reloc_section *)0x0;\n      pOVar4->irelative_rel_ = (Reloc_section *)0x0;\n      pOVar4->got_irelative_ = got_irelative;\n      pOVar4->irelative_count_ = 0;\n      pOVar4->tlsdesc_got_offset_ = 0xffffffff;\n      (pOVar4->free_list_).list_.\n      super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n      ._M_impl._M_node.super__List_node_base._M_prev = (_List_node_base *)pFVar1;\n      (pOVar4->free_list_).list_.\n      super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n      ._M_impl._M_node.super__List_node_base._M_next = (_List_node_base *)pFVar1;\n      (pOVar4->free_list_).list_.\n      super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n      ._M_impl._M_node._M_size = 0;\n      (pOVar4->free_list_).last_remove_._M_node = (_List_node_base *)pFVar1;\n      (pOVar4->free_list_).extend_ = false;\n      *(undefined4 *)&(pOVar4->free_list_).length_ = 0;\n      *(undefined4 *)((int)&(pOVar4->free_list_).length_ + 4) = 0;\n      *(undefined4 *)&(pOVar4->free_list_).min_hole_ = 0;\n      *(undefined4 *)((int)&(pOVar4->free_list_).min_hole_ + 4) = 0;\n                    /* try { // try from 0005ff49 to 0005ff75 has its CatchHandler @ 000601f3 */\n      Output_data_plt_x86_64<64>::init(in_stack_ffffffc4,in_stack_ffffffc8);\n      gold::Free_list::init(pFVar1,pEVar3);\n      gold::Free_list::remove(pFVar1,(char *)0x0);\n      pOVar4->plt_eh_frame_cie_size = unaff_EDI + 0x2d982f;\n      return pOVar4;\n    }\n    pOVar4 = (Output_data_plt_x86_64<64> *)operator_new(0x78);\n    *(undefined4 *)&pOVar4->field_0x4 = 0;\n    *(undefined4 *)&pOVar4->field_0x8 = 0;\n    pFVar1 = &pOVar4->free_list_;\n    *(undefined4 *)&pOVar4->field_0x24 = 0x10;\n    *(undefined4 *)&pOVar4->field_0x28 = 0;\n    *(undefined4 *)&pOVar4->field_0x20 = 0;\n    pOVar4->got_ = got;\n    *(EVP_PKEY_CTX **)&pOVar4->field_0xc = pEVar3;\n    pOVar4->got_plt_ = got_plt;\n    *(uint *)&pOVar4->field_0x10 = uVar2;\n    pOVar4->got_irelative_ = got_irelative;\n    pOVar4->field_0x1c = pOVar4->field_0x1c & 0xe0 | 2;\n    pOVar4->plt_eh_frame_cie_size = unaff_EDI + 0x2d9273;\n    *(undefined4 *)&pOVar4->field_0x14 = 0xffffffff;\n    *(undefined4 *)&pOVar4->field_0x18 = 0xffffffff;\n    pOVar4->tlsdesc_rel_ = (Reloc_section *)0x0;\n    pOVar4->irelative_rel_ = (Reloc_section *)0x0;\n    pOVar4->count_ = plt_count;\n    pOVar4->irelative_count_ = 0;\n    pOVar4->tlsdesc_got_offset_ = 0xffffffff;\n    (pOVar4->free_list_).list_.\n    super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n    ._M_impl._M_node.super__List_node_base._M_prev = (_List_node_base *)pFVar1;\n    (pOVar4->free_list_).list_.\n    super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n    ._M_impl._M_node.super__List_node_base._M_next = (_List_node_base *)pFVar1;\n    (pOVar4->free_list_).list_.\n    super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n    ._M_impl._M_node._M_size = 0;\n    (pOVar4->free_list_).last_remove_._M_node = (_List_node_base *)pFVar1;\n    (pOVar4->free_list_).extend_ = false;\n    *(undefined4 *)&(pOVar4->free_list_).length_ = 0;\n    *(undefined4 *)((int)&(pOVar4->free_list_).length_ + 4) = 0;\n    *(undefined4 *)&(pOVar4->free_list_).min_hole_ = 0;\n    *(undefined4 *)((int)&(pOVar4->free_list_).min_hole_ + 4) = 0;\n                    /* try { // try from 00060063 to 0006008f has its CatchHandler @ 000601fb */\n    Output_data_plt_x86_64<64>::init(in_stack_ffffffc4,in_stack_ffffffc8);\n    gold::Free_list::init(pFVar1,pEVar3);\n    gold::Free_list::remove(pFVar1,(char *)0x0);\n    pOVar4[1].plt_eh_frame_cie_size = 0;\n    pOVar4->plt_eh_frame_cie_size = unaff_EDI + 0x2d9587;\n    return pOVar4;\n  }" if (parenthesized_expression "(*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) != 0)" ( (binary_expression "*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) != 0" (pointer_expression "*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8)" * (cast_expression "(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8)" ( (binary_expression "*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8" (pointer_expression "*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82)" * (cast_expression "(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(BYTE_ARRAY_002df445 + unaff_EDI + 0x82)" ( (binary_expression "BYTE_ARRAY_002df445 + unaff_EDI + 0x82" (binary_expression "BYTE_ARRAY_002df445 + unaff_EDI" identifier + identifier) + number_literal) )))) + number_literal) )))) != number_literal) )) (compound_statement "{\n    uVar2 = plt_count + 1 >> 0x1c;\n    pEVar3 = (EVP_PKEY_CTX *)((plt_count + 1) * 0x10);\n    if (*(char *)(*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) + 0x4d75) == '\0')\n    {\n      pOVar4 = (Output_data_plt_x86_64<64> *)operator_new(0x74);\n      *(undefined4 *)&pOVar4->field_0x4 = 0;\n      *(undefined4 *)&pOVar4->field_0x8 = 0;\n      pFVar1 = &pOVar4->free_list_;\n      *(undefined4 *)&pOVar4->field_0x24 = 0x10;\n      *(undefined4 *)&pOVar4->field_0x28 = 0;\n      *(undefined4 *)&pOVar4->field_0x20 = 0;\n      pOVar4->got_ = got;\n      *(EVP_PKEY_CTX **)&pOVar4->field_0xc = pEVar3;\n      *(uint *)&pOVar4->field_0x10 = uVar2;\n      pOVar4->got_plt_ = got_plt;\n      pOVar4->count_ = plt_count;\n      pOVar4->field_0x1c = pOVar4->field_0x1c & 0xe0 | 2;\n      pOVar4->plt_eh_frame_cie_size = unaff_EDI + 0x2d9273;\n      *(undefined4 *)&pOVar4->field_0x14 = 0xffffffff;\n      *(undefined4 *)&pOVar4->field_0x18 = 0xffffffff;\n      pOVar4->tlsdesc_rel_ = (Reloc_section *)0x0;\n      pOVar4->irelative_rel_ = (Reloc_section *)0x0;\n      pOVar4->got_irelative_ = got_irelative;\n      pOVar4->irelative_count_ = 0;\n      pOVar4->tlsdesc_got_offset_ = 0xffffffff;\n      (pOVar4->free_list_).list_.\n      super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n      ._M_impl._M_node.super__List_node_base._M_prev = (_List_node_base *)pFVar1;\n      (pOVar4->free_list_).list_.\n      super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n      ._M_impl._M_node.super__List_node_base._M_next = (_List_node_base *)pFVar1;\n      (pOVar4->free_list_).list_.\n      super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n      ._M_impl._M_node._M_size = 0;\n      (pOVar4->free_list_).last_remove_._M_node = (_List_node_base *)pFVar1;\n      (pOVar4->free_list_).extend_ = false;\n      *(undefined4 *)&(pOVar4->free_list_).length_ = 0;\n      *(undefined4 *)((int)&(pOVar4->free_list_).length_ + 4) = 0;\n      *(undefined4 *)&(pOVar4->free_list_).min_hole_ = 0;\n      *(undefined4 *)((int)&(pOVar4->free_list_).min_hole_ + 4) = 0;\n                    /* try { // try from 0005ff49 to 0005ff75 has its CatchHandler @ 000601f3 */\n      Output_data_plt_x86_64<64>::init(in_stack_ffffffc4,in_stack_ffffffc8);\n      gold::Free_list::init(pFVar1,pEVar3);\n      gold::Free_list::remove(pFVar1,(char *)0x0);\n      pOVar4->plt_eh_frame_cie_size = unaff_EDI + 0x2d982f;\n      return pOVar4;\n    }\n    pOVar4 = (Output_data_plt_x86_64<64> *)operator_new(0x78);\n    *(undefined4 *)&pOVar4->field_0x4 = 0;\n    *(undefined4 *)&pOVar4->field_0x8 = 0;\n    pFVar1 = &pOVar4->free_list_;\n    *(undefined4 *)&pOVar4->field_0x24 = 0x10;\n    *(undefined4 *)&pOVar4->field_0x28 = 0;\n    *(undefined4 *)&pOVar4->field_0x20 = 0;\n    pOVar4->got_ = got;\n    *(EVP_PKEY_CTX **)&pOVar4->field_0xc = pEVar3;\n    pOVar4->got_plt_ = got_plt;\n    *(uint *)&pOVar4->field_0x10 = uVar2;\n    pOVar4->got_irelative_ = got_irelative;\n    pOVar4->field_0x1c = pOVar4->field_0x1c & 0xe0 | 2;\n    pOVar4->plt_eh_frame_cie_size = unaff_EDI + 0x2d9273;\n    *(undefined4 *)&pOVar4->field_0x14 = 0xffffffff;\n    *(undefined4 *)&pOVar4->field_0x18 = 0xffffffff;\n    pOVar4->tlsdesc_rel_ = (Reloc_section *)0x0;\n    pOVar4->irelative_rel_ = (Reloc_section *)0x0;\n    pOVar4->count_ = plt_count;\n    pOVar4->irelative_count_ = 0;\n    pOVar4->tlsdesc_got_offset_ = 0xffffffff;\n    (pOVar4->free_list_).list_.\n    super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n    ._M_impl._M_node.super__List_node_base._M_prev = (_List_node_base *)pFVar1;\n    (pOVar4->free_list_).list_.\n    super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n    ._M_impl._M_node.super__List_node_base._M_next = (_List_node_base *)pFVar1;\n    (pOVar4->free_list_).list_.\n    super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n    ._M_impl._M_node._M_size = 0;\n    (pOVar4->free_list_).last_remove_._M_node = (_List_node_base *)pFVar1;\n    (pOVar4->free_list_).extend_ = false;\n    *(undefined4 *)&(pOVar4->free_list_).length_ = 0;\n    *(undefined4 *)((int)&(pOVar4->free_list_).length_ + 4) = 0;\n    *(undefined4 *)&(pOVar4->free_list_).min_hole_ = 0;\n    *(undefined4 *)((int)&(pOVar4->free_list_).min_hole_ + 4) = 0;\n                    /* try { // try from 00060063 to 0006008f has its CatchHandler @ 000601fb */\n    Output_data_plt_x86_64<64>::init(in_stack_ffffffc4,in_stack_ffffffc8);\n    gold::Free_list::init(pFVar1,pEVar3);\n    gold::Free_list::remove(pFVar1,(char *)0x0);\n    pOVar4[1].plt_eh_frame_cie_size = 0;\n    pOVar4->plt_eh_frame_cie_size = unaff_EDI + 0x2d9587;\n    return pOVar4;\n  }" { (expression_statement "uVar2 = plt_count + 1 >> 0x1c;" (assignment_expression "uVar2 = plt_count + 1 >> 0x1c" identifier = (binary_expression "plt_count + 1 >> 0x1c" (binary_expression "plt_count + 1" identifier + number_literal) >> number_literal)) ;) (expression_statement "pEVar3 = (EVP_PKEY_CTX *)((plt_count + 1) * 0x10);" (assignment_expression "pEVar3 = (EVP_PKEY_CTX *)((plt_count + 1) * 0x10)" identifier = (cast_expression "(EVP_PKEY_CTX *)((plt_count + 1) * 0x10)" ( (type_descriptor "EVP_PKEY_CTX *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((plt_count + 1) * 0x10)" ( (binary_expression "(plt_count + 1) * 0x10" (parenthesized_expression "(plt_count + 1)" ( (binary_expression "plt_count + 1" identifier + number_literal) )) * number_literal) )))) ;) (if_statement "if (*(char *)(*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) + 0x4d75) == '\0')\n    {\n      pOVar4 = (Output_data_plt_x86_64<64> *)operator_new(0x74);\n      *(undefined4 *)&pOVar4->field_0x4 = 0;\n      *(undefined4 *)&pOVar4->field_0x8 = 0;\n      pFVar1 = &pOVar4->free_list_;\n      *(undefined4 *)&pOVar4->field_0x24 = 0x10;\n      *(undefined4 *)&pOVar4->field_0x28 = 0;\n      *(undefined4 *)&pOVar4->field_0x20 = 0;\n      pOVar4->got_ = got;\n      *(EVP_PKEY_CTX **)&pOVar4->field_0xc = pEVar3;\n      *(uint *)&pOVar4->field_0x10 = uVar2;\n      pOVar4->got_plt_ = got_plt;\n      pOVar4->count_ = plt_count;\n      pOVar4->field_0x1c = pOVar4->field_0x1c & 0xe0 | 2;\n      pOVar4->plt_eh_frame_cie_size = unaff_EDI + 0x2d9273;\n      *(undefined4 *)&pOVar4->field_0x14 = 0xffffffff;\n      *(undefined4 *)&pOVar4->field_0x18 = 0xffffffff;\n      pOVar4->tlsdesc_rel_ = (Reloc_section *)0x0;\n      pOVar4->irelative_rel_ = (Reloc_section *)0x0;\n      pOVar4->got_irelative_ = got_irelative;\n      pOVar4->irelative_count_ = 0;\n      pOVar4->tlsdesc_got_offset_ = 0xffffffff;\n      (pOVar4->free_list_).list_.\n      super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n      ._M_impl._M_node.super__List_node_base._M_prev = (_List_node_base *)pFVar1;\n      (pOVar4->free_list_).list_.\n      super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n      ._M_impl._M_node.super__List_node_base._M_next = (_List_node_base *)pFVar1;\n      (pOVar4->free_list_).list_.\n      super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n      ._M_impl._M_node._M_size = 0;\n      (pOVar4->free_list_).last_remove_._M_node = (_List_node_base *)pFVar1;\n      (pOVar4->free_list_).extend_ = false;\n      *(undefined4 *)&(pOVar4->free_list_).length_ = 0;\n      *(undefined4 *)((int)&(pOVar4->free_list_).length_ + 4) = 0;\n      *(undefined4 *)&(pOVar4->free_list_).min_hole_ = 0;\n      *(undefined4 *)((int)&(pOVar4->free_list_).min_hole_ + 4) = 0;\n                    /* try { // try from 0005ff49 to 0005ff75 has its CatchHandler @ 000601f3 */\n      Output_data_plt_x86_64<64>::init(in_stack_ffffffc4,in_stack_ffffffc8);\n      gold::Free_list::init(pFVar1,pEVar3);\n      gold::Free_list::remove(pFVar1,(char *)0x0);\n      pOVar4->plt_eh_frame_cie_size = unaff_EDI + 0x2d982f;\n      return pOVar4;\n    }" if (parenthesized_expression "(*(char *)(*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) + 0x4d75) == '\0')" ( (binary_expression "*(char *)(*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) + 0x4d75) == '\0'" (pointer_expression "*(char *)(*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) + 0x4d75)" * (cast_expression "(char *)(*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) + 0x4d75)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) + 0x4d75)" ( (binary_expression "*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) + 0x4d75" (pointer_expression "*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8)" * (cast_expression "(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8)" ( (binary_expression "*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8" (pointer_expression "*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82)" * (cast_expression "(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(BYTE_ARRAY_002df445 + unaff_EDI + 0x82)" ( (binary_expression "BYTE_ARRAY_002df445 + unaff_EDI + 0x82" (binary_expression "BYTE_ARRAY_002df445 + unaff_EDI" identifier + identifier) + number_literal) )))) + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      pOVar4 = (Output_data_plt_x86_64<64> *)operator_new(0x74);\n      *(undefined4 *)&pOVar4->field_0x4 = 0;\n      *(undefined4 *)&pOVar4->field_0x8 = 0;\n      pFVar1 = &pOVar4->free_list_;\n      *(undefined4 *)&pOVar4->field_0x24 = 0x10;\n      *(undefined4 *)&pOVar4->field_0x28 = 0;\n      *(undefined4 *)&pOVar4->field_0x20 = 0;\n      pOVar4->got_ = got;\n      *(EVP_PKEY_CTX **)&pOVar4->field_0xc = pEVar3;\n      *(uint *)&pOVar4->field_0x10 = uVar2;\n      pOVar4->got_plt_ = got_plt;\n      pOVar4->count_ = plt_count;\n      pOVar4->field_0x1c = pOVar4->field_0x1c & 0xe0 | 2;\n      pOVar4->plt_eh_frame_cie_size = unaff_EDI + 0x2d9273;\n      *(undefined4 *)&pOVar4->field_0x14 = 0xffffffff;\n      *(undefined4 *)&pOVar4->field_0x18 = 0xffffffff;\n      pOVar4->tlsdesc_rel_ = (Reloc_section *)0x0;\n      pOVar4->irelative_rel_ = (Reloc_section *)0x0;\n      pOVar4->got_irelative_ = got_irelative;\n      pOVar4->irelative_count_ = 0;\n      pOVar4->tlsdesc_got_offset_ = 0xffffffff;\n      (pOVar4->free_list_).list_.\n      super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n      ._M_impl._M_node.super__List_node_base._M_prev = (_List_node_base *)pFVar1;\n      (pOVar4->free_list_).list_.\n      super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n      ._M_impl._M_node.super__List_node_base._M_next = (_List_node_base *)pFVar1;\n      (pOVar4->free_list_).list_.\n      super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n      ._M_impl._M_node._M_size = 0;\n      (pOVar4->free_list_).last_remove_._M_node = (_List_node_base *)pFVar1;\n      (pOVar4->free_list_).extend_ = false;\n      *(undefined4 *)&(pOVar4->free_list_).length_ = 0;\n      *(undefined4 *)((int)&(pOVar4->free_list_).length_ + 4) = 0;\n      *(undefined4 *)&(pOVar4->free_list_).min_hole_ = 0;\n      *(undefined4 *)((int)&(pOVar4->free_list_).min_hole_ + 4) = 0;\n                    /* try { // try from 0005ff49 to 0005ff75 has its CatchHandler @ 000601f3 */\n      Output_data_plt_x86_64<64>::init(in_stack_ffffffc4,in_stack_ffffffc8);\n      gold::Free_list::init(pFVar1,pEVar3);\n      gold::Free_list::remove(pFVar1,(char *)0x0);\n      pOVar4->plt_eh_frame_cie_size = unaff_EDI + 0x2d982f;\n      return pOVar4;\n    }" { (expression_statement "pOVar4 = (Output_data_plt_x86_64<64> *)operator_new(0x74);" (assignment_expression "pOVar4 = (Output_data_plt_x86_64<64> *)operator_new(0x74)" identifier = (parenthesized_expression "(Output_data_plt_x86_64<64> *)operator_new(0x74)" ( (binary_expression "Output_data_plt_x86_64<64> *)operator_new(0x74)" (binary_expression "Output_data_plt_x86_64<64" identifier < number_literal) > (pointer_expression "*)operator_new(0x74)" * (ERROR ")" )) (call_expression "operator_new(0x74)" identifier (argument_list "(0x74)" ( number_literal ))))) ))) ;) (expression_statement "*(undefined4 *)&pOVar4->field_0x4 = 0;" (assignment_expression "*(undefined4 *)&pOVar4->field_0x4 = 0" (pointer_expression "*(undefined4 *)&pOVar4->field_0x4" * (cast_expression "(undefined4 *)&pOVar4->field_0x4" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar4->field_0x4" & (field_expression "pOVar4->field_0x4" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)&pOVar4->field_0x8 = 0;" (assignment_expression "*(undefined4 *)&pOVar4->field_0x8 = 0" (pointer_expression "*(undefined4 *)&pOVar4->field_0x8" * (cast_expression "(undefined4 *)&pOVar4->field_0x8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar4->field_0x8" & (field_expression "pOVar4->field_0x8" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "pFVar1 = &pOVar4->free_list_;" (assignment_expression "pFVar1 = &pOVar4->free_list_" identifier = (pointer_expression "&pOVar4->free_list_" & (field_expression "pOVar4->free_list_" identifier -> field_identifier))) ;) (expression_statement "*(undefined4 *)&pOVar4->field_0x24 = 0x10;" (assignment_expression "*(undefined4 *)&pOVar4->field_0x24 = 0x10" (pointer_expression "*(undefined4 *)&pOVar4->field_0x24" * (cast_expression "(undefined4 *)&pOVar4->field_0x24" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar4->field_0x24" & (field_expression "pOVar4->field_0x24" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)&pOVar4->field_0x28 = 0;" (assignment_expression "*(undefined4 *)&pOVar4->field_0x28 = 0" (pointer_expression "*(undefined4 *)&pOVar4->field_0x28" * (cast_expression "(undefined4 *)&pOVar4->field_0x28" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar4->field_0x28" & (field_expression "pOVar4->field_0x28" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)&pOVar4->field_0x20 = 0;" (assignment_expression "*(undefined4 *)&pOVar4->field_0x20 = 0" (pointer_expression "*(undefined4 *)&pOVar4->field_0x20" * (cast_expression "(undefined4 *)&pOVar4->field_0x20" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar4->field_0x20" & (field_expression "pOVar4->field_0x20" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "pOVar4->got_ = got;" (assignment_expression "pOVar4->got_ = got" (field_expression "pOVar4->got_" identifier -> field_identifier) = identifier) ;) (expression_statement "*(EVP_PKEY_CTX **)&pOVar4->field_0xc = pEVar3;" (assignment_expression "*(EVP_PKEY_CTX **)&pOVar4->field_0xc = pEVar3" (pointer_expression "*(EVP_PKEY_CTX **)&pOVar4->field_0xc" * (cast_expression "(EVP_PKEY_CTX **)&pOVar4->field_0xc" ( (type_descriptor "EVP_PKEY_CTX **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pOVar4->field_0xc" & (field_expression "pOVar4->field_0xc" identifier -> field_identifier)))) = identifier) ;) (expression_statement "*(uint *)&pOVar4->field_0x10 = uVar2;" (assignment_expression "*(uint *)&pOVar4->field_0x10 = uVar2" (pointer_expression "*(uint *)&pOVar4->field_0x10" * (cast_expression "(uint *)&pOVar4->field_0x10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar4->field_0x10" & (field_expression "pOVar4->field_0x10" identifier -> field_identifier)))) = identifier) ;) (expression_statement "pOVar4->got_plt_ = got_plt;" (assignment_expression "pOVar4->got_plt_ = got_plt" (field_expression "pOVar4->got_plt_" identifier -> field_identifier) = identifier) ;) (expression_statement "pOVar4->count_ = plt_count;" (assignment_expression "pOVar4->count_ = plt_count" (field_expression "pOVar4->count_" identifier -> field_identifier) = identifier) ;) (expression_statement "pOVar4->field_0x1c = pOVar4->field_0x1c & 0xe0 | 2;" (assignment_expression "pOVar4->field_0x1c = pOVar4->field_0x1c & 0xe0 | 2" (field_expression "pOVar4->field_0x1c" identifier -> field_identifier) = (binary_expression "pOVar4->field_0x1c & 0xe0 | 2" (binary_expression "pOVar4->field_0x1c & 0xe0" (field_expression "pOVar4->field_0x1c" identifier -> field_identifier) & number_literal) | number_literal)) ;) (expression_statement "pOVar4->plt_eh_frame_cie_size = unaff_EDI + 0x2d9273;" (assignment_expression "pOVar4->plt_eh_frame_cie_size = unaff_EDI + 0x2d9273" (field_expression "pOVar4->plt_eh_frame_cie_size" identifier -> field_identifier) = (binary_expression "unaff_EDI + 0x2d9273" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)&pOVar4->field_0x14 = 0xffffffff;" (assignment_expression "*(undefined4 *)&pOVar4->field_0x14 = 0xffffffff" (pointer_expression "*(undefined4 *)&pOVar4->field_0x14" * (cast_expression "(undefined4 *)&pOVar4->field_0x14" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar4->field_0x14" & (field_expression "pOVar4->field_0x14" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)&pOVar4->field_0x18 = 0xffffffff;" (assignment_expression "*(undefined4 *)&pOVar4->field_0x18 = 0xffffffff" (pointer_expression "*(undefined4 *)&pOVar4->field_0x18" * (cast_expression "(undefined4 *)&pOVar4->field_0x18" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar4->field_0x18" & (field_expression "pOVar4->field_0x18" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "pOVar4->tlsdesc_rel_ = (Reloc_section *)0x0;" (assignment_expression "pOVar4->tlsdesc_rel_ = (Reloc_section *)0x0" (field_expression "pOVar4->tlsdesc_rel_" identifier -> field_identifier) = (cast_expression "(Reloc_section *)0x0" ( (type_descriptor "Reloc_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pOVar4->irelative_rel_ = (Reloc_section *)0x0;" (assignment_expression "pOVar4->irelative_rel_ = (Reloc_section *)0x0" (field_expression "pOVar4->irelative_rel_" identifier -> field_identifier) = (cast_expression "(Reloc_section *)0x0" ( (type_descriptor "Reloc_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pOVar4->got_irelative_ = got_irelative;" (assignment_expression "pOVar4->got_irelative_ = got_irelative" (field_expression "pOVar4->got_irelative_" identifier -> field_identifier) = identifier) ;) (expression_statement "pOVar4->irelative_count_ = 0;" (assignment_expression "pOVar4->irelative_count_ = 0" (field_expression "pOVar4->irelative_count_" identifier -> field_identifier) = number_literal) ;) (expression_statement "pOVar4->tlsdesc_got_offset_ = 0xffffffff;" (assignment_expression "pOVar4->tlsdesc_got_offset_ = 0xffffffff" (field_expression "pOVar4->tlsdesc_got_offset_" identifier -> field_identifier) = number_literal) ;) (ERROR "(pOVar4->free_list_).list_.\n      super__List_base<gold::" (binary_expression "(pOVar4->free_list_).list_.\n      super__List_base<gold" (field_expression "(pOVar4->free_list_).list_.\n      super__List_base" (field_expression "(pOVar4->free_list_).list_" (parenthesized_expression "(pOVar4->free_list_)" ( (field_expression "pOVar4->free_list_" identifier -> field_identifier) )) . field_identifier) . field_identifier) < identifier) : :) (labeled_statement "Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n      ._M_impl._M_node.super__List_node_base._M_prev = (_List_node_base *)pFVar1;" statement_identifier (ERROR "::Free_list_node,_std::allocator<gold:" : : (comma_expression "Free_list_node,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Free_list::Free_list_node>_>\n      ._M_impl._M_node.super__List_node_base._M_prev = (_List_node_base *)pFVar1;" statement_identifier : (ERROR ":" :) (expression_statement "Free_list_node>_>\n      ._M_impl._M_node.super__List_node_base._M_prev = (_List_node_base *)pFVar1;" (assignment_expression "Free_list_node>_>\n      ._M_impl._M_node.super__List_node_base._M_prev = (_List_node_base *)pFVar1" (field_expression "Free_list_node>_>\n      ._M_impl._M_node.super__List_node_base._M_prev" (field_expression "Free_list_node>_>\n      ._M_impl._M_node.super__List_node_base" (field_expression "Free_list_node>_>\n      ._M_impl._M_node" (field_expression "Free_list_node>_>\n      ._M_impl" (binary_expression "Free_list_node>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_List_node_base *)pFVar1" ( (type_descriptor "_List_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;))) (ERROR "(pOVar4->free_list_).list_.\n      super__List_base<gold::" (binary_expression "(pOVar4->free_list_).list_.\n      super__List_base<gold" (field_expression "(pOVar4->free_list_).list_.\n      super__List_base" (field_expression "(pOVar4->free_list_).list_" (parenthesized_expression "(pOVar4->free_list_)" ( (field_expression "pOVar4->free_list_" identifier -> field_identifier) )) . field_identifier) . field_identifier) < identifier) : :) (labeled_statement "Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n      ._M_impl._M_node.super__List_node_base._M_next = (_List_node_base *)pFVar1;" statement_identifier (ERROR "::Free_list_node,_std::allocator<gold:" : : (comma_expression "Free_list_node,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Free_list::Free_list_node>_>\n      ._M_impl._M_node.super__List_node_base._M_next = (_List_node_base *)pFVar1;" statement_identifier : (ERROR ":" :) (expression_statement "Free_list_node>_>\n      ._M_impl._M_node.super__List_node_base._M_next = (_List_node_base *)pFVar1;" (assignment_expression "Free_list_node>_>\n      ._M_impl._M_node.super__List_node_base._M_next = (_List_node_base *)pFVar1" (field_expression "Free_list_node>_>\n      ._M_impl._M_node.super__List_node_base._M_next" (field_expression "Free_list_node>_>\n      ._M_impl._M_node.super__List_node_base" (field_expression "Free_list_node>_>\n      ._M_impl._M_node" (field_expression "Free_list_node>_>\n      ._M_impl" (binary_expression "Free_list_node>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_List_node_base *)pFVar1" ( (type_descriptor "_List_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;))) (ERROR "(pOVar4->free_list_).list_.\n      super__List_base<gold::" (binary_expression "(pOVar4->free_list_).list_.\n      super__List_base<gold" (field_expression "(pOVar4->free_list_).list_.\n      super__List_base" (field_expression "(pOVar4->free_list_).list_" (parenthesized_expression "(pOVar4->free_list_)" ( (field_expression "pOVar4->free_list_" identifier -> field_identifier) )) . field_identifier) . field_identifier) < identifier) : :) (labeled_statement "Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n      ._M_impl._M_node._M_size = 0;" statement_identifier (ERROR "::Free_list_node,_std::allocator<gold:" : : (comma_expression "Free_list_node,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Free_list::Free_list_node>_>\n      ._M_impl._M_node._M_size = 0;" statement_identifier : (ERROR ":" :) (expression_statement "Free_list_node>_>\n      ._M_impl._M_node._M_size = 0;" (assignment_expression "Free_list_node>_>\n      ._M_impl._M_node._M_size = 0" (field_expression "Free_list_node>_>\n      ._M_impl._M_node._M_size" (field_expression "Free_list_node>_>\n      ._M_impl._M_node" (field_expression "Free_list_node>_>\n      ._M_impl" (binary_expression "Free_list_node>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;))) (expression_statement "(pOVar4->free_list_).last_remove_._M_node = (_List_node_base *)pFVar1;" (assignment_expression "(pOVar4->free_list_).last_remove_._M_node = (_List_node_base *)pFVar1" (field_expression "(pOVar4->free_list_).last_remove_._M_node" (field_expression "(pOVar4->free_list_).last_remove_" (parenthesized_expression "(pOVar4->free_list_)" ( (field_expression "pOVar4->free_list_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (cast_expression "(_List_node_base *)pFVar1" ( (type_descriptor "_List_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "(pOVar4->free_list_).extend_ = false;" (assignment_expression "(pOVar4->free_list_).extend_ = false" (field_expression "(pOVar4->free_list_).extend_" (parenthesized_expression "(pOVar4->free_list_)" ( (field_expression "pOVar4->free_list_" identifier -> field_identifier) )) . field_identifier) = false) ;) (expression_statement "*(undefined4 *)&(pOVar4->free_list_).length_ = 0;" (assignment_expression "*(undefined4 *)&(pOVar4->free_list_).length_ = 0" (pointer_expression "*(undefined4 *)&(pOVar4->free_list_).length_" * (cast_expression "(undefined4 *)&(pOVar4->free_list_).length_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar4->free_list_).length_" & (field_expression "(pOVar4->free_list_).length_" (parenthesized_expression "(pOVar4->free_list_)" ( (field_expression "pOVar4->free_list_" identifier -> field_identifier) )) . field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&(pOVar4->free_list_).length_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&(pOVar4->free_list_).length_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&(pOVar4->free_list_).length_ + 4)" * (cast_expression "(undefined4 *)((int)&(pOVar4->free_list_).length_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pOVar4->free_list_).length_ + 4)" ( (binary_expression "(int)&(pOVar4->free_list_).length_ + 4" (cast_expression "(int)&(pOVar4->free_list_).length_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar4->free_list_).length_" & (field_expression "(pOVar4->free_list_).length_" (parenthesized_expression "(pOVar4->free_list_)" ( (field_expression "pOVar4->free_list_" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)&(pOVar4->free_list_).min_hole_ = 0;" (assignment_expression "*(undefined4 *)&(pOVar4->free_list_).min_hole_ = 0" (pointer_expression "*(undefined4 *)&(pOVar4->free_list_).min_hole_" * (cast_expression "(undefined4 *)&(pOVar4->free_list_).min_hole_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar4->free_list_).min_hole_" & (field_expression "(pOVar4->free_list_).min_hole_" (parenthesized_expression "(pOVar4->free_list_)" ( (field_expression "pOVar4->free_list_" identifier -> field_identifier) )) . field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&(pOVar4->free_list_).min_hole_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&(pOVar4->free_list_).min_hole_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&(pOVar4->free_list_).min_hole_ + 4)" * (cast_expression "(undefined4 *)((int)&(pOVar4->free_list_).min_hole_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pOVar4->free_list_).min_hole_ + 4)" ( (binary_expression "(int)&(pOVar4->free_list_).min_hole_ + 4" (cast_expression "(int)&(pOVar4->free_list_).min_hole_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar4->free_list_).min_hole_" & (field_expression "(pOVar4->free_list_).min_hole_" (parenthesized_expression "(pOVar4->free_list_)" ( (field_expression "pOVar4->free_list_" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) = number_literal) ;) comment (expression_statement "Output_data_plt_x86_64<64>::init(in_stack_ffffffc4,in_stack_ffffffc8);" (binary_expression "Output_data_plt_x86_64<64>::init(in_stack_ffffffc4,in_stack_ffffffc8)" (binary_expression "Output_data_plt_x86_64<64" identifier < number_literal) > (ERROR "::" : :) (call_expression "init(in_stack_ffffffc4,in_stack_ffffffc8)" identifier (argument_list "(in_stack_ffffffc4,in_stack_ffffffc8)" ( identifier , identifier )))) ;) (labeled_statement "gold::Free_list::init(pFVar1,pEVar3);" statement_identifier : (ERROR ":" :) (labeled_statement "Free_list::init(pFVar1,pEVar3);" statement_identifier : (ERROR ":" :) (expression_statement "init(pFVar1,pEVar3);" (call_expression "init(pFVar1,pEVar3)" identifier (argument_list "(pFVar1,pEVar3)" ( identifier , identifier ))) ;))) (labeled_statement "gold::Free_list::remove(pFVar1,(char *)0x0);" statement_identifier : (ERROR ":" :) (labeled_statement "Free_list::remove(pFVar1,(char *)0x0);" statement_identifier : (ERROR ":" :) (expression_statement "remove(pFVar1,(char *)0x0);" (call_expression "remove(pFVar1,(char *)0x0)" identifier (argument_list "(pFVar1,(char *)0x0)" ( identifier , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ))) ;))) (expression_statement "pOVar4->plt_eh_frame_cie_size = unaff_EDI + 0x2d982f;" (assignment_expression "pOVar4->plt_eh_frame_cie_size = unaff_EDI + 0x2d982f" (field_expression "pOVar4->plt_eh_frame_cie_size" identifier -> field_identifier) = (binary_expression "unaff_EDI + 0x2d982f" identifier + number_literal)) ;) (return_statement "return pOVar4;" return identifier ;) })) (expression_statement "pOVar4 = (Output_data_plt_x86_64<64> *)operator_new(0x78);" (assignment_expression "pOVar4 = (Output_data_plt_x86_64<64> *)operator_new(0x78)" identifier = (parenthesized_expression "(Output_data_plt_x86_64<64> *)operator_new(0x78)" ( (binary_expression "Output_data_plt_x86_64<64> *)operator_new(0x78)" (binary_expression "Output_data_plt_x86_64<64" identifier < number_literal) > (pointer_expression "*)operator_new(0x78)" * (ERROR ")" )) (call_expression "operator_new(0x78)" identifier (argument_list "(0x78)" ( number_literal ))))) ))) ;) (expression_statement "*(undefined4 *)&pOVar4->field_0x4 = 0;" (assignment_expression "*(undefined4 *)&pOVar4->field_0x4 = 0" (pointer_expression "*(undefined4 *)&pOVar4->field_0x4" * (cast_expression "(undefined4 *)&pOVar4->field_0x4" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar4->field_0x4" & (field_expression "pOVar4->field_0x4" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)&pOVar4->field_0x8 = 0;" (assignment_expression "*(undefined4 *)&pOVar4->field_0x8 = 0" (pointer_expression "*(undefined4 *)&pOVar4->field_0x8" * (cast_expression "(undefined4 *)&pOVar4->field_0x8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar4->field_0x8" & (field_expression "pOVar4->field_0x8" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "pFVar1 = &pOVar4->free_list_;" (assignment_expression "pFVar1 = &pOVar4->free_list_" identifier = (pointer_expression "&pOVar4->free_list_" & (field_expression "pOVar4->free_list_" identifier -> field_identifier))) ;) (expression_statement "*(undefined4 *)&pOVar4->field_0x24 = 0x10;" (assignment_expression "*(undefined4 *)&pOVar4->field_0x24 = 0x10" (pointer_expression "*(undefined4 *)&pOVar4->field_0x24" * (cast_expression "(undefined4 *)&pOVar4->field_0x24" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar4->field_0x24" & (field_expression "pOVar4->field_0x24" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)&pOVar4->field_0x28 = 0;" (assignment_expression "*(undefined4 *)&pOVar4->field_0x28 = 0" (pointer_expression "*(undefined4 *)&pOVar4->field_0x28" * (cast_expression "(undefined4 *)&pOVar4->field_0x28" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar4->field_0x28" & (field_expression "pOVar4->field_0x28" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)&pOVar4->field_0x20 = 0;" (assignment_expression "*(undefined4 *)&pOVar4->field_0x20 = 0" (pointer_expression "*(undefined4 *)&pOVar4->field_0x20" * (cast_expression "(undefined4 *)&pOVar4->field_0x20" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar4->field_0x20" & (field_expression "pOVar4->field_0x20" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "pOVar4->got_ = got;" (assignment_expression "pOVar4->got_ = got" (field_expression "pOVar4->got_" identifier -> field_identifier) = identifier) ;) (expression_statement "*(EVP_PKEY_CTX **)&pOVar4->field_0xc = pEVar3;" (assignment_expression "*(EVP_PKEY_CTX **)&pOVar4->field_0xc = pEVar3" (pointer_expression "*(EVP_PKEY_CTX **)&pOVar4->field_0xc" * (cast_expression "(EVP_PKEY_CTX **)&pOVar4->field_0xc" ( (type_descriptor "EVP_PKEY_CTX **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pOVar4->field_0xc" & (field_expression "pOVar4->field_0xc" identifier -> field_identifier)))) = identifier) ;) (expression_statement "pOVar4->got_plt_ = got_plt;" (assignment_expression "pOVar4->got_plt_ = got_plt" (field_expression "pOVar4->got_plt_" identifier -> field_identifier) = identifier) ;) (expression_statement "*(uint *)&pOVar4->field_0x10 = uVar2;" (assignment_expression "*(uint *)&pOVar4->field_0x10 = uVar2" (pointer_expression "*(uint *)&pOVar4->field_0x10" * (cast_expression "(uint *)&pOVar4->field_0x10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar4->field_0x10" & (field_expression "pOVar4->field_0x10" identifier -> field_identifier)))) = identifier) ;) (expression_statement "pOVar4->got_irelative_ = got_irelative;" (assignment_expression "pOVar4->got_irelative_ = got_irelative" (field_expression "pOVar4->got_irelative_" identifier -> field_identifier) = identifier) ;) (expression_statement "pOVar4->field_0x1c = pOVar4->field_0x1c & 0xe0 | 2;" (assignment_expression "pOVar4->field_0x1c = pOVar4->field_0x1c & 0xe0 | 2" (field_expression "pOVar4->field_0x1c" identifier -> field_identifier) = (binary_expression "pOVar4->field_0x1c & 0xe0 | 2" (binary_expression "pOVar4->field_0x1c & 0xe0" (field_expression "pOVar4->field_0x1c" identifier -> field_identifier) & number_literal) | number_literal)) ;) (expression_statement "pOVar4->plt_eh_frame_cie_size = unaff_EDI + 0x2d9273;" (assignment_expression "pOVar4->plt_eh_frame_cie_size = unaff_EDI + 0x2d9273" (field_expression "pOVar4->plt_eh_frame_cie_size" identifier -> field_identifier) = (binary_expression "unaff_EDI + 0x2d9273" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)&pOVar4->field_0x14 = 0xffffffff;" (assignment_expression "*(undefined4 *)&pOVar4->field_0x14 = 0xffffffff" (pointer_expression "*(undefined4 *)&pOVar4->field_0x14" * (cast_expression "(undefined4 *)&pOVar4->field_0x14" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar4->field_0x14" & (field_expression "pOVar4->field_0x14" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)&pOVar4->field_0x18 = 0xffffffff;" (assignment_expression "*(undefined4 *)&pOVar4->field_0x18 = 0xffffffff" (pointer_expression "*(undefined4 *)&pOVar4->field_0x18" * (cast_expression "(undefined4 *)&pOVar4->field_0x18" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar4->field_0x18" & (field_expression "pOVar4->field_0x18" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "pOVar4->tlsdesc_rel_ = (Reloc_section *)0x0;" (assignment_expression "pOVar4->tlsdesc_rel_ = (Reloc_section *)0x0" (field_expression "pOVar4->tlsdesc_rel_" identifier -> field_identifier) = (cast_expression "(Reloc_section *)0x0" ( (type_descriptor "Reloc_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pOVar4->irelative_rel_ = (Reloc_section *)0x0;" (assignment_expression "pOVar4->irelative_rel_ = (Reloc_section *)0x0" (field_expression "pOVar4->irelative_rel_" identifier -> field_identifier) = (cast_expression "(Reloc_section *)0x0" ( (type_descriptor "Reloc_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pOVar4->count_ = plt_count;" (assignment_expression "pOVar4->count_ = plt_count" (field_expression "pOVar4->count_" identifier -> field_identifier) = identifier) ;) (expression_statement "pOVar4->irelative_count_ = 0;" (assignment_expression "pOVar4->irelative_count_ = 0" (field_expression "pOVar4->irelative_count_" identifier -> field_identifier) = number_literal) ;) (expression_statement "pOVar4->tlsdesc_got_offset_ = 0xffffffff;" (assignment_expression "pOVar4->tlsdesc_got_offset_ = 0xffffffff" (field_expression "pOVar4->tlsdesc_got_offset_" identifier -> field_identifier) = number_literal) ;) (ERROR "(pOVar4->free_list_).list_.\n    super__List_base<gold::" (binary_expression "(pOVar4->free_list_).list_.\n    super__List_base<gold" (field_expression "(pOVar4->free_list_).list_.\n    super__List_base" (field_expression "(pOVar4->free_list_).list_" (parenthesized_expression "(pOVar4->free_list_)" ( (field_expression "pOVar4->free_list_" identifier -> field_identifier) )) . field_identifier) . field_identifier) < identifier) : :) (labeled_statement "Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n    ._M_impl._M_node.super__List_node_base._M_prev = (_List_node_base *)pFVar1;" statement_identifier (ERROR "::Free_list_node,_std::allocator<gold:" : : (comma_expression "Free_list_node,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Free_list::Free_list_node>_>\n    ._M_impl._M_node.super__List_node_base._M_prev = (_List_node_base *)pFVar1;" statement_identifier : (ERROR ":" :) (expression_statement "Free_list_node>_>\n    ._M_impl._M_node.super__List_node_base._M_prev = (_List_node_base *)pFVar1;" (assignment_expression "Free_list_node>_>\n    ._M_impl._M_node.super__List_node_base._M_prev = (_List_node_base *)pFVar1" (field_expression "Free_list_node>_>\n    ._M_impl._M_node.super__List_node_base._M_prev" (field_expression "Free_list_node>_>\n    ._M_impl._M_node.super__List_node_base" (field_expression "Free_list_node>_>\n    ._M_impl._M_node" (field_expression "Free_list_node>_>\n    ._M_impl" (binary_expression "Free_list_node>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_List_node_base *)pFVar1" ( (type_descriptor "_List_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;))) (ERROR "(pOVar4->free_list_).list_.\n    super__List_base<gold::" (binary_expression "(pOVar4->free_list_).list_.\n    super__List_base<gold" (field_expression "(pOVar4->free_list_).list_.\n    super__List_base" (field_expression "(pOVar4->free_list_).list_" (parenthesized_expression "(pOVar4->free_list_)" ( (field_expression "pOVar4->free_list_" identifier -> field_identifier) )) . field_identifier) . field_identifier) < identifier) : :) (labeled_statement "Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n    ._M_impl._M_node.super__List_node_base._M_next = (_List_node_base *)pFVar1;" statement_identifier (ERROR "::Free_list_node,_std::allocator<gold:" : : (comma_expression "Free_list_node,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Free_list::Free_list_node>_>\n    ._M_impl._M_node.super__List_node_base._M_next = (_List_node_base *)pFVar1;" statement_identifier : (ERROR ":" :) (expression_statement "Free_list_node>_>\n    ._M_impl._M_node.super__List_node_base._M_next = (_List_node_base *)pFVar1;" (assignment_expression "Free_list_node>_>\n    ._M_impl._M_node.super__List_node_base._M_next = (_List_node_base *)pFVar1" (field_expression "Free_list_node>_>\n    ._M_impl._M_node.super__List_node_base._M_next" (field_expression "Free_list_node>_>\n    ._M_impl._M_node.super__List_node_base" (field_expression "Free_list_node>_>\n    ._M_impl._M_node" (field_expression "Free_list_node>_>\n    ._M_impl" (binary_expression "Free_list_node>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_List_node_base *)pFVar1" ( (type_descriptor "_List_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;))) (ERROR "(pOVar4->free_list_).list_.\n    super__List_base<gold::" (binary_expression "(pOVar4->free_list_).list_.\n    super__List_base<gold" (field_expression "(pOVar4->free_list_).list_.\n    super__List_base" (field_expression "(pOVar4->free_list_).list_" (parenthesized_expression "(pOVar4->free_list_)" ( (field_expression "pOVar4->free_list_" identifier -> field_identifier) )) . field_identifier) . field_identifier) < identifier) : :) (labeled_statement "Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n    ._M_impl._M_node._M_size = 0;" statement_identifier (ERROR "::Free_list_node,_std::allocator<gold:" : : (comma_expression "Free_list_node,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Free_list::Free_list_node>_>\n    ._M_impl._M_node._M_size = 0;" statement_identifier : (ERROR ":" :) (expression_statement "Free_list_node>_>\n    ._M_impl._M_node._M_size = 0;" (assignment_expression "Free_list_node>_>\n    ._M_impl._M_node._M_size = 0" (field_expression "Free_list_node>_>\n    ._M_impl._M_node._M_size" (field_expression "Free_list_node>_>\n    ._M_impl._M_node" (field_expression "Free_list_node>_>\n    ._M_impl" (binary_expression "Free_list_node>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;))) (expression_statement "(pOVar4->free_list_).last_remove_._M_node = (_List_node_base *)pFVar1;" (assignment_expression "(pOVar4->free_list_).last_remove_._M_node = (_List_node_base *)pFVar1" (field_expression "(pOVar4->free_list_).last_remove_._M_node" (field_expression "(pOVar4->free_list_).last_remove_" (parenthesized_expression "(pOVar4->free_list_)" ( (field_expression "pOVar4->free_list_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (cast_expression "(_List_node_base *)pFVar1" ( (type_descriptor "_List_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "(pOVar4->free_list_).extend_ = false;" (assignment_expression "(pOVar4->free_list_).extend_ = false" (field_expression "(pOVar4->free_list_).extend_" (parenthesized_expression "(pOVar4->free_list_)" ( (field_expression "pOVar4->free_list_" identifier -> field_identifier) )) . field_identifier) = false) ;) (expression_statement "*(undefined4 *)&(pOVar4->free_list_).length_ = 0;" (assignment_expression "*(undefined4 *)&(pOVar4->free_list_).length_ = 0" (pointer_expression "*(undefined4 *)&(pOVar4->free_list_).length_" * (cast_expression "(undefined4 *)&(pOVar4->free_list_).length_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar4->free_list_).length_" & (field_expression "(pOVar4->free_list_).length_" (parenthesized_expression "(pOVar4->free_list_)" ( (field_expression "pOVar4->free_list_" identifier -> field_identifier) )) . field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&(pOVar4->free_list_).length_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&(pOVar4->free_list_).length_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&(pOVar4->free_list_).length_ + 4)" * (cast_expression "(undefined4 *)((int)&(pOVar4->free_list_).length_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pOVar4->free_list_).length_ + 4)" ( (binary_expression "(int)&(pOVar4->free_list_).length_ + 4" (cast_expression "(int)&(pOVar4->free_list_).length_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar4->free_list_).length_" & (field_expression "(pOVar4->free_list_).length_" (parenthesized_expression "(pOVar4->free_list_)" ( (field_expression "pOVar4->free_list_" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)&(pOVar4->free_list_).min_hole_ = 0;" (assignment_expression "*(undefined4 *)&(pOVar4->free_list_).min_hole_ = 0" (pointer_expression "*(undefined4 *)&(pOVar4->free_list_).min_hole_" * (cast_expression "(undefined4 *)&(pOVar4->free_list_).min_hole_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar4->free_list_).min_hole_" & (field_expression "(pOVar4->free_list_).min_hole_" (parenthesized_expression "(pOVar4->free_list_)" ( (field_expression "pOVar4->free_list_" identifier -> field_identifier) )) . field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&(pOVar4->free_list_).min_hole_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&(pOVar4->free_list_).min_hole_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&(pOVar4->free_list_).min_hole_ + 4)" * (cast_expression "(undefined4 *)((int)&(pOVar4->free_list_).min_hole_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pOVar4->free_list_).min_hole_ + 4)" ( (binary_expression "(int)&(pOVar4->free_list_).min_hole_ + 4" (cast_expression "(int)&(pOVar4->free_list_).min_hole_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar4->free_list_).min_hole_" & (field_expression "(pOVar4->free_list_).min_hole_" (parenthesized_expression "(pOVar4->free_list_)" ( (field_expression "pOVar4->free_list_" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) = number_literal) ;) comment (expression_statement "Output_data_plt_x86_64<64>::init(in_stack_ffffffc4,in_stack_ffffffc8);" (binary_expression "Output_data_plt_x86_64<64>::init(in_stack_ffffffc4,in_stack_ffffffc8)" (binary_expression "Output_data_plt_x86_64<64" identifier < number_literal) > (ERROR "::" : :) (call_expression "init(in_stack_ffffffc4,in_stack_ffffffc8)" identifier (argument_list "(in_stack_ffffffc4,in_stack_ffffffc8)" ( identifier , identifier )))) ;) (labeled_statement "gold::Free_list::init(pFVar1,pEVar3);" statement_identifier : (ERROR ":" :) (labeled_statement "Free_list::init(pFVar1,pEVar3);" statement_identifier : (ERROR ":" :) (expression_statement "init(pFVar1,pEVar3);" (call_expression "init(pFVar1,pEVar3)" identifier (argument_list "(pFVar1,pEVar3)" ( identifier , identifier ))) ;))) (labeled_statement "gold::Free_list::remove(pFVar1,(char *)0x0);" statement_identifier : (ERROR ":" :) (labeled_statement "Free_list::remove(pFVar1,(char *)0x0);" statement_identifier : (ERROR ":" :) (expression_statement "remove(pFVar1,(char *)0x0);" (call_expression "remove(pFVar1,(char *)0x0)" identifier (argument_list "(pFVar1,(char *)0x0)" ( identifier , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ))) ;))) (expression_statement "pOVar4[1].plt_eh_frame_cie_size = 0;" (assignment_expression "pOVar4[1].plt_eh_frame_cie_size = 0" (field_expression "pOVar4[1].plt_eh_frame_cie_size" (subscript_expression "pOVar4[1]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (expression_statement "pOVar4->plt_eh_frame_cie_size = unaff_EDI + 0x2d9587;" (assignment_expression "pOVar4->plt_eh_frame_cie_size = unaff_EDI + 0x2d9587" (field_expression "pOVar4->plt_eh_frame_cie_size" identifier -> field_identifier) = (binary_expression "unaff_EDI + 0x2d9587" identifier + number_literal)) ;) (return_statement "return pOVar4;" return identifier ;) })) comment (labeled_statement "gold::do_gold_unreachable\n            ((char *)(std::string::string + unaff_EDI + 4),0x5c,(char *)(unaff_EDI + 0x1f150f));" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable\n            ((char *)(std::string::string + unaff_EDI + 4),0x5c,(char *)(unaff_EDI + 0x1f150f));" (call_expression "do_gold_unreachable\n            ((char *)(std::string::string + unaff_EDI + 4),0x5c,(char *)(unaff_EDI + 0x1f150f))" identifier (argument_list "((char *)(std::string::string + unaff_EDI + 4),0x5c,(char *)(unaff_EDI + 0x1f150f))" ( (cast_expression "(char *)(std::string::string + unaff_EDI + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(std::string::string + unaff_EDI + 4)" ( (ERROR "std::string::" identifier : : identifier : :) (binary_expression "string + unaff_EDI + 4" (binary_expression "string + unaff_EDI" identifier + identifier) + number_literal) ))) , number_literal , (cast_expression "(char *)(unaff_EDI + 0x1f150f)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x1f150f)" ( (binary_expression "unaff_EDI + 0x1f150f" identifier + number_literal) ))) ))) ;)) (ERROR "}" }))
(translation_unit "int * FUN_0005fe20(int param_1,undefined4 param_2,int param_3,int param_4,int param_5,int param_6)\n\n{\n  int *piVar1;\n  uint uVar2;\n  int iVar3;\n  int *piVar4;\n  int unaff_EDI;\n  \n  FUN_00058c4a();\n  if ((*(byte *)(param_1 + 0x68) & 1) != 0) {\n    piVar4 = (int *)FUN_001aa8c0(0x78);\n    piVar4[0xe] = param_3;\n    piVar1 = piVar4 + 0x14;\n    piVar4[1] = 0;\n    uVar2 = param_6 + 1U >> 0x1c;\n    iVar3 = (param_6 + 1U) * 0x10;\n    piVar4[2] = 0;\n    piVar4[3] = iVar3;\n    piVar4[4] = uVar2;\n    piVar4[8] = 0;\n    piVar4[0xf] = param_4;\n    *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;\n    *piVar4 = unaff_EDI + 0x2d9273;\n    piVar4[0x11] = param_6;\n    piVar4[9] = 0x10;\n    piVar4[10] = 0;\n    piVar4[5] = -1;\n    piVar4[6] = -1;\n    piVar4[0xc] = 0;\n    piVar4[0xd] = 0;\n    piVar4[0x10] = param_5;\n    piVar4[0x12] = 0;\n    piVar4[0x13] = -1;\n    piVar4[0x15] = (int)piVar1;\n    piVar4[0x14] = (int)piVar1;\n    piVar4[0x16] = 0;\n    piVar4[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar4 + 0x18) = 0;\n    piVar4[0x19] = 0;\n    piVar4[0x1a] = 0;\n    piVar4[0x1b] = 0;\n    piVar4[0x1c] = 0;\n                    \n    FUN_0005d770();\n    FUN_000a8120(piVar1,iVar3,uVar2,0);\n    FUN_000a81a0(piVar1,0,0,0x10,0);\n    piVar4[0x1d] = 0;\n    *piVar4 = unaff_EDI + 0x2d971f;\n    return piVar4;\n  }\n  if (*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) != 0) {\n    uVar2 = param_6 + 1U >> 0x1c;\n    iVar3 = (param_6 + 1U) * 0x10;\n    if (*(char *)(*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) + 0x4d75) == '\0')\n    {\n      piVar4 = (int *)FUN_001aa8c0(0x74);\n      piVar4[1] = 0;\n      piVar4[2] = 0;\n      piVar1 = piVar4 + 0x14;\n      piVar4[9] = 0x10;\n      piVar4[10] = 0;\n      piVar4[8] = 0;\n      piVar4[0xe] = param_3;\n      piVar4[3] = iVar3;\n      piVar4[4] = uVar2;\n      piVar4[0xf] = param_4;\n      piVar4[0x11] = param_6;\n      *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;\n      *piVar4 = unaff_EDI + 0x2d9273;\n      piVar4[5] = -1;\n      piVar4[6] = -1;\n      piVar4[0xc] = 0;\n      piVar4[0xd] = 0;\n      piVar4[0x10] = param_5;\n      piVar4[0x12] = 0;\n      piVar4[0x13] = -1;\n      piVar4[0x15] = (int)piVar1;\n      piVar4[0x14] = (int)piVar1;\n      piVar4[0x16] = 0;\n      piVar4[0x17] = (int)piVar1;\n      *(undefined1 *)(piVar4 + 0x18) = 0;\n      piVar4[0x19] = 0;\n      piVar4[0x1a] = 0;\n      piVar4[0x1b] = 0;\n      piVar4[0x1c] = 0;\n                    \n      FUN_0005d770();\n      FUN_000a8120(piVar1,iVar3,uVar2,0);\n      FUN_000a81a0(piVar1,0,0,0x10,0);\n      *piVar4 = unaff_EDI + 0x2d982f;\n      return piVar4;\n    }\n    piVar4 = (int *)FUN_001aa8c0(0x78);\n    piVar4[1] = 0;\n    piVar4[2] = 0;\n    piVar1 = piVar4 + 0x14;\n    piVar4[9] = 0x10;\n    piVar4[10] = 0;\n    piVar4[8] = 0;\n    piVar4[0xe] = param_3;\n    piVar4[3] = iVar3;\n    piVar4[0xf] = param_4;\n    piVar4[4] = uVar2;\n    piVar4[0x10] = param_5;\n    *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;\n    *piVar4 = unaff_EDI + 0x2d9273;\n    piVar4[5] = -1;\n    piVar4[6] = -1;\n    piVar4[0xc] = 0;\n    piVar4[0xd] = 0;\n    piVar4[0x11] = param_6;\n    piVar4[0x12] = 0;\n    piVar4[0x13] = -1;\n    piVar4[0x15] = (int)piVar1;\n    piVar4[0x14] = (int)piVar1;\n    piVar4[0x16] = 0;\n    piVar4[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar4 + 0x18) = 0;\n    piVar4[0x19] = 0;\n    piVar4[0x1a] = 0;\n    piVar4[0x1b] = 0;\n    piVar4[0x1c] = 0;\n                    \n    FUN_0005d770();\n    FUN_000a8120(piVar1,iVar3,uVar2,0);\n    FUN_000a81a0(piVar1,0,0,0x10,0);\n    piVar4[0x1d] = 0;\n    *piVar4 = unaff_EDI + 0x2d9587;\n    return piVar4;\n  }\n                    \n  FUN_0008b620(unaff_EDI + 0x1e6444,0x5c,unaff_EDI + 0x1f150f);\n}\n\n" (function_definition "int * FUN_0005fe20(int param_1,undefined4 param_2,int param_3,int param_4,int param_5,int param_6)\n\n{\n  int *piVar1;\n  uint uVar2;\n  int iVar3;\n  int *piVar4;\n  int unaff_EDI;\n  \n  FUN_00058c4a();\n  if ((*(byte *)(param_1 + 0x68) & 1) != 0) {\n    piVar4 = (int *)FUN_001aa8c0(0x78);\n    piVar4[0xe] = param_3;\n    piVar1 = piVar4 + 0x14;\n    piVar4[1] = 0;\n    uVar2 = param_6 + 1U >> 0x1c;\n    iVar3 = (param_6 + 1U) * 0x10;\n    piVar4[2] = 0;\n    piVar4[3] = iVar3;\n    piVar4[4] = uVar2;\n    piVar4[8] = 0;\n    piVar4[0xf] = param_4;\n    *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;\n    *piVar4 = unaff_EDI + 0x2d9273;\n    piVar4[0x11] = param_6;\n    piVar4[9] = 0x10;\n    piVar4[10] = 0;\n    piVar4[5] = -1;\n    piVar4[6] = -1;\n    piVar4[0xc] = 0;\n    piVar4[0xd] = 0;\n    piVar4[0x10] = param_5;\n    piVar4[0x12] = 0;\n    piVar4[0x13] = -1;\n    piVar4[0x15] = (int)piVar1;\n    piVar4[0x14] = (int)piVar1;\n    piVar4[0x16] = 0;\n    piVar4[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar4 + 0x18) = 0;\n    piVar4[0x19] = 0;\n    piVar4[0x1a] = 0;\n    piVar4[0x1b] = 0;\n    piVar4[0x1c] = 0;\n                    \n    FUN_0005d770();\n    FUN_000a8120(piVar1,iVar3,uVar2,0);\n    FUN_000a81a0(piVar1,0,0,0x10,0);\n    piVar4[0x1d] = 0;\n    *piVar4 = unaff_EDI + 0x2d971f;\n    return piVar4;\n  }\n  if (*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) != 0) {\n    uVar2 = param_6 + 1U >> 0x1c;\n    iVar3 = (param_6 + 1U) * 0x10;\n    if (*(char *)(*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) + 0x4d75) == '\0')\n    {\n      piVar4 = (int *)FUN_001aa8c0(0x74);\n      piVar4[1] = 0;\n      piVar4[2] = 0;\n      piVar1 = piVar4 + 0x14;\n      piVar4[9] = 0x10;\n      piVar4[10] = 0;\n      piVar4[8] = 0;\n      piVar4[0xe] = param_3;\n      piVar4[3] = iVar3;\n      piVar4[4] = uVar2;\n      piVar4[0xf] = param_4;\n      piVar4[0x11] = param_6;\n      *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;\n      *piVar4 = unaff_EDI + 0x2d9273;\n      piVar4[5] = -1;\n      piVar4[6] = -1;\n      piVar4[0xc] = 0;\n      piVar4[0xd] = 0;\n      piVar4[0x10] = param_5;\n      piVar4[0x12] = 0;\n      piVar4[0x13] = -1;\n      piVar4[0x15] = (int)piVar1;\n      piVar4[0x14] = (int)piVar1;\n      piVar4[0x16] = 0;\n      piVar4[0x17] = (int)piVar1;\n      *(undefined1 *)(piVar4 + 0x18) = 0;\n      piVar4[0x19] = 0;\n      piVar4[0x1a] = 0;\n      piVar4[0x1b] = 0;\n      piVar4[0x1c] = 0;\n                    \n      FUN_0005d770();\n      FUN_000a8120(piVar1,iVar3,uVar2,0);\n      FUN_000a81a0(piVar1,0,0,0x10,0);\n      *piVar4 = unaff_EDI + 0x2d982f;\n      return piVar4;\n    }\n    piVar4 = (int *)FUN_001aa8c0(0x78);\n    piVar4[1] = 0;\n    piVar4[2] = 0;\n    piVar1 = piVar4 + 0x14;\n    piVar4[9] = 0x10;\n    piVar4[10] = 0;\n    piVar4[8] = 0;\n    piVar4[0xe] = param_3;\n    piVar4[3] = iVar3;\n    piVar4[0xf] = param_4;\n    piVar4[4] = uVar2;\n    piVar4[0x10] = param_5;\n    *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;\n    *piVar4 = unaff_EDI + 0x2d9273;\n    piVar4[5] = -1;\n    piVar4[6] = -1;\n    piVar4[0xc] = 0;\n    piVar4[0xd] = 0;\n    piVar4[0x11] = param_6;\n    piVar4[0x12] = 0;\n    piVar4[0x13] = -1;\n    piVar4[0x15] = (int)piVar1;\n    piVar4[0x14] = (int)piVar1;\n    piVar4[0x16] = 0;\n    piVar4[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar4 + 0x18) = 0;\n    piVar4[0x19] = 0;\n    piVar4[0x1a] = 0;\n    piVar4[0x1b] = 0;\n    piVar4[0x1c] = 0;\n                    \n    FUN_0005d770();\n    FUN_000a8120(piVar1,iVar3,uVar2,0);\n    FUN_000a81a0(piVar1,0,0,0x10,0);\n    piVar4[0x1d] = 0;\n    *piVar4 = unaff_EDI + 0x2d9587;\n    return piVar4;\n  }\n                    \n  FUN_0008b620(unaff_EDI + 0x1e6444,0x5c,unaff_EDI + 0x1f150f);\n}" primitive_type (pointer_declarator "* FUN_0005fe20(int param_1,undefined4 param_2,int param_3,int param_4,int param_5,int param_6)" * (function_declarator "FUN_0005fe20(int param_1,undefined4 param_2,int param_3,int param_4,int param_5,int param_6)" identifier (parameter_list "(int param_1,undefined4 param_2,int param_3,int param_4,int param_5,int param_6)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "int param_4" primitive_type identifier) , (parameter_declaration "int param_5" primitive_type identifier) , (parameter_declaration "int param_6" primitive_type identifier) )))) (compound_statement "{\n  int *piVar1;\n  uint uVar2;\n  int iVar3;\n  int *piVar4;\n  int unaff_EDI;\n  \n  FUN_00058c4a();\n  if ((*(byte *)(param_1 + 0x68) & 1) != 0) {\n    piVar4 = (int *)FUN_001aa8c0(0x78);\n    piVar4[0xe] = param_3;\n    piVar1 = piVar4 + 0x14;\n    piVar4[1] = 0;\n    uVar2 = param_6 + 1U >> 0x1c;\n    iVar3 = (param_6 + 1U) * 0x10;\n    piVar4[2] = 0;\n    piVar4[3] = iVar3;\n    piVar4[4] = uVar2;\n    piVar4[8] = 0;\n    piVar4[0xf] = param_4;\n    *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;\n    *piVar4 = unaff_EDI + 0x2d9273;\n    piVar4[0x11] = param_6;\n    piVar4[9] = 0x10;\n    piVar4[10] = 0;\n    piVar4[5] = -1;\n    piVar4[6] = -1;\n    piVar4[0xc] = 0;\n    piVar4[0xd] = 0;\n    piVar4[0x10] = param_5;\n    piVar4[0x12] = 0;\n    piVar4[0x13] = -1;\n    piVar4[0x15] = (int)piVar1;\n    piVar4[0x14] = (int)piVar1;\n    piVar4[0x16] = 0;\n    piVar4[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar4 + 0x18) = 0;\n    piVar4[0x19] = 0;\n    piVar4[0x1a] = 0;\n    piVar4[0x1b] = 0;\n    piVar4[0x1c] = 0;\n                    \n    FUN_0005d770();\n    FUN_000a8120(piVar1,iVar3,uVar2,0);\n    FUN_000a81a0(piVar1,0,0,0x10,0);\n    piVar4[0x1d] = 0;\n    *piVar4 = unaff_EDI + 0x2d971f;\n    return piVar4;\n  }\n  if (*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) != 0) {\n    uVar2 = param_6 + 1U >> 0x1c;\n    iVar3 = (param_6 + 1U) * 0x10;\n    if (*(char *)(*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) + 0x4d75) == '\0')\n    {\n      piVar4 = (int *)FUN_001aa8c0(0x74);\n      piVar4[1] = 0;\n      piVar4[2] = 0;\n      piVar1 = piVar4 + 0x14;\n      piVar4[9] = 0x10;\n      piVar4[10] = 0;\n      piVar4[8] = 0;\n      piVar4[0xe] = param_3;\n      piVar4[3] = iVar3;\n      piVar4[4] = uVar2;\n      piVar4[0xf] = param_4;\n      piVar4[0x11] = param_6;\n      *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;\n      *piVar4 = unaff_EDI + 0x2d9273;\n      piVar4[5] = -1;\n      piVar4[6] = -1;\n      piVar4[0xc] = 0;\n      piVar4[0xd] = 0;\n      piVar4[0x10] = param_5;\n      piVar4[0x12] = 0;\n      piVar4[0x13] = -1;\n      piVar4[0x15] = (int)piVar1;\n      piVar4[0x14] = (int)piVar1;\n      piVar4[0x16] = 0;\n      piVar4[0x17] = (int)piVar1;\n      *(undefined1 *)(piVar4 + 0x18) = 0;\n      piVar4[0x19] = 0;\n      piVar4[0x1a] = 0;\n      piVar4[0x1b] = 0;\n      piVar4[0x1c] = 0;\n                    \n      FUN_0005d770();\n      FUN_000a8120(piVar1,iVar3,uVar2,0);\n      FUN_000a81a0(piVar1,0,0,0x10,0);\n      *piVar4 = unaff_EDI + 0x2d982f;\n      return piVar4;\n    }\n    piVar4 = (int *)FUN_001aa8c0(0x78);\n    piVar4[1] = 0;\n    piVar4[2] = 0;\n    piVar1 = piVar4 + 0x14;\n    piVar4[9] = 0x10;\n    piVar4[10] = 0;\n    piVar4[8] = 0;\n    piVar4[0xe] = param_3;\n    piVar4[3] = iVar3;\n    piVar4[0xf] = param_4;\n    piVar4[4] = uVar2;\n    piVar4[0x10] = param_5;\n    *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;\n    *piVar4 = unaff_EDI + 0x2d9273;\n    piVar4[5] = -1;\n    piVar4[6] = -1;\n    piVar4[0xc] = 0;\n    piVar4[0xd] = 0;\n    piVar4[0x11] = param_6;\n    piVar4[0x12] = 0;\n    piVar4[0x13] = -1;\n    piVar4[0x15] = (int)piVar1;\n    piVar4[0x14] = (int)piVar1;\n    piVar4[0x16] = 0;\n    piVar4[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar4 + 0x18) = 0;\n    piVar4[0x19] = 0;\n    piVar4[0x1a] = 0;\n    piVar4[0x1b] = 0;\n    piVar4[0x1c] = 0;\n                    \n    FUN_0005d770();\n    FUN_000a8120(piVar1,iVar3,uVar2,0);\n    FUN_000a81a0(piVar1,0,0,0x10,0);\n    piVar4[0x1d] = 0;\n    *piVar4 = unaff_EDI + 0x2d9587;\n    return piVar4;\n  }\n                    \n  FUN_0008b620(unaff_EDI + 0x1e6444,0x5c,unaff_EDI + 0x1f150f);\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "int unaff_EDI;" primitive_type identifier ;) (expression_statement "FUN_00058c4a();" (call_expression "FUN_00058c4a()" identifier (argument_list "()" ( ))) ;) (if_statement "if ((*(byte *)(param_1 + 0x68) & 1) != 0) {\n    piVar4 = (int *)FUN_001aa8c0(0x78);\n    piVar4[0xe] = param_3;\n    piVar1 = piVar4 + 0x14;\n    piVar4[1] = 0;\n    uVar2 = param_6 + 1U >> 0x1c;\n    iVar3 = (param_6 + 1U) * 0x10;\n    piVar4[2] = 0;\n    piVar4[3] = iVar3;\n    piVar4[4] = uVar2;\n    piVar4[8] = 0;\n    piVar4[0xf] = param_4;\n    *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;\n    *piVar4 = unaff_EDI + 0x2d9273;\n    piVar4[0x11] = param_6;\n    piVar4[9] = 0x10;\n    piVar4[10] = 0;\n    piVar4[5] = -1;\n    piVar4[6] = -1;\n    piVar4[0xc] = 0;\n    piVar4[0xd] = 0;\n    piVar4[0x10] = param_5;\n    piVar4[0x12] = 0;\n    piVar4[0x13] = -1;\n    piVar4[0x15] = (int)piVar1;\n    piVar4[0x14] = (int)piVar1;\n    piVar4[0x16] = 0;\n    piVar4[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar4 + 0x18) = 0;\n    piVar4[0x19] = 0;\n    piVar4[0x1a] = 0;\n    piVar4[0x1b] = 0;\n    piVar4[0x1c] = 0;\n                    \n    FUN_0005d770();\n    FUN_000a8120(piVar1,iVar3,uVar2,0);\n    FUN_000a81a0(piVar1,0,0,0x10,0);\n    piVar4[0x1d] = 0;\n    *piVar4 = unaff_EDI + 0x2d971f;\n    return piVar4;\n  }" if (parenthesized_expression "((*(byte *)(param_1 + 0x68) & 1) != 0)" ( (binary_expression "(*(byte *)(param_1 + 0x68) & 1) != 0" (parenthesized_expression "(*(byte *)(param_1 + 0x68) & 1)" ( (binary_expression "*(byte *)(param_1 + 0x68) & 1" (pointer_expression "*(byte *)(param_1 + 0x68)" * (cast_expression "(byte *)(param_1 + 0x68)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n    piVar4 = (int *)FUN_001aa8c0(0x78);\n    piVar4[0xe] = param_3;\n    piVar1 = piVar4 + 0x14;\n    piVar4[1] = 0;\n    uVar2 = param_6 + 1U >> 0x1c;\n    iVar3 = (param_6 + 1U) * 0x10;\n    piVar4[2] = 0;\n    piVar4[3] = iVar3;\n    piVar4[4] = uVar2;\n    piVar4[8] = 0;\n    piVar4[0xf] = param_4;\n    *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;\n    *piVar4 = unaff_EDI + 0x2d9273;\n    piVar4[0x11] = param_6;\n    piVar4[9] = 0x10;\n    piVar4[10] = 0;\n    piVar4[5] = -1;\n    piVar4[6] = -1;\n    piVar4[0xc] = 0;\n    piVar4[0xd] = 0;\n    piVar4[0x10] = param_5;\n    piVar4[0x12] = 0;\n    piVar4[0x13] = -1;\n    piVar4[0x15] = (int)piVar1;\n    piVar4[0x14] = (int)piVar1;\n    piVar4[0x16] = 0;\n    piVar4[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar4 + 0x18) = 0;\n    piVar4[0x19] = 0;\n    piVar4[0x1a] = 0;\n    piVar4[0x1b] = 0;\n    piVar4[0x1c] = 0;\n                    \n    FUN_0005d770();\n    FUN_000a8120(piVar1,iVar3,uVar2,0);\n    FUN_000a81a0(piVar1,0,0,0x10,0);\n    piVar4[0x1d] = 0;\n    *piVar4 = unaff_EDI + 0x2d971f;\n    return piVar4;\n  }" { (expression_statement "piVar4 = (int *)FUN_001aa8c0(0x78);" (assignment_expression "piVar4 = (int *)FUN_001aa8c0(0x78)" identifier = (cast_expression "(int *)FUN_001aa8c0(0x78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001aa8c0(0x78)" identifier (argument_list "(0x78)" ( number_literal ))))) ;) (expression_statement "piVar4[0xe] = param_3;" (assignment_expression "piVar4[0xe] = param_3" (subscript_expression "piVar4[0xe]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar1 = piVar4 + 0x14;" (assignment_expression "piVar1 = piVar4 + 0x14" identifier = (binary_expression "piVar4 + 0x14" identifier + number_literal)) ;) (expression_statement "piVar4[1] = 0;" (assignment_expression "piVar4[1] = 0" (subscript_expression "piVar4[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar2 = param_6 + 1U >> 0x1c;" (assignment_expression "uVar2 = param_6 + 1U >> 0x1c" identifier = (binary_expression "param_6 + 1U >> 0x1c" (binary_expression "param_6 + 1U" identifier + number_literal) >> number_literal)) ;) (expression_statement "iVar3 = (param_6 + 1U) * 0x10;" (assignment_expression "iVar3 = (param_6 + 1U) * 0x10" identifier = (binary_expression "(param_6 + 1U) * 0x10" (parenthesized_expression "(param_6 + 1U)" ( (binary_expression "param_6 + 1U" identifier + number_literal) )) * number_literal)) ;) (expression_statement "piVar4[2] = 0;" (assignment_expression "piVar4[2] = 0" (subscript_expression "piVar4[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[3] = iVar3;" (assignment_expression "piVar4[3] = iVar3" (subscript_expression "piVar4[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar4[4] = uVar2;" (assignment_expression "piVar4[4] = uVar2" (subscript_expression "piVar4[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar4[8] = 0;" (assignment_expression "piVar4[8] = 0" (subscript_expression "piVar4[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0xf] = param_4;" (assignment_expression "piVar4[0xf] = param_4" (subscript_expression "piVar4[0xf]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;" (assignment_expression "*(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2" (pointer_expression "*(byte *)(piVar4 + 7)" * (cast_expression "(byte *)(piVar4 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 7)" ( (binary_expression "piVar4 + 7" identifier + number_literal) )))) = (binary_expression "*(byte *)(piVar4 + 7) & 0xe0 | 2" (binary_expression "*(byte *)(piVar4 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar4 + 7)" * (cast_expression "(byte *)(piVar4 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 7)" ( (binary_expression "piVar4 + 7" identifier + number_literal) )))) & number_literal) | number_literal)) ;) (expression_statement "*piVar4 = unaff_EDI + 0x2d9273;" (assignment_expression "*piVar4 = unaff_EDI + 0x2d9273" (pointer_expression "*piVar4" * identifier) = (binary_expression "unaff_EDI + 0x2d9273" identifier + number_literal)) ;) (expression_statement "piVar4[0x11] = param_6;" (assignment_expression "piVar4[0x11] = param_6" (subscript_expression "piVar4[0x11]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar4[9] = 0x10;" (assignment_expression "piVar4[9] = 0x10" (subscript_expression "piVar4[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[10] = 0;" (assignment_expression "piVar4[10] = 0" (subscript_expression "piVar4[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[5] = -1;" (assignment_expression "piVar4[5] = -1" (subscript_expression "piVar4[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[6] = -1;" (assignment_expression "piVar4[6] = -1" (subscript_expression "piVar4[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0xc] = 0;" (assignment_expression "piVar4[0xc] = 0" (subscript_expression "piVar4[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0xd] = 0;" (assignment_expression "piVar4[0xd] = 0" (subscript_expression "piVar4[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x10] = param_5;" (assignment_expression "piVar4[0x10] = param_5" (subscript_expression "piVar4[0x10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar4[0x12] = 0;" (assignment_expression "piVar4[0x12] = 0" (subscript_expression "piVar4[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x13] = -1;" (assignment_expression "piVar4[0x13] = -1" (subscript_expression "piVar4[0x13]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x15] = (int)piVar1;" (assignment_expression "piVar4[0x15] = (int)piVar1" (subscript_expression "piVar4[0x15]" identifier [ number_literal ]) = (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar4[0x14] = (int)piVar1;" (assignment_expression "piVar4[0x14] = (int)piVar1" (subscript_expression "piVar4[0x14]" identifier [ number_literal ]) = (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar4[0x16] = 0;" (assignment_expression "piVar4[0x16] = 0" (subscript_expression "piVar4[0x16]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x17] = (int)piVar1;" (assignment_expression "piVar4[0x17] = (int)piVar1" (subscript_expression "piVar4[0x17]" identifier [ number_literal ]) = (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*(undefined1 *)(piVar4 + 0x18) = 0;" (assignment_expression "*(undefined1 *)(piVar4 + 0x18) = 0" (pointer_expression "*(undefined1 *)(piVar4 + 0x18)" * (cast_expression "(undefined1 *)(piVar4 + 0x18)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 0x18)" ( (binary_expression "piVar4 + 0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar4[0x19] = 0;" (assignment_expression "piVar4[0x19] = 0" (subscript_expression "piVar4[0x19]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x1a] = 0;" (assignment_expression "piVar4[0x1a] = 0" (subscript_expression "piVar4[0x1a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x1b] = 0;" (assignment_expression "piVar4[0x1b] = 0" (subscript_expression "piVar4[0x1b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x1c] = 0;" (assignment_expression "piVar4[0x1c] = 0" (subscript_expression "piVar4[0x1c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_0005d770();" (call_expression "FUN_0005d770()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_000a8120(piVar1,iVar3,uVar2,0);" (call_expression "FUN_000a8120(piVar1,iVar3,uVar2,0)" identifier (argument_list "(piVar1,iVar3,uVar2,0)" ( identifier , identifier , identifier , number_literal ))) ;) (expression_statement "FUN_000a81a0(piVar1,0,0,0x10,0);" (call_expression "FUN_000a81a0(piVar1,0,0,0x10,0)" identifier (argument_list "(piVar1,0,0,0x10,0)" ( identifier , number_literal , number_literal , number_literal , number_literal ))) ;) (expression_statement "piVar4[0x1d] = 0;" (assignment_expression "piVar4[0x1d] = 0" (subscript_expression "piVar4[0x1d]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*piVar4 = unaff_EDI + 0x2d971f;" (assignment_expression "*piVar4 = unaff_EDI + 0x2d971f" (pointer_expression "*piVar4" * identifier) = (binary_expression "unaff_EDI + 0x2d971f" identifier + number_literal)) ;) (return_statement "return piVar4;" return identifier ;) })) (if_statement "if (*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) != 0) {\n    uVar2 = param_6 + 1U >> 0x1c;\n    iVar3 = (param_6 + 1U) * 0x10;\n    if (*(char *)(*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) + 0x4d75) == '\0')\n    {\n      piVar4 = (int *)FUN_001aa8c0(0x74);\n      piVar4[1] = 0;\n      piVar4[2] = 0;\n      piVar1 = piVar4 + 0x14;\n      piVar4[9] = 0x10;\n      piVar4[10] = 0;\n      piVar4[8] = 0;\n      piVar4[0xe] = param_3;\n      piVar4[3] = iVar3;\n      piVar4[4] = uVar2;\n      piVar4[0xf] = param_4;\n      piVar4[0x11] = param_6;\n      *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;\n      *piVar4 = unaff_EDI + 0x2d9273;\n      piVar4[5] = -1;\n      piVar4[6] = -1;\n      piVar4[0xc] = 0;\n      piVar4[0xd] = 0;\n      piVar4[0x10] = param_5;\n      piVar4[0x12] = 0;\n      piVar4[0x13] = -1;\n      piVar4[0x15] = (int)piVar1;\n      piVar4[0x14] = (int)piVar1;\n      piVar4[0x16] = 0;\n      piVar4[0x17] = (int)piVar1;\n      *(undefined1 *)(piVar4 + 0x18) = 0;\n      piVar4[0x19] = 0;\n      piVar4[0x1a] = 0;\n      piVar4[0x1b] = 0;\n      piVar4[0x1c] = 0;\n                    \n      FUN_0005d770();\n      FUN_000a8120(piVar1,iVar3,uVar2,0);\n      FUN_000a81a0(piVar1,0,0,0x10,0);\n      *piVar4 = unaff_EDI + 0x2d982f;\n      return piVar4;\n    }\n    piVar4 = (int *)FUN_001aa8c0(0x78);\n    piVar4[1] = 0;\n    piVar4[2] = 0;\n    piVar1 = piVar4 + 0x14;\n    piVar4[9] = 0x10;\n    piVar4[10] = 0;\n    piVar4[8] = 0;\n    piVar4[0xe] = param_3;\n    piVar4[3] = iVar3;\n    piVar4[0xf] = param_4;\n    piVar4[4] = uVar2;\n    piVar4[0x10] = param_5;\n    *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;\n    *piVar4 = unaff_EDI + 0x2d9273;\n    piVar4[5] = -1;\n    piVar4[6] = -1;\n    piVar4[0xc] = 0;\n    piVar4[0xd] = 0;\n    piVar4[0x11] = param_6;\n    piVar4[0x12] = 0;\n    piVar4[0x13] = -1;\n    piVar4[0x15] = (int)piVar1;\n    piVar4[0x14] = (int)piVar1;\n    piVar4[0x16] = 0;\n    piVar4[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar4 + 0x18) = 0;\n    piVar4[0x19] = 0;\n    piVar4[0x1a] = 0;\n    piVar4[0x1b] = 0;\n    piVar4[0x1c] = 0;\n                    \n    FUN_0005d770();\n    FUN_000a8120(piVar1,iVar3,uVar2,0);\n    FUN_000a81a0(piVar1,0,0,0x10,0);\n    piVar4[0x1d] = 0;\n    *piVar4 = unaff_EDI + 0x2d9587;\n    return piVar4;\n  }" if (parenthesized_expression "(*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) != 0)" ( (binary_expression "*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) != 0" (pointer_expression "*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8)" * (cast_expression "(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8)" ( (binary_expression "*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8" (pointer_expression "*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82)" * (cast_expression "(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(BYTE_ARRAY_002df445 + unaff_EDI + 0x82)" ( (binary_expression "BYTE_ARRAY_002df445 + unaff_EDI + 0x82" (binary_expression "BYTE_ARRAY_002df445 + unaff_EDI" identifier + identifier) + number_literal) )))) + number_literal) )))) != number_literal) )) (compound_statement "{\n    uVar2 = param_6 + 1U >> 0x1c;\n    iVar3 = (param_6 + 1U) * 0x10;\n    if (*(char *)(*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) + 0x4d75) == '\0')\n    {\n      piVar4 = (int *)FUN_001aa8c0(0x74);\n      piVar4[1] = 0;\n      piVar4[2] = 0;\n      piVar1 = piVar4 + 0x14;\n      piVar4[9] = 0x10;\n      piVar4[10] = 0;\n      piVar4[8] = 0;\n      piVar4[0xe] = param_3;\n      piVar4[3] = iVar3;\n      piVar4[4] = uVar2;\n      piVar4[0xf] = param_4;\n      piVar4[0x11] = param_6;\n      *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;\n      *piVar4 = unaff_EDI + 0x2d9273;\n      piVar4[5] = -1;\n      piVar4[6] = -1;\n      piVar4[0xc] = 0;\n      piVar4[0xd] = 0;\n      piVar4[0x10] = param_5;\n      piVar4[0x12] = 0;\n      piVar4[0x13] = -1;\n      piVar4[0x15] = (int)piVar1;\n      piVar4[0x14] = (int)piVar1;\n      piVar4[0x16] = 0;\n      piVar4[0x17] = (int)piVar1;\n      *(undefined1 *)(piVar4 + 0x18) = 0;\n      piVar4[0x19] = 0;\n      piVar4[0x1a] = 0;\n      piVar4[0x1b] = 0;\n      piVar4[0x1c] = 0;\n                    \n      FUN_0005d770();\n      FUN_000a8120(piVar1,iVar3,uVar2,0);\n      FUN_000a81a0(piVar1,0,0,0x10,0);\n      *piVar4 = unaff_EDI + 0x2d982f;\n      return piVar4;\n    }\n    piVar4 = (int *)FUN_001aa8c0(0x78);\n    piVar4[1] = 0;\n    piVar4[2] = 0;\n    piVar1 = piVar4 + 0x14;\n    piVar4[9] = 0x10;\n    piVar4[10] = 0;\n    piVar4[8] = 0;\n    piVar4[0xe] = param_3;\n    piVar4[3] = iVar3;\n    piVar4[0xf] = param_4;\n    piVar4[4] = uVar2;\n    piVar4[0x10] = param_5;\n    *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;\n    *piVar4 = unaff_EDI + 0x2d9273;\n    piVar4[5] = -1;\n    piVar4[6] = -1;\n    piVar4[0xc] = 0;\n    piVar4[0xd] = 0;\n    piVar4[0x11] = param_6;\n    piVar4[0x12] = 0;\n    piVar4[0x13] = -1;\n    piVar4[0x15] = (int)piVar1;\n    piVar4[0x14] = (int)piVar1;\n    piVar4[0x16] = 0;\n    piVar4[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar4 + 0x18) = 0;\n    piVar4[0x19] = 0;\n    piVar4[0x1a] = 0;\n    piVar4[0x1b] = 0;\n    piVar4[0x1c] = 0;\n                    \n    FUN_0005d770();\n    FUN_000a8120(piVar1,iVar3,uVar2,0);\n    FUN_000a81a0(piVar1,0,0,0x10,0);\n    piVar4[0x1d] = 0;\n    *piVar4 = unaff_EDI + 0x2d9587;\n    return piVar4;\n  }" { (expression_statement "uVar2 = param_6 + 1U >> 0x1c;" (assignment_expression "uVar2 = param_6 + 1U >> 0x1c" identifier = (binary_expression "param_6 + 1U >> 0x1c" (binary_expression "param_6 + 1U" identifier + number_literal) >> number_literal)) ;) (expression_statement "iVar3 = (param_6 + 1U) * 0x10;" (assignment_expression "iVar3 = (param_6 + 1U) * 0x10" identifier = (binary_expression "(param_6 + 1U) * 0x10" (parenthesized_expression "(param_6 + 1U)" ( (binary_expression "param_6 + 1U" identifier + number_literal) )) * number_literal)) ;) (if_statement "if (*(char *)(*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) + 0x4d75) == '\0')\n    {\n      piVar4 = (int *)FUN_001aa8c0(0x74);\n      piVar4[1] = 0;\n      piVar4[2] = 0;\n      piVar1 = piVar4 + 0x14;\n      piVar4[9] = 0x10;\n      piVar4[10] = 0;\n      piVar4[8] = 0;\n      piVar4[0xe] = param_3;\n      piVar4[3] = iVar3;\n      piVar4[4] = uVar2;\n      piVar4[0xf] = param_4;\n      piVar4[0x11] = param_6;\n      *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;\n      *piVar4 = unaff_EDI + 0x2d9273;\n      piVar4[5] = -1;\n      piVar4[6] = -1;\n      piVar4[0xc] = 0;\n      piVar4[0xd] = 0;\n      piVar4[0x10] = param_5;\n      piVar4[0x12] = 0;\n      piVar4[0x13] = -1;\n      piVar4[0x15] = (int)piVar1;\n      piVar4[0x14] = (int)piVar1;\n      piVar4[0x16] = 0;\n      piVar4[0x17] = (int)piVar1;\n      *(undefined1 *)(piVar4 + 0x18) = 0;\n      piVar4[0x19] = 0;\n      piVar4[0x1a] = 0;\n      piVar4[0x1b] = 0;\n      piVar4[0x1c] = 0;\n                    \n      FUN_0005d770();\n      FUN_000a8120(piVar1,iVar3,uVar2,0);\n      FUN_000a81a0(piVar1,0,0,0x10,0);\n      *piVar4 = unaff_EDI + 0x2d982f;\n      return piVar4;\n    }" if (parenthesized_expression "(*(char *)(*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) + 0x4d75) == '\0')" ( (binary_expression "*(char *)(*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) + 0x4d75) == '\0'" (pointer_expression "*(char *)(*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) + 0x4d75)" * (cast_expression "(char *)(*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) + 0x4d75)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) + 0x4d75)" ( (binary_expression "*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) + 0x4d75" (pointer_expression "*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8)" * (cast_expression "(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8)" ( (binary_expression "*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8" (pointer_expression "*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82)" * (cast_expression "(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(BYTE_ARRAY_002df445 + unaff_EDI + 0x82)" ( (binary_expression "BYTE_ARRAY_002df445 + unaff_EDI + 0x82" (binary_expression "BYTE_ARRAY_002df445 + unaff_EDI" identifier + identifier) + number_literal) )))) + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      piVar4 = (int *)FUN_001aa8c0(0x74);\n      piVar4[1] = 0;\n      piVar4[2] = 0;\n      piVar1 = piVar4 + 0x14;\n      piVar4[9] = 0x10;\n      piVar4[10] = 0;\n      piVar4[8] = 0;\n      piVar4[0xe] = param_3;\n      piVar4[3] = iVar3;\n      piVar4[4] = uVar2;\n      piVar4[0xf] = param_4;\n      piVar4[0x11] = param_6;\n      *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;\n      *piVar4 = unaff_EDI + 0x2d9273;\n      piVar4[5] = -1;\n      piVar4[6] = -1;\n      piVar4[0xc] = 0;\n      piVar4[0xd] = 0;\n      piVar4[0x10] = param_5;\n      piVar4[0x12] = 0;\n      piVar4[0x13] = -1;\n      piVar4[0x15] = (int)piVar1;\n      piVar4[0x14] = (int)piVar1;\n      piVar4[0x16] = 0;\n      piVar4[0x17] = (int)piVar1;\n      *(undefined1 *)(piVar4 + 0x18) = 0;\n      piVar4[0x19] = 0;\n      piVar4[0x1a] = 0;\n      piVar4[0x1b] = 0;\n      piVar4[0x1c] = 0;\n                    \n      FUN_0005d770();\n      FUN_000a8120(piVar1,iVar3,uVar2,0);\n      FUN_000a81a0(piVar1,0,0,0x10,0);\n      *piVar4 = unaff_EDI + 0x2d982f;\n      return piVar4;\n    }" { (expression_statement "piVar4 = (int *)FUN_001aa8c0(0x74);" (assignment_expression "piVar4 = (int *)FUN_001aa8c0(0x74)" identifier = (cast_expression "(int *)FUN_001aa8c0(0x74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001aa8c0(0x74)" identifier (argument_list "(0x74)" ( number_literal ))))) ;) (expression_statement "piVar4[1] = 0;" (assignment_expression "piVar4[1] = 0" (subscript_expression "piVar4[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[2] = 0;" (assignment_expression "piVar4[2] = 0" (subscript_expression "piVar4[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar1 = piVar4 + 0x14;" (assignment_expression "piVar1 = piVar4 + 0x14" identifier = (binary_expression "piVar4 + 0x14" identifier + number_literal)) ;) (expression_statement "piVar4[9] = 0x10;" (assignment_expression "piVar4[9] = 0x10" (subscript_expression "piVar4[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[10] = 0;" (assignment_expression "piVar4[10] = 0" (subscript_expression "piVar4[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[8] = 0;" (assignment_expression "piVar4[8] = 0" (subscript_expression "piVar4[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0xe] = param_3;" (assignment_expression "piVar4[0xe] = param_3" (subscript_expression "piVar4[0xe]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar4[3] = iVar3;" (assignment_expression "piVar4[3] = iVar3" (subscript_expression "piVar4[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar4[4] = uVar2;" (assignment_expression "piVar4[4] = uVar2" (subscript_expression "piVar4[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar4[0xf] = param_4;" (assignment_expression "piVar4[0xf] = param_4" (subscript_expression "piVar4[0xf]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar4[0x11] = param_6;" (assignment_expression "piVar4[0x11] = param_6" (subscript_expression "piVar4[0x11]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;" (assignment_expression "*(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2" (pointer_expression "*(byte *)(piVar4 + 7)" * (cast_expression "(byte *)(piVar4 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 7)" ( (binary_expression "piVar4 + 7" identifier + number_literal) )))) = (binary_expression "*(byte *)(piVar4 + 7) & 0xe0 | 2" (binary_expression "*(byte *)(piVar4 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar4 + 7)" * (cast_expression "(byte *)(piVar4 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 7)" ( (binary_expression "piVar4 + 7" identifier + number_literal) )))) & number_literal) | number_literal)) ;) (expression_statement "*piVar4 = unaff_EDI + 0x2d9273;" (assignment_expression "*piVar4 = unaff_EDI + 0x2d9273" (pointer_expression "*piVar4" * identifier) = (binary_expression "unaff_EDI + 0x2d9273" identifier + number_literal)) ;) (expression_statement "piVar4[5] = -1;" (assignment_expression "piVar4[5] = -1" (subscript_expression "piVar4[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[6] = -1;" (assignment_expression "piVar4[6] = -1" (subscript_expression "piVar4[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0xc] = 0;" (assignment_expression "piVar4[0xc] = 0" (subscript_expression "piVar4[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0xd] = 0;" (assignment_expression "piVar4[0xd] = 0" (subscript_expression "piVar4[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x10] = param_5;" (assignment_expression "piVar4[0x10] = param_5" (subscript_expression "piVar4[0x10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar4[0x12] = 0;" (assignment_expression "piVar4[0x12] = 0" (subscript_expression "piVar4[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x13] = -1;" (assignment_expression "piVar4[0x13] = -1" (subscript_expression "piVar4[0x13]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x15] = (int)piVar1;" (assignment_expression "piVar4[0x15] = (int)piVar1" (subscript_expression "piVar4[0x15]" identifier [ number_literal ]) = (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar4[0x14] = (int)piVar1;" (assignment_expression "piVar4[0x14] = (int)piVar1" (subscript_expression "piVar4[0x14]" identifier [ number_literal ]) = (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar4[0x16] = 0;" (assignment_expression "piVar4[0x16] = 0" (subscript_expression "piVar4[0x16]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x17] = (int)piVar1;" (assignment_expression "piVar4[0x17] = (int)piVar1" (subscript_expression "piVar4[0x17]" identifier [ number_literal ]) = (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*(undefined1 *)(piVar4 + 0x18) = 0;" (assignment_expression "*(undefined1 *)(piVar4 + 0x18) = 0" (pointer_expression "*(undefined1 *)(piVar4 + 0x18)" * (cast_expression "(undefined1 *)(piVar4 + 0x18)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 0x18)" ( (binary_expression "piVar4 + 0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar4[0x19] = 0;" (assignment_expression "piVar4[0x19] = 0" (subscript_expression "piVar4[0x19]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x1a] = 0;" (assignment_expression "piVar4[0x1a] = 0" (subscript_expression "piVar4[0x1a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x1b] = 0;" (assignment_expression "piVar4[0x1b] = 0" (subscript_expression "piVar4[0x1b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x1c] = 0;" (assignment_expression "piVar4[0x1c] = 0" (subscript_expression "piVar4[0x1c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_0005d770();" (call_expression "FUN_0005d770()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_000a8120(piVar1,iVar3,uVar2,0);" (call_expression "FUN_000a8120(piVar1,iVar3,uVar2,0)" identifier (argument_list "(piVar1,iVar3,uVar2,0)" ( identifier , identifier , identifier , number_literal ))) ;) (expression_statement "FUN_000a81a0(piVar1,0,0,0x10,0);" (call_expression "FUN_000a81a0(piVar1,0,0,0x10,0)" identifier (argument_list "(piVar1,0,0,0x10,0)" ( identifier , number_literal , number_literal , number_literal , number_literal ))) ;) (expression_statement "*piVar4 = unaff_EDI + 0x2d982f;" (assignment_expression "*piVar4 = unaff_EDI + 0x2d982f" (pointer_expression "*piVar4" * identifier) = (binary_expression "unaff_EDI + 0x2d982f" identifier + number_literal)) ;) (return_statement "return piVar4;" return identifier ;) })) (expression_statement "piVar4 = (int *)FUN_001aa8c0(0x78);" (assignment_expression "piVar4 = (int *)FUN_001aa8c0(0x78)" identifier = (cast_expression "(int *)FUN_001aa8c0(0x78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001aa8c0(0x78)" identifier (argument_list "(0x78)" ( number_literal ))))) ;) (expression_statement "piVar4[1] = 0;" (assignment_expression "piVar4[1] = 0" (subscript_expression "piVar4[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[2] = 0;" (assignment_expression "piVar4[2] = 0" (subscript_expression "piVar4[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar1 = piVar4 + 0x14;" (assignment_expression "piVar1 = piVar4 + 0x14" identifier = (binary_expression "piVar4 + 0x14" identifier + number_literal)) ;) (expression_statement "piVar4[9] = 0x10;" (assignment_expression "piVar4[9] = 0x10" (subscript_expression "piVar4[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[10] = 0;" (assignment_expression "piVar4[10] = 0" (subscript_expression "piVar4[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[8] = 0;" (assignment_expression "piVar4[8] = 0" (subscript_expression "piVar4[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0xe] = param_3;" (assignment_expression "piVar4[0xe] = param_3" (subscript_expression "piVar4[0xe]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar4[3] = iVar3;" (assignment_expression "piVar4[3] = iVar3" (subscript_expression "piVar4[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar4[0xf] = param_4;" (assignment_expression "piVar4[0xf] = param_4" (subscript_expression "piVar4[0xf]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar4[4] = uVar2;" (assignment_expression "piVar4[4] = uVar2" (subscript_expression "piVar4[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar4[0x10] = param_5;" (assignment_expression "piVar4[0x10] = param_5" (subscript_expression "piVar4[0x10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;" (assignment_expression "*(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2" (pointer_expression "*(byte *)(piVar4 + 7)" * (cast_expression "(byte *)(piVar4 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 7)" ( (binary_expression "piVar4 + 7" identifier + number_literal) )))) = (binary_expression "*(byte *)(piVar4 + 7) & 0xe0 | 2" (binary_expression "*(byte *)(piVar4 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar4 + 7)" * (cast_expression "(byte *)(piVar4 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 7)" ( (binary_expression "piVar4 + 7" identifier + number_literal) )))) & number_literal) | number_literal)) ;) (expression_statement "*piVar4 = unaff_EDI + 0x2d9273;" (assignment_expression "*piVar4 = unaff_EDI + 0x2d9273" (pointer_expression "*piVar4" * identifier) = (binary_expression "unaff_EDI + 0x2d9273" identifier + number_literal)) ;) (expression_statement "piVar4[5] = -1;" (assignment_expression "piVar4[5] = -1" (subscript_expression "piVar4[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[6] = -1;" (assignment_expression "piVar4[6] = -1" (subscript_expression "piVar4[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0xc] = 0;" (assignment_expression "piVar4[0xc] = 0" (subscript_expression "piVar4[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0xd] = 0;" (assignment_expression "piVar4[0xd] = 0" (subscript_expression "piVar4[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x11] = param_6;" (assignment_expression "piVar4[0x11] = param_6" (subscript_expression "piVar4[0x11]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar4[0x12] = 0;" (assignment_expression "piVar4[0x12] = 0" (subscript_expression "piVar4[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x13] = -1;" (assignment_expression "piVar4[0x13] = -1" (subscript_expression "piVar4[0x13]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x15] = (int)piVar1;" (assignment_expression "piVar4[0x15] = (int)piVar1" (subscript_expression "piVar4[0x15]" identifier [ number_literal ]) = (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar4[0x14] = (int)piVar1;" (assignment_expression "piVar4[0x14] = (int)piVar1" (subscript_expression "piVar4[0x14]" identifier [ number_literal ]) = (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar4[0x16] = 0;" (assignment_expression "piVar4[0x16] = 0" (subscript_expression "piVar4[0x16]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x17] = (int)piVar1;" (assignment_expression "piVar4[0x17] = (int)piVar1" (subscript_expression "piVar4[0x17]" identifier [ number_literal ]) = (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*(undefined1 *)(piVar4 + 0x18) = 0;" (assignment_expression "*(undefined1 *)(piVar4 + 0x18) = 0" (pointer_expression "*(undefined1 *)(piVar4 + 0x18)" * (cast_expression "(undefined1 *)(piVar4 + 0x18)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 0x18)" ( (binary_expression "piVar4 + 0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar4[0x19] = 0;" (assignment_expression "piVar4[0x19] = 0" (subscript_expression "piVar4[0x19]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x1a] = 0;" (assignment_expression "piVar4[0x1a] = 0" (subscript_expression "piVar4[0x1a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x1b] = 0;" (assignment_expression "piVar4[0x1b] = 0" (subscript_expression "piVar4[0x1b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x1c] = 0;" (assignment_expression "piVar4[0x1c] = 0" (subscript_expression "piVar4[0x1c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_0005d770();" (call_expression "FUN_0005d770()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_000a8120(piVar1,iVar3,uVar2,0);" (call_expression "FUN_000a8120(piVar1,iVar3,uVar2,0)" identifier (argument_list "(piVar1,iVar3,uVar2,0)" ( identifier , identifier , identifier , number_literal ))) ;) (expression_statement "FUN_000a81a0(piVar1,0,0,0x10,0);" (call_expression "FUN_000a81a0(piVar1,0,0,0x10,0)" identifier (argument_list "(piVar1,0,0,0x10,0)" ( identifier , number_literal , number_literal , number_literal , number_literal ))) ;) (expression_statement "piVar4[0x1d] = 0;" (assignment_expression "piVar4[0x1d] = 0" (subscript_expression "piVar4[0x1d]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*piVar4 = unaff_EDI + 0x2d9587;" (assignment_expression "*piVar4 = unaff_EDI + 0x2d9587" (pointer_expression "*piVar4" * identifier) = (binary_expression "unaff_EDI + 0x2d9587" identifier + number_literal)) ;) (return_statement "return piVar4;" return identifier ;) })) (expression_statement "FUN_0008b620(unaff_EDI + 0x1e6444,0x5c,unaff_EDI + 0x1f150f);" (call_expression "FUN_0008b620(unaff_EDI + 0x1e6444,0x5c,unaff_EDI + 0x1f150f)" identifier (argument_list "(unaff_EDI + 0x1e6444,0x5c,unaff_EDI + 0x1f150f)" ( (binary_expression "unaff_EDI + 0x1e6444" identifier + number_literal) , number_literal , (binary_expression "unaff_EDI + 0x1f150f" identifier + number_literal) ))) ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) )))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + LIT) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) | LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT , LIT , LIT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (return_statement return IDENT ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + LIT) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) + LIT) )))) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) | LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT , LIT , LIT ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) | LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT , LIT , LIT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (return_statement return IDENT ;) })) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) })))
(function_definition "int * FUN_0005fe20(int param_1,undefined4 param_2,int param_3,int param_4,int param_5,int param_6)\n\n{\n  int *piVar1;\n  uint uVar2;\n  int iVar3;\n  int *piVar4;\n  int unaff_EDI;\n  \n  FUN_00058c4a();\n  if ((*(byte *)(param_1 + 0x68) & 1) != 0) {\n    piVar4 = (int *)FUN_001aa8c0(0x78);\n    piVar4[0xe] = param_3;\n    piVar1 = piVar4 + 0x14;\n    piVar4[1] = 0;\n    uVar2 = param_6 + 1U >> 0x1c;\n    iVar3 = (param_6 + 1U) * 0x10;\n    piVar4[2] = 0;\n    piVar4[3] = iVar3;\n    piVar4[4] = uVar2;\n    piVar4[8] = 0;\n    piVar4[0xf] = param_4;\n    *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;\n    *piVar4 = unaff_EDI + 0x2d9273;\n    piVar4[0x11] = param_6;\n    piVar4[9] = 0x10;\n    piVar4[10] = 0;\n    piVar4[5] = -1;\n    piVar4[6] = -1;\n    piVar4[0xc] = 0;\n    piVar4[0xd] = 0;\n    piVar4[0x10] = param_5;\n    piVar4[0x12] = 0;\n    piVar4[0x13] = -1;\n    piVar4[0x15] = (int)piVar1;\n    piVar4[0x14] = (int)piVar1;\n    piVar4[0x16] = 0;\n    piVar4[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar4 + 0x18) = 0;\n    piVar4[0x19] = 0;\n    piVar4[0x1a] = 0;\n    piVar4[0x1b] = 0;\n    piVar4[0x1c] = 0;\n                    \n    FUN_0005d770();\n    FUN_000a8120(piVar1,iVar3,uVar2,0);\n    FUN_000a81a0(piVar1,0,0,0x10,0);\n    piVar4[0x1d] = 0;\n    *piVar4 = unaff_EDI + 0x2d971f;\n    return piVar4;\n  }\n  if (*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) != 0) {\n    uVar2 = param_6 + 1U >> 0x1c;\n    iVar3 = (param_6 + 1U) * 0x10;\n    if (*(char *)(*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) + 0x4d75) == '\0')\n    {\n      piVar4 = (int *)FUN_001aa8c0(0x74);\n      piVar4[1] = 0;\n      piVar4[2] = 0;\n      piVar1 = piVar4 + 0x14;\n      piVar4[9] = 0x10;\n      piVar4[10] = 0;\n      piVar4[8] = 0;\n      piVar4[0xe] = param_3;\n      piVar4[3] = iVar3;\n      piVar4[4] = uVar2;\n      piVar4[0xf] = param_4;\n      piVar4[0x11] = param_6;\n      *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;\n      *piVar4 = unaff_EDI + 0x2d9273;\n      piVar4[5] = -1;\n      piVar4[6] = -1;\n      piVar4[0xc] = 0;\n      piVar4[0xd] = 0;\n      piVar4[0x10] = param_5;\n      piVar4[0x12] = 0;\n      piVar4[0x13] = -1;\n      piVar4[0x15] = (int)piVar1;\n      piVar4[0x14] = (int)piVar1;\n      piVar4[0x16] = 0;\n      piVar4[0x17] = (int)piVar1;\n      *(undefined1 *)(piVar4 + 0x18) = 0;\n      piVar4[0x19] = 0;\n      piVar4[0x1a] = 0;\n      piVar4[0x1b] = 0;\n      piVar4[0x1c] = 0;\n                    \n      FUN_0005d770();\n      FUN_000a8120(piVar1,iVar3,uVar2,0);\n      FUN_000a81a0(piVar1,0,0,0x10,0);\n      *piVar4 = unaff_EDI + 0x2d982f;\n      return piVar4;\n    }\n    piVar4 = (int *)FUN_001aa8c0(0x78);\n    piVar4[1] = 0;\n    piVar4[2] = 0;\n    piVar1 = piVar4 + 0x14;\n    piVar4[9] = 0x10;\n    piVar4[10] = 0;\n    piVar4[8] = 0;\n    piVar4[0xe] = param_3;\n    piVar4[3] = iVar3;\n    piVar4[0xf] = param_4;\n    piVar4[4] = uVar2;\n    piVar4[0x10] = param_5;\n    *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;\n    *piVar4 = unaff_EDI + 0x2d9273;\n    piVar4[5] = -1;\n    piVar4[6] = -1;\n    piVar4[0xc] = 0;\n    piVar4[0xd] = 0;\n    piVar4[0x11] = param_6;\n    piVar4[0x12] = 0;\n    piVar4[0x13] = -1;\n    piVar4[0x15] = (int)piVar1;\n    piVar4[0x14] = (int)piVar1;\n    piVar4[0x16] = 0;\n    piVar4[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar4 + 0x18) = 0;\n    piVar4[0x19] = 0;\n    piVar4[0x1a] = 0;\n    piVar4[0x1b] = 0;\n    piVar4[0x1c] = 0;\n                    \n    FUN_0005d770();\n    FUN_000a8120(piVar1,iVar3,uVar2,0);\n    FUN_000a81a0(piVar1,0,0,0x10,0);\n    piVar4[0x1d] = 0;\n    *piVar4 = unaff_EDI + 0x2d9587;\n    return piVar4;\n  }\n                    \n  FUN_0008b620(unaff_EDI + 0x1e6444,0x5c,unaff_EDI + 0x1f150f);\n}" (primitive_type "int") (pointer_declarator "* FUN_0005fe20(int param_1,undefined4 param_2,int param_3,int param_4,int param_5,int param_6)" (* "*") (function_declarator "FUN_0005fe20(int param_1,undefined4 param_2,int param_3,int param_4,int param_5,int param_6)" (identifier "FUN_0005fe20") (parameter_list "(int param_1,undefined4 param_2,int param_3,int param_4,int param_5,int param_6)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) (, ",") (parameter_declaration "int param_4" (primitive_type "int") (identifier "param_4")) (, ",") (parameter_declaration "int param_5" (primitive_type "int") (identifier "param_5")) (, ",") (parameter_declaration "int param_6" (primitive_type "int") (identifier "param_6")) () ")")))) (compound_statement "{\n  int *piVar1;\n  uint uVar2;\n  int iVar3;\n  int *piVar4;\n  int unaff_EDI;\n  \n  FUN_00058c4a();\n  if ((*(byte *)(param_1 + 0x68) & 1) != 0) {\n    piVar4 = (int *)FUN_001aa8c0(0x78);\n    piVar4[0xe] = param_3;\n    piVar1 = piVar4 + 0x14;\n    piVar4[1] = 0;\n    uVar2 = param_6 + 1U >> 0x1c;\n    iVar3 = (param_6 + 1U) * 0x10;\n    piVar4[2] = 0;\n    piVar4[3] = iVar3;\n    piVar4[4] = uVar2;\n    piVar4[8] = 0;\n    piVar4[0xf] = param_4;\n    *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;\n    *piVar4 = unaff_EDI + 0x2d9273;\n    piVar4[0x11] = param_6;\n    piVar4[9] = 0x10;\n    piVar4[10] = 0;\n    piVar4[5] = -1;\n    piVar4[6] = -1;\n    piVar4[0xc] = 0;\n    piVar4[0xd] = 0;\n    piVar4[0x10] = param_5;\n    piVar4[0x12] = 0;\n    piVar4[0x13] = -1;\n    piVar4[0x15] = (int)piVar1;\n    piVar4[0x14] = (int)piVar1;\n    piVar4[0x16] = 0;\n    piVar4[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar4 + 0x18) = 0;\n    piVar4[0x19] = 0;\n    piVar4[0x1a] = 0;\n    piVar4[0x1b] = 0;\n    piVar4[0x1c] = 0;\n                    \n    FUN_0005d770();\n    FUN_000a8120(piVar1,iVar3,uVar2,0);\n    FUN_000a81a0(piVar1,0,0,0x10,0);\n    piVar4[0x1d] = 0;\n    *piVar4 = unaff_EDI + 0x2d971f;\n    return piVar4;\n  }\n  if (*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) != 0) {\n    uVar2 = param_6 + 1U >> 0x1c;\n    iVar3 = (param_6 + 1U) * 0x10;\n    if (*(char *)(*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) + 0x4d75) == '\0')\n    {\n      piVar4 = (int *)FUN_001aa8c0(0x74);\n      piVar4[1] = 0;\n      piVar4[2] = 0;\n      piVar1 = piVar4 + 0x14;\n      piVar4[9] = 0x10;\n      piVar4[10] = 0;\n      piVar4[8] = 0;\n      piVar4[0xe] = param_3;\n      piVar4[3] = iVar3;\n      piVar4[4] = uVar2;\n      piVar4[0xf] = param_4;\n      piVar4[0x11] = param_6;\n      *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;\n      *piVar4 = unaff_EDI + 0x2d9273;\n      piVar4[5] = -1;\n      piVar4[6] = -1;\n      piVar4[0xc] = 0;\n      piVar4[0xd] = 0;\n      piVar4[0x10] = param_5;\n      piVar4[0x12] = 0;\n      piVar4[0x13] = -1;\n      piVar4[0x15] = (int)piVar1;\n      piVar4[0x14] = (int)piVar1;\n      piVar4[0x16] = 0;\n      piVar4[0x17] = (int)piVar1;\n      *(undefined1 *)(piVar4 + 0x18) = 0;\n      piVar4[0x19] = 0;\n      piVar4[0x1a] = 0;\n      piVar4[0x1b] = 0;\n      piVar4[0x1c] = 0;\n                    \n      FUN_0005d770();\n      FUN_000a8120(piVar1,iVar3,uVar2,0);\n      FUN_000a81a0(piVar1,0,0,0x10,0);\n      *piVar4 = unaff_EDI + 0x2d982f;\n      return piVar4;\n    }\n    piVar4 = (int *)FUN_001aa8c0(0x78);\n    piVar4[1] = 0;\n    piVar4[2] = 0;\n    piVar1 = piVar4 + 0x14;\n    piVar4[9] = 0x10;\n    piVar4[10] = 0;\n    piVar4[8] = 0;\n    piVar4[0xe] = param_3;\n    piVar4[3] = iVar3;\n    piVar4[0xf] = param_4;\n    piVar4[4] = uVar2;\n    piVar4[0x10] = param_5;\n    *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;\n    *piVar4 = unaff_EDI + 0x2d9273;\n    piVar4[5] = -1;\n    piVar4[6] = -1;\n    piVar4[0xc] = 0;\n    piVar4[0xd] = 0;\n    piVar4[0x11] = param_6;\n    piVar4[0x12] = 0;\n    piVar4[0x13] = -1;\n    piVar4[0x15] = (int)piVar1;\n    piVar4[0x14] = (int)piVar1;\n    piVar4[0x16] = 0;\n    piVar4[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar4 + 0x18) = 0;\n    piVar4[0x19] = 0;\n    piVar4[0x1a] = 0;\n    piVar4[0x1b] = 0;\n    piVar4[0x1c] = 0;\n                    \n    FUN_0005d770();\n    FUN_000a8120(piVar1,iVar3,uVar2,0);\n    FUN_000a81a0(piVar1,0,0,0x10,0);\n    piVar4[0x1d] = 0;\n    *piVar4 = unaff_EDI + 0x2d9587;\n    return piVar4;\n  }\n                    \n  FUN_0008b620(unaff_EDI + 0x1e6444,0x5c,unaff_EDI + 0x1f150f);\n}" ({ "{") (declaration "int *piVar1;" (primitive_type "int") (pointer_declarator "*piVar1" (* "*") (identifier "piVar1")) (; ";")) (declaration "uint uVar2;" (type_identifier "uint") (identifier "uVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "int *piVar4;" (primitive_type "int") (pointer_declarator "*piVar4" (* "*") (identifier "piVar4")) (; ";")) (declaration "int unaff_EDI;" (primitive_type "int") (identifier "unaff_EDI") (; ";")) (expression_statement "FUN_00058c4a();" (call_expression "FUN_00058c4a()" (identifier "FUN_00058c4a") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if ((*(byte *)(param_1 + 0x68) & 1) != 0) {\n    piVar4 = (int *)FUN_001aa8c0(0x78);\n    piVar4[0xe] = param_3;\n    piVar1 = piVar4 + 0x14;\n    piVar4[1] = 0;\n    uVar2 = param_6 + 1U >> 0x1c;\n    iVar3 = (param_6 + 1U) * 0x10;\n    piVar4[2] = 0;\n    piVar4[3] = iVar3;\n    piVar4[4] = uVar2;\n    piVar4[8] = 0;\n    piVar4[0xf] = param_4;\n    *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;\n    *piVar4 = unaff_EDI + 0x2d9273;\n    piVar4[0x11] = param_6;\n    piVar4[9] = 0x10;\n    piVar4[10] = 0;\n    piVar4[5] = -1;\n    piVar4[6] = -1;\n    piVar4[0xc] = 0;\n    piVar4[0xd] = 0;\n    piVar4[0x10] = param_5;\n    piVar4[0x12] = 0;\n    piVar4[0x13] = -1;\n    piVar4[0x15] = (int)piVar1;\n    piVar4[0x14] = (int)piVar1;\n    piVar4[0x16] = 0;\n    piVar4[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar4 + 0x18) = 0;\n    piVar4[0x19] = 0;\n    piVar4[0x1a] = 0;\n    piVar4[0x1b] = 0;\n    piVar4[0x1c] = 0;\n                    \n    FUN_0005d770();\n    FUN_000a8120(piVar1,iVar3,uVar2,0);\n    FUN_000a81a0(piVar1,0,0,0x10,0);\n    piVar4[0x1d] = 0;\n    *piVar4 = unaff_EDI + 0x2d971f;\n    return piVar4;\n  }" (if "if") (parenthesized_expression "((*(byte *)(param_1 + 0x68) & 1) != 0)" (( "(") (binary_expression "(*(byte *)(param_1 + 0x68) & 1) != 0" (parenthesized_expression "(*(byte *)(param_1 + 0x68) & 1)" (( "(") (binary_expression "*(byte *)(param_1 + 0x68) & 1" (pointer_expression "*(byte *)(param_1 + 0x68)" (* "*") (cast_expression "(byte *)(param_1 + 0x68)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x68)" (( "(") (binary_expression "param_1 + 0x68" (identifier "param_1") (+ "+") (number_literal "0x68")) () ")")))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    piVar4 = (int *)FUN_001aa8c0(0x78);\n    piVar4[0xe] = param_3;\n    piVar1 = piVar4 + 0x14;\n    piVar4[1] = 0;\n    uVar2 = param_6 + 1U >> 0x1c;\n    iVar3 = (param_6 + 1U) * 0x10;\n    piVar4[2] = 0;\n    piVar4[3] = iVar3;\n    piVar4[4] = uVar2;\n    piVar4[8] = 0;\n    piVar4[0xf] = param_4;\n    *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;\n    *piVar4 = unaff_EDI + 0x2d9273;\n    piVar4[0x11] = param_6;\n    piVar4[9] = 0x10;\n    piVar4[10] = 0;\n    piVar4[5] = -1;\n    piVar4[6] = -1;\n    piVar4[0xc] = 0;\n    piVar4[0xd] = 0;\n    piVar4[0x10] = param_5;\n    piVar4[0x12] = 0;\n    piVar4[0x13] = -1;\n    piVar4[0x15] = (int)piVar1;\n    piVar4[0x14] = (int)piVar1;\n    piVar4[0x16] = 0;\n    piVar4[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar4 + 0x18) = 0;\n    piVar4[0x19] = 0;\n    piVar4[0x1a] = 0;\n    piVar4[0x1b] = 0;\n    piVar4[0x1c] = 0;\n                    \n    FUN_0005d770();\n    FUN_000a8120(piVar1,iVar3,uVar2,0);\n    FUN_000a81a0(piVar1,0,0,0x10,0);\n    piVar4[0x1d] = 0;\n    *piVar4 = unaff_EDI + 0x2d971f;\n    return piVar4;\n  }" ({ "{") (expression_statement "piVar4 = (int *)FUN_001aa8c0(0x78);" (assignment_expression "piVar4 = (int *)FUN_001aa8c0(0x78)" (identifier "piVar4") (= "=") (cast_expression "(int *)FUN_001aa8c0(0x78)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_001aa8c0(0x78)" (identifier "FUN_001aa8c0") (argument_list "(0x78)" (( "(") (number_literal "0x78") () ")"))))) (; ";")) (expression_statement "piVar4[0xe] = param_3;" (assignment_expression "piVar4[0xe] = param_3" (subscript_expression "piVar4[0xe]" (identifier "piVar4") ([ "[") (number_literal "0xe") (] "]")) (= "=") (identifier "param_3")) (; ";")) (expression_statement "piVar1 = piVar4 + 0x14;" (assignment_expression "piVar1 = piVar4 + 0x14" (identifier "piVar1") (= "=") (binary_expression "piVar4 + 0x14" (identifier "piVar4") (+ "+") (number_literal "0x14"))) (; ";")) (expression_statement "piVar4[1] = 0;" (assignment_expression "piVar4[1] = 0" (subscript_expression "piVar4[1]" (identifier "piVar4") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar2 = param_6 + 1U >> 0x1c;" (assignment_expression "uVar2 = param_6 + 1U >> 0x1c" (identifier "uVar2") (= "=") (binary_expression "param_6 + 1U >> 0x1c" (binary_expression "param_6 + 1U" (identifier "param_6") (+ "+") (number_literal "1U")) (>> ">>") (number_literal "0x1c"))) (; ";")) (expression_statement "iVar3 = (param_6 + 1U) * 0x10;" (assignment_expression "iVar3 = (param_6 + 1U) * 0x10" (identifier "iVar3") (= "=") (binary_expression "(param_6 + 1U) * 0x10" (parenthesized_expression "(param_6 + 1U)" (( "(") (binary_expression "param_6 + 1U" (identifier "param_6") (+ "+") (number_literal "1U")) () ")")) (* "*") (number_literal "0x10"))) (; ";")) (expression_statement "piVar4[2] = 0;" (assignment_expression "piVar4[2] = 0" (subscript_expression "piVar4[2]" (identifier "piVar4") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[3] = iVar3;" (assignment_expression "piVar4[3] = iVar3" (subscript_expression "piVar4[3]" (identifier "piVar4") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (expression_statement "piVar4[4] = uVar2;" (assignment_expression "piVar4[4] = uVar2" (subscript_expression "piVar4[4]" (identifier "piVar4") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "piVar4[8] = 0;" (assignment_expression "piVar4[8] = 0" (subscript_expression "piVar4[8]" (identifier "piVar4") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[0xf] = param_4;" (assignment_expression "piVar4[0xf] = param_4" (subscript_expression "piVar4[0xf]" (identifier "piVar4") ([ "[") (number_literal "0xf") (] "]")) (= "=") (identifier "param_4")) (; ";")) (expression_statement "*(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;" (assignment_expression "*(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2" (pointer_expression "*(byte *)(piVar4 + 7)" (* "*") (cast_expression "(byte *)(piVar4 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar4 + 7)" (( "(") (binary_expression "piVar4 + 7" (identifier "piVar4") (+ "+") (number_literal "7")) () ")")))) (= "=") (binary_expression "*(byte *)(piVar4 + 7) & 0xe0 | 2" (binary_expression "*(byte *)(piVar4 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar4 + 7)" (* "*") (cast_expression "(byte *)(piVar4 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar4 + 7)" (( "(") (binary_expression "piVar4 + 7" (identifier "piVar4") (+ "+") (number_literal "7")) () ")")))) (& "&") (number_literal "0xe0")) (| "|") (number_literal "2"))) (; ";")) (expression_statement "*piVar4 = unaff_EDI + 0x2d9273;" (assignment_expression "*piVar4 = unaff_EDI + 0x2d9273" (pointer_expression "*piVar4" (* "*") (identifier "piVar4")) (= "=") (binary_expression "unaff_EDI + 0x2d9273" (identifier "unaff_EDI") (+ "+") (number_literal "0x2d9273"))) (; ";")) (expression_statement "piVar4[0x11] = param_6;" (assignment_expression "piVar4[0x11] = param_6" (subscript_expression "piVar4[0x11]" (identifier "piVar4") ([ "[") (number_literal "0x11") (] "]")) (= "=") (identifier "param_6")) (; ";")) (expression_statement "piVar4[9] = 0x10;" (assignment_expression "piVar4[9] = 0x10" (subscript_expression "piVar4[9]" (identifier "piVar4") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "0x10")) (; ";")) (expression_statement "piVar4[10] = 0;" (assignment_expression "piVar4[10] = 0" (subscript_expression "piVar4[10]" (identifier "piVar4") ([ "[") (number_literal "10") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[5] = -1;" (assignment_expression "piVar4[5] = -1" (subscript_expression "piVar4[5]" (identifier "piVar4") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "piVar4[6] = -1;" (assignment_expression "piVar4[6] = -1" (subscript_expression "piVar4[6]" (identifier "piVar4") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "piVar4[0xc] = 0;" (assignment_expression "piVar4[0xc] = 0" (subscript_expression "piVar4[0xc]" (identifier "piVar4") ([ "[") (number_literal "0xc") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[0xd] = 0;" (assignment_expression "piVar4[0xd] = 0" (subscript_expression "piVar4[0xd]" (identifier "piVar4") ([ "[") (number_literal "0xd") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[0x10] = param_5;" (assignment_expression "piVar4[0x10] = param_5" (subscript_expression "piVar4[0x10]" (identifier "piVar4") ([ "[") (number_literal "0x10") (] "]")) (= "=") (identifier "param_5")) (; ";")) (expression_statement "piVar4[0x12] = 0;" (assignment_expression "piVar4[0x12] = 0" (subscript_expression "piVar4[0x12]" (identifier "piVar4") ([ "[") (number_literal "0x12") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[0x13] = -1;" (assignment_expression "piVar4[0x13] = -1" (subscript_expression "piVar4[0x13]" (identifier "piVar4") ([ "[") (number_literal "0x13") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "piVar4[0x15] = (int)piVar1;" (assignment_expression "piVar4[0x15] = (int)piVar1" (subscript_expression "piVar4[0x15]" (identifier "piVar4") ([ "[") (number_literal "0x15") (] "]")) (= "=") (cast_expression "(int)piVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar1"))) (; ";")) (expression_statement "piVar4[0x14] = (int)piVar1;" (assignment_expression "piVar4[0x14] = (int)piVar1" (subscript_expression "piVar4[0x14]" (identifier "piVar4") ([ "[") (number_literal "0x14") (] "]")) (= "=") (cast_expression "(int)piVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar1"))) (; ";")) (expression_statement "piVar4[0x16] = 0;" (assignment_expression "piVar4[0x16] = 0" (subscript_expression "piVar4[0x16]" (identifier "piVar4") ([ "[") (number_literal "0x16") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[0x17] = (int)piVar1;" (assignment_expression "piVar4[0x17] = (int)piVar1" (subscript_expression "piVar4[0x17]" (identifier "piVar4") ([ "[") (number_literal "0x17") (] "]")) (= "=") (cast_expression "(int)piVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar1"))) (; ";")) (expression_statement "*(undefined1 *)(piVar4 + 0x18) = 0;" (assignment_expression "*(undefined1 *)(piVar4 + 0x18) = 0" (pointer_expression "*(undefined1 *)(piVar4 + 0x18)" (* "*") (cast_expression "(undefined1 *)(piVar4 + 0x18)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar4 + 0x18)" (( "(") (binary_expression "piVar4 + 0x18" (identifier "piVar4") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[0x19] = 0;" (assignment_expression "piVar4[0x19] = 0" (subscript_expression "piVar4[0x19]" (identifier "piVar4") ([ "[") (number_literal "0x19") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[0x1a] = 0;" (assignment_expression "piVar4[0x1a] = 0" (subscript_expression "piVar4[0x1a]" (identifier "piVar4") ([ "[") (number_literal "0x1a") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[0x1b] = 0;" (assignment_expression "piVar4[0x1b] = 0" (subscript_expression "piVar4[0x1b]" (identifier "piVar4") ([ "[") (number_literal "0x1b") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[0x1c] = 0;" (assignment_expression "piVar4[0x1c] = 0" (subscript_expression "piVar4[0x1c]" (identifier "piVar4") ([ "[") (number_literal "0x1c") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_0005d770();" (call_expression "FUN_0005d770()" (identifier "FUN_0005d770") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_000a8120(piVar1,iVar3,uVar2,0);" (call_expression "FUN_000a8120(piVar1,iVar3,uVar2,0)" (identifier "FUN_000a8120") (argument_list "(piVar1,iVar3,uVar2,0)" (( "(") (identifier "piVar1") (, ",") (identifier "iVar3") (, ",") (identifier "uVar2") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "FUN_000a81a0(piVar1,0,0,0x10,0);" (call_expression "FUN_000a81a0(piVar1,0,0,0x10,0)" (identifier "FUN_000a81a0") (argument_list "(piVar1,0,0,0x10,0)" (( "(") (identifier "piVar1") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0x10") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "piVar4[0x1d] = 0;" (assignment_expression "piVar4[0x1d] = 0" (subscript_expression "piVar4[0x1d]" (identifier "piVar4") ([ "[") (number_literal "0x1d") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*piVar4 = unaff_EDI + 0x2d971f;" (assignment_expression "*piVar4 = unaff_EDI + 0x2d971f" (pointer_expression "*piVar4" (* "*") (identifier "piVar4")) (= "=") (binary_expression "unaff_EDI + 0x2d971f" (identifier "unaff_EDI") (+ "+") (number_literal "0x2d971f"))) (; ";")) (return_statement "return piVar4;" (return "return") (identifier "piVar4") (; ";")) (} "}"))) (if_statement "if (*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) != 0) {\n    uVar2 = param_6 + 1U >> 0x1c;\n    iVar3 = (param_6 + 1U) * 0x10;\n    if (*(char *)(*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) + 0x4d75) == '\0')\n    {\n      piVar4 = (int *)FUN_001aa8c0(0x74);\n      piVar4[1] = 0;\n      piVar4[2] = 0;\n      piVar1 = piVar4 + 0x14;\n      piVar4[9] = 0x10;\n      piVar4[10] = 0;\n      piVar4[8] = 0;\n      piVar4[0xe] = param_3;\n      piVar4[3] = iVar3;\n      piVar4[4] = uVar2;\n      piVar4[0xf] = param_4;\n      piVar4[0x11] = param_6;\n      *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;\n      *piVar4 = unaff_EDI + 0x2d9273;\n      piVar4[5] = -1;\n      piVar4[6] = -1;\n      piVar4[0xc] = 0;\n      piVar4[0xd] = 0;\n      piVar4[0x10] = param_5;\n      piVar4[0x12] = 0;\n      piVar4[0x13] = -1;\n      piVar4[0x15] = (int)piVar1;\n      piVar4[0x14] = (int)piVar1;\n      piVar4[0x16] = 0;\n      piVar4[0x17] = (int)piVar1;\n      *(undefined1 *)(piVar4 + 0x18) = 0;\n      piVar4[0x19] = 0;\n      piVar4[0x1a] = 0;\n      piVar4[0x1b] = 0;\n      piVar4[0x1c] = 0;\n                    \n      FUN_0005d770();\n      FUN_000a8120(piVar1,iVar3,uVar2,0);\n      FUN_000a81a0(piVar1,0,0,0x10,0);\n      *piVar4 = unaff_EDI + 0x2d982f;\n      return piVar4;\n    }\n    piVar4 = (int *)FUN_001aa8c0(0x78);\n    piVar4[1] = 0;\n    piVar4[2] = 0;\n    piVar1 = piVar4 + 0x14;\n    piVar4[9] = 0x10;\n    piVar4[10] = 0;\n    piVar4[8] = 0;\n    piVar4[0xe] = param_3;\n    piVar4[3] = iVar3;\n    piVar4[0xf] = param_4;\n    piVar4[4] = uVar2;\n    piVar4[0x10] = param_5;\n    *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;\n    *piVar4 = unaff_EDI + 0x2d9273;\n    piVar4[5] = -1;\n    piVar4[6] = -1;\n    piVar4[0xc] = 0;\n    piVar4[0xd] = 0;\n    piVar4[0x11] = param_6;\n    piVar4[0x12] = 0;\n    piVar4[0x13] = -1;\n    piVar4[0x15] = (int)piVar1;\n    piVar4[0x14] = (int)piVar1;\n    piVar4[0x16] = 0;\n    piVar4[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar4 + 0x18) = 0;\n    piVar4[0x19] = 0;\n    piVar4[0x1a] = 0;\n    piVar4[0x1b] = 0;\n    piVar4[0x1c] = 0;\n                    \n    FUN_0005d770();\n    FUN_000a8120(piVar1,iVar3,uVar2,0);\n    FUN_000a81a0(piVar1,0,0,0x10,0);\n    piVar4[0x1d] = 0;\n    *piVar4 = unaff_EDI + 0x2d9587;\n    return piVar4;\n  }" (if "if") (parenthesized_expression "(*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) != 0)" (( "(") (binary_expression "*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) != 0" (pointer_expression "*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8)" (* "*") (cast_expression "(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8)" (( "(") (binary_expression "*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8" (pointer_expression "*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82)" (* "*") (cast_expression "(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(BYTE_ARRAY_002df445 + unaff_EDI + 0x82)" (( "(") (binary_expression "BYTE_ARRAY_002df445 + unaff_EDI + 0x82" (binary_expression "BYTE_ARRAY_002df445 + unaff_EDI" (identifier "BYTE_ARRAY_002df445") (+ "+") (identifier "unaff_EDI")) (+ "+") (number_literal "0x82")) () ")")))) (+ "+") (number_literal "8")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    uVar2 = param_6 + 1U >> 0x1c;\n    iVar3 = (param_6 + 1U) * 0x10;\n    if (*(char *)(*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) + 0x4d75) == '\0')\n    {\n      piVar4 = (int *)FUN_001aa8c0(0x74);\n      piVar4[1] = 0;\n      piVar4[2] = 0;\n      piVar1 = piVar4 + 0x14;\n      piVar4[9] = 0x10;\n      piVar4[10] = 0;\n      piVar4[8] = 0;\n      piVar4[0xe] = param_3;\n      piVar4[3] = iVar3;\n      piVar4[4] = uVar2;\n      piVar4[0xf] = param_4;\n      piVar4[0x11] = param_6;\n      *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;\n      *piVar4 = unaff_EDI + 0x2d9273;\n      piVar4[5] = -1;\n      piVar4[6] = -1;\n      piVar4[0xc] = 0;\n      piVar4[0xd] = 0;\n      piVar4[0x10] = param_5;\n      piVar4[0x12] = 0;\n      piVar4[0x13] = -1;\n      piVar4[0x15] = (int)piVar1;\n      piVar4[0x14] = (int)piVar1;\n      piVar4[0x16] = 0;\n      piVar4[0x17] = (int)piVar1;\n      *(undefined1 *)(piVar4 + 0x18) = 0;\n      piVar4[0x19] = 0;\n      piVar4[0x1a] = 0;\n      piVar4[0x1b] = 0;\n      piVar4[0x1c] = 0;\n                    \n      FUN_0005d770();\n      FUN_000a8120(piVar1,iVar3,uVar2,0);\n      FUN_000a81a0(piVar1,0,0,0x10,0);\n      *piVar4 = unaff_EDI + 0x2d982f;\n      return piVar4;\n    }\n    piVar4 = (int *)FUN_001aa8c0(0x78);\n    piVar4[1] = 0;\n    piVar4[2] = 0;\n    piVar1 = piVar4 + 0x14;\n    piVar4[9] = 0x10;\n    piVar4[10] = 0;\n    piVar4[8] = 0;\n    piVar4[0xe] = param_3;\n    piVar4[3] = iVar3;\n    piVar4[0xf] = param_4;\n    piVar4[4] = uVar2;\n    piVar4[0x10] = param_5;\n    *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;\n    *piVar4 = unaff_EDI + 0x2d9273;\n    piVar4[5] = -1;\n    piVar4[6] = -1;\n    piVar4[0xc] = 0;\n    piVar4[0xd] = 0;\n    piVar4[0x11] = param_6;\n    piVar4[0x12] = 0;\n    piVar4[0x13] = -1;\n    piVar4[0x15] = (int)piVar1;\n    piVar4[0x14] = (int)piVar1;\n    piVar4[0x16] = 0;\n    piVar4[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar4 + 0x18) = 0;\n    piVar4[0x19] = 0;\n    piVar4[0x1a] = 0;\n    piVar4[0x1b] = 0;\n    piVar4[0x1c] = 0;\n                    \n    FUN_0005d770();\n    FUN_000a8120(piVar1,iVar3,uVar2,0);\n    FUN_000a81a0(piVar1,0,0,0x10,0);\n    piVar4[0x1d] = 0;\n    *piVar4 = unaff_EDI + 0x2d9587;\n    return piVar4;\n  }" ({ "{") (expression_statement "uVar2 = param_6 + 1U >> 0x1c;" (assignment_expression "uVar2 = param_6 + 1U >> 0x1c" (identifier "uVar2") (= "=") (binary_expression "param_6 + 1U >> 0x1c" (binary_expression "param_6 + 1U" (identifier "param_6") (+ "+") (number_literal "1U")) (>> ">>") (number_literal "0x1c"))) (; ";")) (expression_statement "iVar3 = (param_6 + 1U) * 0x10;" (assignment_expression "iVar3 = (param_6 + 1U) * 0x10" (identifier "iVar3") (= "=") (binary_expression "(param_6 + 1U) * 0x10" (parenthesized_expression "(param_6 + 1U)" (( "(") (binary_expression "param_6 + 1U" (identifier "param_6") (+ "+") (number_literal "1U")) () ")")) (* "*") (number_literal "0x10"))) (; ";")) (if_statement "if (*(char *)(*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) + 0x4d75) == '\0')\n    {\n      piVar4 = (int *)FUN_001aa8c0(0x74);\n      piVar4[1] = 0;\n      piVar4[2] = 0;\n      piVar1 = piVar4 + 0x14;\n      piVar4[9] = 0x10;\n      piVar4[10] = 0;\n      piVar4[8] = 0;\n      piVar4[0xe] = param_3;\n      piVar4[3] = iVar3;\n      piVar4[4] = uVar2;\n      piVar4[0xf] = param_4;\n      piVar4[0x11] = param_6;\n      *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;\n      *piVar4 = unaff_EDI + 0x2d9273;\n      piVar4[5] = -1;\n      piVar4[6] = -1;\n      piVar4[0xc] = 0;\n      piVar4[0xd] = 0;\n      piVar4[0x10] = param_5;\n      piVar4[0x12] = 0;\n      piVar4[0x13] = -1;\n      piVar4[0x15] = (int)piVar1;\n      piVar4[0x14] = (int)piVar1;\n      piVar4[0x16] = 0;\n      piVar4[0x17] = (int)piVar1;\n      *(undefined1 *)(piVar4 + 0x18) = 0;\n      piVar4[0x19] = 0;\n      piVar4[0x1a] = 0;\n      piVar4[0x1b] = 0;\n      piVar4[0x1c] = 0;\n                    \n      FUN_0005d770();\n      FUN_000a8120(piVar1,iVar3,uVar2,0);\n      FUN_000a81a0(piVar1,0,0,0x10,0);\n      *piVar4 = unaff_EDI + 0x2d982f;\n      return piVar4;\n    }" (if "if") (parenthesized_expression "(*(char *)(*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) + 0x4d75) == '\0')" (( "(") (binary_expression "*(char *)(*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) + 0x4d75) == '\0'" (pointer_expression "*(char *)(*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) + 0x4d75)" (* "*") (cast_expression "(char *)(*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) + 0x4d75)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) + 0x4d75)" (( "(") (binary_expression "*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) + 0x4d75" (pointer_expression "*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8)" (* "*") (cast_expression "(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8)" (( "(") (binary_expression "*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8" (pointer_expression "*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82)" (* "*") (cast_expression "(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(BYTE_ARRAY_002df445 + unaff_EDI + 0x82)" (( "(") (binary_expression "BYTE_ARRAY_002df445 + unaff_EDI + 0x82" (binary_expression "BYTE_ARRAY_002df445 + unaff_EDI" (identifier "BYTE_ARRAY_002df445") (+ "+") (identifier "unaff_EDI")) (+ "+") (number_literal "0x82")) () ")")))) (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x4d75")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      piVar4 = (int *)FUN_001aa8c0(0x74);\n      piVar4[1] = 0;\n      piVar4[2] = 0;\n      piVar1 = piVar4 + 0x14;\n      piVar4[9] = 0x10;\n      piVar4[10] = 0;\n      piVar4[8] = 0;\n      piVar4[0xe] = param_3;\n      piVar4[3] = iVar3;\n      piVar4[4] = uVar2;\n      piVar4[0xf] = param_4;\n      piVar4[0x11] = param_6;\n      *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;\n      *piVar4 = unaff_EDI + 0x2d9273;\n      piVar4[5] = -1;\n      piVar4[6] = -1;\n      piVar4[0xc] = 0;\n      piVar4[0xd] = 0;\n      piVar4[0x10] = param_5;\n      piVar4[0x12] = 0;\n      piVar4[0x13] = -1;\n      piVar4[0x15] = (int)piVar1;\n      piVar4[0x14] = (int)piVar1;\n      piVar4[0x16] = 0;\n      piVar4[0x17] = (int)piVar1;\n      *(undefined1 *)(piVar4 + 0x18) = 0;\n      piVar4[0x19] = 0;\n      piVar4[0x1a] = 0;\n      piVar4[0x1b] = 0;\n      piVar4[0x1c] = 0;\n                    \n      FUN_0005d770();\n      FUN_000a8120(piVar1,iVar3,uVar2,0);\n      FUN_000a81a0(piVar1,0,0,0x10,0);\n      *piVar4 = unaff_EDI + 0x2d982f;\n      return piVar4;\n    }" ({ "{") (expression_statement "piVar4 = (int *)FUN_001aa8c0(0x74);" (assignment_expression "piVar4 = (int *)FUN_001aa8c0(0x74)" (identifier "piVar4") (= "=") (cast_expression "(int *)FUN_001aa8c0(0x74)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_001aa8c0(0x74)" (identifier "FUN_001aa8c0") (argument_list "(0x74)" (( "(") (number_literal "0x74") () ")"))))) (; ";")) (expression_statement "piVar4[1] = 0;" (assignment_expression "piVar4[1] = 0" (subscript_expression "piVar4[1]" (identifier "piVar4") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[2] = 0;" (assignment_expression "piVar4[2] = 0" (subscript_expression "piVar4[2]" (identifier "piVar4") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar1 = piVar4 + 0x14;" (assignment_expression "piVar1 = piVar4 + 0x14" (identifier "piVar1") (= "=") (binary_expression "piVar4 + 0x14" (identifier "piVar4") (+ "+") (number_literal "0x14"))) (; ";")) (expression_statement "piVar4[9] = 0x10;" (assignment_expression "piVar4[9] = 0x10" (subscript_expression "piVar4[9]" (identifier "piVar4") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "0x10")) (; ";")) (expression_statement "piVar4[10] = 0;" (assignment_expression "piVar4[10] = 0" (subscript_expression "piVar4[10]" (identifier "piVar4") ([ "[") (number_literal "10") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[8] = 0;" (assignment_expression "piVar4[8] = 0" (subscript_expression "piVar4[8]" (identifier "piVar4") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[0xe] = param_3;" (assignment_expression "piVar4[0xe] = param_3" (subscript_expression "piVar4[0xe]" (identifier "piVar4") ([ "[") (number_literal "0xe") (] "]")) (= "=") (identifier "param_3")) (; ";")) (expression_statement "piVar4[3] = iVar3;" (assignment_expression "piVar4[3] = iVar3" (subscript_expression "piVar4[3]" (identifier "piVar4") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (expression_statement "piVar4[4] = uVar2;" (assignment_expression "piVar4[4] = uVar2" (subscript_expression "piVar4[4]" (identifier "piVar4") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "piVar4[0xf] = param_4;" (assignment_expression "piVar4[0xf] = param_4" (subscript_expression "piVar4[0xf]" (identifier "piVar4") ([ "[") (number_literal "0xf") (] "]")) (= "=") (identifier "param_4")) (; ";")) (expression_statement "piVar4[0x11] = param_6;" (assignment_expression "piVar4[0x11] = param_6" (subscript_expression "piVar4[0x11]" (identifier "piVar4") ([ "[") (number_literal "0x11") (] "]")) (= "=") (identifier "param_6")) (; ";")) (expression_statement "*(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;" (assignment_expression "*(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2" (pointer_expression "*(byte *)(piVar4 + 7)" (* "*") (cast_expression "(byte *)(piVar4 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar4 + 7)" (( "(") (binary_expression "piVar4 + 7" (identifier "piVar4") (+ "+") (number_literal "7")) () ")")))) (= "=") (binary_expression "*(byte *)(piVar4 + 7) & 0xe0 | 2" (binary_expression "*(byte *)(piVar4 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar4 + 7)" (* "*") (cast_expression "(byte *)(piVar4 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar4 + 7)" (( "(") (binary_expression "piVar4 + 7" (identifier "piVar4") (+ "+") (number_literal "7")) () ")")))) (& "&") (number_literal "0xe0")) (| "|") (number_literal "2"))) (; ";")) (expression_statement "*piVar4 = unaff_EDI + 0x2d9273;" (assignment_expression "*piVar4 = unaff_EDI + 0x2d9273" (pointer_expression "*piVar4" (* "*") (identifier "piVar4")) (= "=") (binary_expression "unaff_EDI + 0x2d9273" (identifier "unaff_EDI") (+ "+") (number_literal "0x2d9273"))) (; ";")) (expression_statement "piVar4[5] = -1;" (assignment_expression "piVar4[5] = -1" (subscript_expression "piVar4[5]" (identifier "piVar4") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "piVar4[6] = -1;" (assignment_expression "piVar4[6] = -1" (subscript_expression "piVar4[6]" (identifier "piVar4") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "piVar4[0xc] = 0;" (assignment_expression "piVar4[0xc] = 0" (subscript_expression "piVar4[0xc]" (identifier "piVar4") ([ "[") (number_literal "0xc") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[0xd] = 0;" (assignment_expression "piVar4[0xd] = 0" (subscript_expression "piVar4[0xd]" (identifier "piVar4") ([ "[") (number_literal "0xd") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[0x10] = param_5;" (assignment_expression "piVar4[0x10] = param_5" (subscript_expression "piVar4[0x10]" (identifier "piVar4") ([ "[") (number_literal "0x10") (] "]")) (= "=") (identifier "param_5")) (; ";")) (expression_statement "piVar4[0x12] = 0;" (assignment_expression "piVar4[0x12] = 0" (subscript_expression "piVar4[0x12]" (identifier "piVar4") ([ "[") (number_literal "0x12") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[0x13] = -1;" (assignment_expression "piVar4[0x13] = -1" (subscript_expression "piVar4[0x13]" (identifier "piVar4") ([ "[") (number_literal "0x13") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "piVar4[0x15] = (int)piVar1;" (assignment_expression "piVar4[0x15] = (int)piVar1" (subscript_expression "piVar4[0x15]" (identifier "piVar4") ([ "[") (number_literal "0x15") (] "]")) (= "=") (cast_expression "(int)piVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar1"))) (; ";")) (expression_statement "piVar4[0x14] = (int)piVar1;" (assignment_expression "piVar4[0x14] = (int)piVar1" (subscript_expression "piVar4[0x14]" (identifier "piVar4") ([ "[") (number_literal "0x14") (] "]")) (= "=") (cast_expression "(int)piVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar1"))) (; ";")) (expression_statement "piVar4[0x16] = 0;" (assignment_expression "piVar4[0x16] = 0" (subscript_expression "piVar4[0x16]" (identifier "piVar4") ([ "[") (number_literal "0x16") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[0x17] = (int)piVar1;" (assignment_expression "piVar4[0x17] = (int)piVar1" (subscript_expression "piVar4[0x17]" (identifier "piVar4") ([ "[") (number_literal "0x17") (] "]")) (= "=") (cast_expression "(int)piVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar1"))) (; ";")) (expression_statement "*(undefined1 *)(piVar4 + 0x18) = 0;" (assignment_expression "*(undefined1 *)(piVar4 + 0x18) = 0" (pointer_expression "*(undefined1 *)(piVar4 + 0x18)" (* "*") (cast_expression "(undefined1 *)(piVar4 + 0x18)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar4 + 0x18)" (( "(") (binary_expression "piVar4 + 0x18" (identifier "piVar4") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[0x19] = 0;" (assignment_expression "piVar4[0x19] = 0" (subscript_expression "piVar4[0x19]" (identifier "piVar4") ([ "[") (number_literal "0x19") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[0x1a] = 0;" (assignment_expression "piVar4[0x1a] = 0" (subscript_expression "piVar4[0x1a]" (identifier "piVar4") ([ "[") (number_literal "0x1a") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[0x1b] = 0;" (assignment_expression "piVar4[0x1b] = 0" (subscript_expression "piVar4[0x1b]" (identifier "piVar4") ([ "[") (number_literal "0x1b") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[0x1c] = 0;" (assignment_expression "piVar4[0x1c] = 0" (subscript_expression "piVar4[0x1c]" (identifier "piVar4") ([ "[") (number_literal "0x1c") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_0005d770();" (call_expression "FUN_0005d770()" (identifier "FUN_0005d770") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_000a8120(piVar1,iVar3,uVar2,0);" (call_expression "FUN_000a8120(piVar1,iVar3,uVar2,0)" (identifier "FUN_000a8120") (argument_list "(piVar1,iVar3,uVar2,0)" (( "(") (identifier "piVar1") (, ",") (identifier "iVar3") (, ",") (identifier "uVar2") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "FUN_000a81a0(piVar1,0,0,0x10,0);" (call_expression "FUN_000a81a0(piVar1,0,0,0x10,0)" (identifier "FUN_000a81a0") (argument_list "(piVar1,0,0,0x10,0)" (( "(") (identifier "piVar1") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0x10") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "*piVar4 = unaff_EDI + 0x2d982f;" (assignment_expression "*piVar4 = unaff_EDI + 0x2d982f" (pointer_expression "*piVar4" (* "*") (identifier "piVar4")) (= "=") (binary_expression "unaff_EDI + 0x2d982f" (identifier "unaff_EDI") (+ "+") (number_literal "0x2d982f"))) (; ";")) (return_statement "return piVar4;" (return "return") (identifier "piVar4") (; ";")) (} "}"))) (expression_statement "piVar4 = (int *)FUN_001aa8c0(0x78);" (assignment_expression "piVar4 = (int *)FUN_001aa8c0(0x78)" (identifier "piVar4") (= "=") (cast_expression "(int *)FUN_001aa8c0(0x78)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_001aa8c0(0x78)" (identifier "FUN_001aa8c0") (argument_list "(0x78)" (( "(") (number_literal "0x78") () ")"))))) (; ";")) (expression_statement "piVar4[1] = 0;" (assignment_expression "piVar4[1] = 0" (subscript_expression "piVar4[1]" (identifier "piVar4") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[2] = 0;" (assignment_expression "piVar4[2] = 0" (subscript_expression "piVar4[2]" (identifier "piVar4") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar1 = piVar4 + 0x14;" (assignment_expression "piVar1 = piVar4 + 0x14" (identifier "piVar1") (= "=") (binary_expression "piVar4 + 0x14" (identifier "piVar4") (+ "+") (number_literal "0x14"))) (; ";")) (expression_statement "piVar4[9] = 0x10;" (assignment_expression "piVar4[9] = 0x10" (subscript_expression "piVar4[9]" (identifier "piVar4") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "0x10")) (; ";")) (expression_statement "piVar4[10] = 0;" (assignment_expression "piVar4[10] = 0" (subscript_expression "piVar4[10]" (identifier "piVar4") ([ "[") (number_literal "10") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[8] = 0;" (assignment_expression "piVar4[8] = 0" (subscript_expression "piVar4[8]" (identifier "piVar4") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[0xe] = param_3;" (assignment_expression "piVar4[0xe] = param_3" (subscript_expression "piVar4[0xe]" (identifier "piVar4") ([ "[") (number_literal "0xe") (] "]")) (= "=") (identifier "param_3")) (; ";")) (expression_statement "piVar4[3] = iVar3;" (assignment_expression "piVar4[3] = iVar3" (subscript_expression "piVar4[3]" (identifier "piVar4") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (expression_statement "piVar4[0xf] = param_4;" (assignment_expression "piVar4[0xf] = param_4" (subscript_expression "piVar4[0xf]" (identifier "piVar4") ([ "[") (number_literal "0xf") (] "]")) (= "=") (identifier "param_4")) (; ";")) (expression_statement "piVar4[4] = uVar2;" (assignment_expression "piVar4[4] = uVar2" (subscript_expression "piVar4[4]" (identifier "piVar4") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "piVar4[0x10] = param_5;" (assignment_expression "piVar4[0x10] = param_5" (subscript_expression "piVar4[0x10]" (identifier "piVar4") ([ "[") (number_literal "0x10") (] "]")) (= "=") (identifier "param_5")) (; ";")) (expression_statement "*(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;" (assignment_expression "*(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2" (pointer_expression "*(byte *)(piVar4 + 7)" (* "*") (cast_expression "(byte *)(piVar4 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar4 + 7)" (( "(") (binary_expression "piVar4 + 7" (identifier "piVar4") (+ "+") (number_literal "7")) () ")")))) (= "=") (binary_expression "*(byte *)(piVar4 + 7) & 0xe0 | 2" (binary_expression "*(byte *)(piVar4 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar4 + 7)" (* "*") (cast_expression "(byte *)(piVar4 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar4 + 7)" (( "(") (binary_expression "piVar4 + 7" (identifier "piVar4") (+ "+") (number_literal "7")) () ")")))) (& "&") (number_literal "0xe0")) (| "|") (number_literal "2"))) (; ";")) (expression_statement "*piVar4 = unaff_EDI + 0x2d9273;" (assignment_expression "*piVar4 = unaff_EDI + 0x2d9273" (pointer_expression "*piVar4" (* "*") (identifier "piVar4")) (= "=") (binary_expression "unaff_EDI + 0x2d9273" (identifier "unaff_EDI") (+ "+") (number_literal "0x2d9273"))) (; ";")) (expression_statement "piVar4[5] = -1;" (assignment_expression "piVar4[5] = -1" (subscript_expression "piVar4[5]" (identifier "piVar4") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "piVar4[6] = -1;" (assignment_expression "piVar4[6] = -1" (subscript_expression "piVar4[6]" (identifier "piVar4") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "piVar4[0xc] = 0;" (assignment_expression "piVar4[0xc] = 0" (subscript_expression "piVar4[0xc]" (identifier "piVar4") ([ "[") (number_literal "0xc") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[0xd] = 0;" (assignment_expression "piVar4[0xd] = 0" (subscript_expression "piVar4[0xd]" (identifier "piVar4") ([ "[") (number_literal "0xd") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[0x11] = param_6;" (assignment_expression "piVar4[0x11] = param_6" (subscript_expression "piVar4[0x11]" (identifier "piVar4") ([ "[") (number_literal "0x11") (] "]")) (= "=") (identifier "param_6")) (; ";")) (expression_statement "piVar4[0x12] = 0;" (assignment_expression "piVar4[0x12] = 0" (subscript_expression "piVar4[0x12]" (identifier "piVar4") ([ "[") (number_literal "0x12") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[0x13] = -1;" (assignment_expression "piVar4[0x13] = -1" (subscript_expression "piVar4[0x13]" (identifier "piVar4") ([ "[") (number_literal "0x13") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "piVar4[0x15] = (int)piVar1;" (assignment_expression "piVar4[0x15] = (int)piVar1" (subscript_expression "piVar4[0x15]" (identifier "piVar4") ([ "[") (number_literal "0x15") (] "]")) (= "=") (cast_expression "(int)piVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar1"))) (; ";")) (expression_statement "piVar4[0x14] = (int)piVar1;" (assignment_expression "piVar4[0x14] = (int)piVar1" (subscript_expression "piVar4[0x14]" (identifier "piVar4") ([ "[") (number_literal "0x14") (] "]")) (= "=") (cast_expression "(int)piVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar1"))) (; ";")) (expression_statement "piVar4[0x16] = 0;" (assignment_expression "piVar4[0x16] = 0" (subscript_expression "piVar4[0x16]" (identifier "piVar4") ([ "[") (number_literal "0x16") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[0x17] = (int)piVar1;" (assignment_expression "piVar4[0x17] = (int)piVar1" (subscript_expression "piVar4[0x17]" (identifier "piVar4") ([ "[") (number_literal "0x17") (] "]")) (= "=") (cast_expression "(int)piVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar1"))) (; ";")) (expression_statement "*(undefined1 *)(piVar4 + 0x18) = 0;" (assignment_expression "*(undefined1 *)(piVar4 + 0x18) = 0" (pointer_expression "*(undefined1 *)(piVar4 + 0x18)" (* "*") (cast_expression "(undefined1 *)(piVar4 + 0x18)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar4 + 0x18)" (( "(") (binary_expression "piVar4 + 0x18" (identifier "piVar4") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[0x19] = 0;" (assignment_expression "piVar4[0x19] = 0" (subscript_expression "piVar4[0x19]" (identifier "piVar4") ([ "[") (number_literal "0x19") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[0x1a] = 0;" (assignment_expression "piVar4[0x1a] = 0" (subscript_expression "piVar4[0x1a]" (identifier "piVar4") ([ "[") (number_literal "0x1a") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[0x1b] = 0;" (assignment_expression "piVar4[0x1b] = 0" (subscript_expression "piVar4[0x1b]" (identifier "piVar4") ([ "[") (number_literal "0x1b") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[0x1c] = 0;" (assignment_expression "piVar4[0x1c] = 0" (subscript_expression "piVar4[0x1c]" (identifier "piVar4") ([ "[") (number_literal "0x1c") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_0005d770();" (call_expression "FUN_0005d770()" (identifier "FUN_0005d770") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_000a8120(piVar1,iVar3,uVar2,0);" (call_expression "FUN_000a8120(piVar1,iVar3,uVar2,0)" (identifier "FUN_000a8120") (argument_list "(piVar1,iVar3,uVar2,0)" (( "(") (identifier "piVar1") (, ",") (identifier "iVar3") (, ",") (identifier "uVar2") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "FUN_000a81a0(piVar1,0,0,0x10,0);" (call_expression "FUN_000a81a0(piVar1,0,0,0x10,0)" (identifier "FUN_000a81a0") (argument_list "(piVar1,0,0,0x10,0)" (( "(") (identifier "piVar1") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0x10") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "piVar4[0x1d] = 0;" (assignment_expression "piVar4[0x1d] = 0" (subscript_expression "piVar4[0x1d]" (identifier "piVar4") ([ "[") (number_literal "0x1d") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*piVar4 = unaff_EDI + 0x2d9587;" (assignment_expression "*piVar4 = unaff_EDI + 0x2d9587" (pointer_expression "*piVar4" (* "*") (identifier "piVar4")) (= "=") (binary_expression "unaff_EDI + 0x2d9587" (identifier "unaff_EDI") (+ "+") (number_literal "0x2d9587"))) (; ";")) (return_statement "return piVar4;" (return "return") (identifier "piVar4") (; ";")) (} "}"))) (expression_statement "FUN_0008b620(unaff_EDI + 0x1e6444,0x5c,unaff_EDI + 0x1f150f);" (call_expression "FUN_0008b620(unaff_EDI + 0x1e6444,0x5c,unaff_EDI + 0x1f150f)" (identifier "FUN_0008b620") (argument_list "(unaff_EDI + 0x1e6444,0x5c,unaff_EDI + 0x1f150f)" (( "(") (binary_expression "unaff_EDI + 0x1e6444" (identifier "unaff_EDI") (+ "+") (number_literal "0x1e6444")) (, ",") (number_literal "0x5c") (, ",") (binary_expression "unaff_EDI + 0x1f150f" (identifier "unaff_EDI") (+ "+") (number_literal "0x1f150f")) () ")"))) (; ";")) (} "}")))

/* WARNING: Type propagation algorithm not settling */
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: Output_data_plt_x86_64<64> * do_make_data_plt(Target_x86_64<64> * this,
   Layout * layout, Output_data_got<64,_false> * got, Output_data_got_plt_x86_64 * got_plt,
   Output_data_space * got_irelative, uint plt_count) */

var_1<64> * __thiscall
anon_unknown.dwarf_32964f::Target_x86_64<64>::do_make_data_plt
          (Target_x86_64<64> *this,Layout *layout,Output_data_got<64,_false> *got,
          Output_data_got_plt_x86_64 *got_plt,Output_data_space *got_irelative,type_1 var_6)

{
  var_2 *var_3;
  type_1 uVar2;
  type_2 *pEVar3;
  var_1<64> *pOVar4;
  int var_7;
  var_1<64> *in_stack_ffffffc4;
  type_2 *in_stack_ffffffc8;
  
  var_4();
  if ((this->feature_1_ & 1) != 0) {
    pOVar4 = (var_1<64> *)var_5(0x78);
    pOVar4->got_ = got;
    var_3 = &pOVar4->free_list_;
    *(type_3 *)&pOVar4->field_0x4 = 0;
    pEVar3 = (type_2 *)((var_6 + 1) * 0x10);
    *(type_3 *)&pOVar4->field_0x8 = 0;
    *(type_2 **)&pOVar4->field_0xc = pEVar3;
    *(type_1 *)&pOVar4->field_0x10 = var_6 + 1 >> 0x1c;
    *(type_3 *)&pOVar4->field_0x20 = 0;
    pOVar4->got_plt_ = got_plt;
    pOVar4->field_0x1c = pOVar4->field_0x1c & 0xe0 | 2;
    pOVar4->plt_eh_frame_cie_size = var_7 + 0x2d9273;
    pOVar4->count_ = var_6;
    *(type_3 *)&pOVar4->field_0x24 = 0x10;
    *(type_3 *)&pOVar4->field_0x28 = 0;
    *(type_3 *)&pOVar4->field_0x14 = 0xffffffff;
    *(type_3 *)&pOVar4->field_0x18 = 0xffffffff;
    pOVar4->tlsdesc_rel_ = (type_4 *)0x0;
    pOVar4->irelative_rel_ = (type_4 *)0x0;
    pOVar4->got_irelative_ = got_irelative;
    pOVar4->irelative_count_ = 0;
    pOVar4->tlsdesc_got_offset_ = 0xffffffff;
    (pOVar4->free_list_).list_.
    super__List_base<gold::Free_list::var_8,_std::allocator<gold::Free_list::var_8>var_9>
    ._M_impl._M_node.super__List_node_base._M_prev = (type_5 *)var_3;
    (pOVar4->free_list_).list_.
    super__List_base<gold::Free_list::var_8,_std::allocator<gold::Free_list::var_8>var_9>
    ._M_impl._M_node.super__List_node_base._M_next = (type_5 *)var_3;
    (pOVar4->free_list_).list_.
    super__List_base<gold::Free_list::var_8,_std::allocator<gold::Free_list::var_8>var_9>
    ._M_impl._M_node._M_size = 0;
    (pOVar4->free_list_).last_remove_._M_node = (type_5 *)var_3;
    (pOVar4->free_list_).extend_ = false;
    *(type_3 *)&(pOVar4->free_list_).length_ = 0;
    *(type_3 *)((int)&(pOVar4->free_list_).length_ + 4) = 0;
    *(type_3 *)&(pOVar4->free_list_).min_hole_ = 0;
    *(type_3 *)((int)&(pOVar4->free_list_).min_hole_ + 4) = 0;
                    /* try { // try from 00060192 to 000601be has its CatchHandler @ 00060203 */
    var_1<64>::var_10(in_stack_ffffffc4,in_stack_ffffffc8);
    gold::Free_list::var_10(var_3,pEVar3);
    gold::Free_list::var_11(var_3,(char *)0x0);
    pOVar4[1].plt_eh_frame_cie_size = 0;
    pOVar4->plt_eh_frame_cie_size = var_7 + 0x2d971f;
    return pOVar4;
  }
  if (*(int *)(*(int *)(var_12 + var_7 + 0x82) + 8) != 0) {
    uVar2 = var_6 + 1 >> 0x1c;
    pEVar3 = (type_2 *)((var_6 + 1) * 0x10);
    if (*(char *)(*(int *)(*(int *)(var_12 + var_7 + 0x82) + 8) + 0x4d75) == '\0')
    {
      pOVar4 = (var_1<64> *)var_5(0x74);
      *(type_3 *)&pOVar4->field_0x4 = 0;
      *(type_3 *)&pOVar4->field_0x8 = 0;
      var_3 = &pOVar4->free_list_;
      *(type_3 *)&pOVar4->field_0x24 = 0x10;
      *(type_3 *)&pOVar4->field_0x28 = 0;
      *(type_3 *)&pOVar4->field_0x20 = 0;
      pOVar4->got_ = got;
      *(type_2 **)&pOVar4->field_0xc = pEVar3;
      *(type_1 *)&pOVar4->field_0x10 = uVar2;
      pOVar4->got_plt_ = got_plt;
      pOVar4->count_ = var_6;
      pOVar4->field_0x1c = pOVar4->field_0x1c & 0xe0 | 2;
      pOVar4->plt_eh_frame_cie_size = var_7 + 0x2d9273;
      *(type_3 *)&pOVar4->field_0x14 = 0xffffffff;
      *(type_3 *)&pOVar4->field_0x18 = 0xffffffff;
      pOVar4->tlsdesc_rel_ = (type_4 *)0x0;
      pOVar4->irelative_rel_ = (type_4 *)0x0;
      pOVar4->got_irelative_ = got_irelative;
      pOVar4->irelative_count_ = 0;
      pOVar4->tlsdesc_got_offset_ = 0xffffffff;
      (pOVar4->free_list_).list_.
      super__List_base<gold::Free_list::var_8,_std::allocator<gold::Free_list::var_8>var_9>
      ._M_impl._M_node.super__List_node_base._M_prev = (type_5 *)var_3;
      (pOVar4->free_list_).list_.
      super__List_base<gold::Free_list::var_8,_std::allocator<gold::Free_list::var_8>var_9>
      ._M_impl._M_node.super__List_node_base._M_next = (type_5 *)var_3;
      (pOVar4->free_list_).list_.
      super__List_base<gold::Free_list::var_8,_std::allocator<gold::Free_list::var_8>var_9>
      ._M_impl._M_node._M_size = 0;
      (pOVar4->free_list_).last_remove_._M_node = (type_5 *)var_3;
      (pOVar4->free_list_).extend_ = false;
      *(type_3 *)&(pOVar4->free_list_).length_ = 0;
      *(type_3 *)((int)&(pOVar4->free_list_).length_ + 4) = 0;
      *(type_3 *)&(pOVar4->free_list_).min_hole_ = 0;
      *(type_3 *)((int)&(pOVar4->free_list_).min_hole_ + 4) = 0;
                    /* try { // try from 0005ff49 to 0005ff75 has its CatchHandler @ 000601f3 */
      var_1<64>::var_10(in_stack_ffffffc4,in_stack_ffffffc8);
      gold::Free_list::var_10(var_3,pEVar3);
      gold::Free_list::var_11(var_3,(char *)0x0);
      pOVar4->plt_eh_frame_cie_size = var_7 + 0x2d982f;
      return pOVar4;
    }
    pOVar4 = (var_1<64> *)var_5(0x78);
    *(type_3 *)&pOVar4->field_0x4 = 0;
    *(type_3 *)&pOVar4->field_0x8 = 0;
    var_3 = &pOVar4->free_list_;
    *(type_3 *)&pOVar4->field_0x24 = 0x10;
    *(type_3 *)&pOVar4->field_0x28 = 0;
    *(type_3 *)&pOVar4->field_0x20 = 0;
    pOVar4->got_ = got;
    *(type_2 **)&pOVar4->field_0xc = pEVar3;
    pOVar4->got_plt_ = got_plt;
    *(type_1 *)&pOVar4->field_0x10 = uVar2;
    pOVar4->got_irelative_ = got_irelative;
    pOVar4->field_0x1c = pOVar4->field_0x1c & 0xe0 | 2;
    pOVar4->plt_eh_frame_cie_size = var_7 + 0x2d9273;
    *(type_3 *)&pOVar4->field_0x14 = 0xffffffff;
    *(type_3 *)&pOVar4->field_0x18 = 0xffffffff;
    pOVar4->tlsdesc_rel_ = (type_4 *)0x0;
    pOVar4->irelative_rel_ = (type_4 *)0x0;
    pOVar4->count_ = var_6;
    pOVar4->irelative_count_ = 0;
    pOVar4->tlsdesc_got_offset_ = 0xffffffff;
    (pOVar4->free_list_).list_.
    super__List_base<gold::Free_list::var_8,_std::allocator<gold::Free_list::var_8>var_9>
    ._M_impl._M_node.super__List_node_base._M_prev = (type_5 *)var_3;
    (pOVar4->free_list_).list_.
    super__List_base<gold::Free_list::var_8,_std::allocator<gold::Free_list::var_8>var_9>
    ._M_impl._M_node.super__List_node_base._M_next = (type_5 *)var_3;
    (pOVar4->free_list_).list_.
    super__List_base<gold::Free_list::var_8,_std::allocator<gold::Free_list::var_8>var_9>
    ._M_impl._M_node._M_size = 0;
    (pOVar4->free_list_).last_remove_._M_node = (type_5 *)var_3;
    (pOVar4->free_list_).extend_ = false;
    *(type_3 *)&(pOVar4->free_list_).length_ = 0;
    *(type_3 *)((int)&(pOVar4->free_list_).length_ + 4) = 0;
    *(type_3 *)&(pOVar4->free_list_).min_hole_ = 0;
    *(type_3 *)((int)&(pOVar4->free_list_).min_hole_ + 4) = 0;
                    /* try { // try from 00060063 to 0006008f has its CatchHandler @ 000601fb */
    var_1<64>::var_10(in_stack_ffffffc4,in_stack_ffffffc8);
    gold::Free_list::var_10(var_3,pEVar3);
    gold::Free_list::var_11(var_3,(char *)0x0);
    pOVar4[1].plt_eh_frame_cie_size = 0;
    pOVar4->plt_eh_frame_cie_size = var_7 + 0x2d9587;
    return pOVar4;
  }
                    /* WARNING: Subroutine does not return */
  gold::var_13
            ((char *)(std::var_14::var_14 + var_7 + 4),0x5c,(char *)(var_7 + 0x1f150f));
}


(translation_unit (function_definition type: (primitive_type) declarator: (pointer_declarator declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier))))) body: (compound_statement (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: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_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: (binary_expression left: (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)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_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))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (number_literal) (number_literal) (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))) (return_statement (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: (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: (identifier)) right: (number_literal))))) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal))))) right: (number_literal))))) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_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: (binary_expression left: (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)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_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))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (number_literal) (number_literal) (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))) (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_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: (binary_expression left: (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)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_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))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (number_literal) (number_literal) (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))) (return_statement (identifier)))) (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))))))))

int * MASKED(int param_1,undefined4 param_2,int param_3,int param_4,int param_5,int param_6)

{
  int *piVar1;
  uint uVar2;
  int iVar3;
  int *piVar4;
  int unaff_EDI;
  
  FUN_00058c4a();
  if ((*(byte *)(param_1 + 0x68) & 1) != 0) {
    piVar4 = (int *)FUN_001aa8c0(0x78);
    piVar4[0xe] = param_3;
    piVar1 = piVar4 + 0x14;
    piVar4[1] = 0;
    uVar2 = param_6 + 1U >> 0x1c;
    iVar3 = (param_6 + 1U) * 0x10;
    piVar4[2] = 0;
    piVar4[3] = iVar3;
    piVar4[4] = uVar2;
    piVar4[8] = 0;
    piVar4[0xf] = param_4;
    *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;
    *piVar4 = unaff_EDI + 0x2d9273;
    piVar4[0x11] = param_6;
    piVar4[9] = 0x10;
    piVar4[10] = 0;
    piVar4[5] = -1;
    piVar4[6] = -1;
    piVar4[0xc] = 0;
    piVar4[0xd] = 0;
    piVar4[0x10] = param_5;
    piVar4[0x12] = 0;
    piVar4[0x13] = -1;
    piVar4[0x15] = (int)piVar1;
    piVar4[0x14] = (int)piVar1;
    piVar4[0x16] = 0;
    piVar4[0x17] = (int)piVar1;
    *(undefined1 *)(piVar4 + 0x18) = 0;
    piVar4[0x19] = 0;
    piVar4[0x1a] = 0;
    piVar4[0x1b] = 0;
    piVar4[0x1c] = 0;
                    /* try { // try from 00060192 to 000601be has its CatchHandler @ 00060203 */
    FUN_0005d770();
    FUN_000a8120(piVar1,iVar3,uVar2,0);
    FUN_000a81a0(piVar1,0,0,0x10,0);
    piVar4[0x1d] = 0;
    *piVar4 = unaff_EDI + 0x2d971f;
    return piVar4;
  }
  if (*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) != 0) {
    uVar2 = param_6 + 1U >> 0x1c;
    iVar3 = (param_6 + 1U) * 0x10;
    if (*(char *)(*(int *)(*(int *)(BYTE_ARRAY_002df445 + unaff_EDI + 0x82) + 8) + 0x4d75) == '\0')
    {
      piVar4 = (int *)FUN_001aa8c0(0x74);
      piVar4[1] = 0;
      piVar4[2] = 0;
      piVar1 = piVar4 + 0x14;
      piVar4[9] = 0x10;
      piVar4[10] = 0;
      piVar4[8] = 0;
      piVar4[0xe] = param_3;
      piVar4[3] = iVar3;
      piVar4[4] = uVar2;
      piVar4[0xf] = param_4;
      piVar4[0x11] = param_6;
      *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;
      *piVar4 = unaff_EDI + 0x2d9273;
      piVar4[5] = -1;
      piVar4[6] = -1;
      piVar4[0xc] = 0;
      piVar4[0xd] = 0;
      piVar4[0x10] = param_5;
      piVar4[0x12] = 0;
      piVar4[0x13] = -1;
      piVar4[0x15] = (int)piVar1;
      piVar4[0x14] = (int)piVar1;
      piVar4[0x16] = 0;
      piVar4[0x17] = (int)piVar1;
      *(undefined1 *)(piVar4 + 0x18) = 0;
      piVar4[0x19] = 0;
      piVar4[0x1a] = 0;
      piVar4[0x1b] = 0;
      piVar4[0x1c] = 0;
                    /* try { // try from 0005ff49 to 0005ff75 has its CatchHandler @ 000601f3 */
      FUN_0005d770();
      FUN_000a8120(piVar1,iVar3,uVar2,0);
      FUN_000a81a0(piVar1,0,0,0x10,0);
      *piVar4 = unaff_EDI + 0x2d982f;
      return piVar4;
    }
    piVar4 = (int *)FUN_001aa8c0(0x78);
    piVar4[1] = 0;
    piVar4[2] = 0;
    piVar1 = piVar4 + 0x14;
    piVar4[9] = 0x10;
    piVar4[10] = 0;
    piVar4[8] = 0;
    piVar4[0xe] = param_3;
    piVar4[3] = iVar3;
    piVar4[0xf] = param_4;
    piVar4[4] = uVar2;
    piVar4[0x10] = param_5;
    *(byte *)(piVar4 + 7) = *(byte *)(piVar4 + 7) & 0xe0 | 2;
    *piVar4 = unaff_EDI + 0x2d9273;
    piVar4[5] = -1;
    piVar4[6] = -1;
    piVar4[0xc] = 0;
    piVar4[0xd] = 0;
    piVar4[0x11] = param_6;
    piVar4[0x12] = 0;
    piVar4[0x13] = -1;
    piVar4[0x15] = (int)piVar1;
    piVar4[0x14] = (int)piVar1;
    piVar4[0x16] = 0;
    piVar4[0x17] = (int)piVar1;
    *(undefined1 *)(piVar4 + 0x18) = 0;
    piVar4[0x19] = 0;
    piVar4[0x1a] = 0;
    piVar4[0x1b] = 0;
    piVar4[0x1c] = 0;
                    /* try { // try from 00060063 to 0006008f has its CatchHandler @ 000601fb */
    FUN_0005d770();
    FUN_000a8120(piVar1,iVar3,uVar2,0);
    FUN_000a81a0(piVar1,0,0,0x10,0);
    piVar4[0x1d] = 0;
    *piVar4 = unaff_EDI + 0x2d9587;
    return piVar4;
  }
                    /* WARNING: Subroutine does not return */
  FUN_0008b620(unaff_EDI + 0x1e6444,0x5c,unaff_EDI + 0x1f150f);
}

