
/* 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) */

Output_data_plt_x86_64<64> * __thiscall
anon_unknown.dwarf_32e241::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)

{
  Free_list *pFVar1;
  Output_data_plt_x86_64<64> *pOVar2;
  int unaff_EDI;
  Output_data_plt_x86_64<64> *in_stack_ffffffd4;
  EVP_PKEY_CTX *in_stack_ffffffd8;
  
  __x86_get_pc_thunk_di();
  if ((this->feature_1_ & 1) != 0) {
    pOVar2 = (Output_data_plt_x86_64<64> *)operator_new(0x78);
    *(undefined4 *)&pOVar2->field_0x4 = 0;
    *(undefined4 *)&pOVar2->field_0x8 = 0;
    pFVar1 = &pOVar2->free_list_;
    *(undefined4 *)&pOVar2->field_0xc = 0;
    *(undefined4 *)&pOVar2->field_0x10 = 0;
    *(undefined4 *)&pOVar2->field_0x14 = 0xffffffff;
    *(undefined4 *)&pOVar2->field_0x18 = 0xffffffff;
    pOVar2->field_0x1c = pOVar2->field_0x1c & 0xe0;
    *(undefined4 *)&pOVar2->field_0x20 = 0;
    *(undefined4 *)&pOVar2->field_0x24 = 0x10;
    *(undefined4 *)&pOVar2->field_0x28 = 0;
    pOVar2->plt_eh_frame_cie_size = unaff_EDI + 0x561ddd;
    pOVar2->tlsdesc_rel_ = (Reloc_section *)0x0;
    pOVar2->got_ = got;
    pOVar2->irelative_rel_ = (Reloc_section *)0x0;
    pOVar2->got_plt_ = got_plt;
    pOVar2->count_ = 0;
    pOVar2->got_irelative_ = got_irelative;
    pOVar2->irelative_count_ = 0;
    pOVar2->tlsdesc_got_offset_ = 0xffffffff;
    (pOVar2->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;
    (pOVar2->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;
    (pOVar2->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;
    (pOVar2->free_list_).last_remove_._M_node = (_List_node_base *)pFVar1;
    (pOVar2->free_list_).extend_ = false;
    *(undefined4 *)&(pOVar2->free_list_).length_ = 0;
    *(undefined4 *)((int)&(pOVar2->free_list_).length_ + 4) = 0;
    *(undefined4 *)&(pOVar2->free_list_).min_hole_ = 0;
    *(undefined4 *)((int)&(pOVar2->free_list_).min_hole_ + 4) = 0;
                    /* try { // try from 0007a7b6 to 0007a7ba has its CatchHandler @ 0007a7fe */
    Output_data_plt_x86_64<64>::init(in_stack_ffffffd4,in_stack_ffffffd8);
    pOVar2[1].plt_eh_frame_cie_size = 0;
    pOVar2->plt_eh_frame_cie_size = unaff_EDI + 0x562299;
    return pOVar2;
  }
  if (*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) != 0) {
    if (*(char *)(*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) + 0x4d75) == '\0') {
      pOVar2 = (Output_data_plt_x86_64<64> *)operator_new(0x74);
      *(undefined4 *)&pOVar2->field_0x4 = 0;
      *(undefined4 *)&pOVar2->field_0x8 = 0;
      pFVar1 = &pOVar2->free_list_;
      *(undefined4 *)&pOVar2->field_0xc = 0;
      *(undefined4 *)&pOVar2->field_0x10 = 0;
      *(undefined4 *)&pOVar2->field_0x14 = 0xffffffff;
      *(undefined4 *)&pOVar2->field_0x18 = 0xffffffff;
      pOVar2->field_0x1c = pOVar2->field_0x1c & 0xe0;
      *(undefined4 *)&pOVar2->field_0x20 = 0;
      *(undefined4 *)&pOVar2->field_0x24 = 0x10;
      *(undefined4 *)&pOVar2->field_0x28 = 0;
      pOVar2->plt_eh_frame_cie_size = unaff_EDI + 0x561ddd;
      pOVar2->tlsdesc_rel_ = (Reloc_section *)0x0;
      pOVar2->got_ = got;
      pOVar2->irelative_rel_ = (Reloc_section *)0x0;
      pOVar2->got_plt_ = got_plt;
      pOVar2->count_ = 0;
      pOVar2->got_irelative_ = got_irelative;
      pOVar2->irelative_count_ = 0;
      pOVar2->tlsdesc_got_offset_ = 0xffffffff;
      (pOVar2->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;
      (pOVar2->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;
      (pOVar2->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;
      (pOVar2->free_list_).last_remove_._M_node = (_List_node_base *)pFVar1;
      (pOVar2->free_list_).extend_ = false;
      *(undefined4 *)&(pOVar2->free_list_).length_ = 0;
      *(undefined4 *)((int)&(pOVar2->free_list_).length_ + 4) = 0;
      *(undefined4 *)&(pOVar2->free_list_).min_hole_ = 0;
      *(undefined4 *)((int)&(pOVar2->free_list_).min_hole_ + 4) = 0;
                    /* try { // try from 0007a5de to 0007a5e2 has its CatchHandler @ 0007a7ec */
      Output_data_plt_x86_64<64>::init(in_stack_ffffffd4,in_stack_ffffffd8);
      pOVar2->plt_eh_frame_cie_size = unaff_EDI + 0x5623a9;
      return pOVar2;
    }
    pOVar2 = (Output_data_plt_x86_64<64> *)operator_new(0x78);
    *(undefined4 *)&pOVar2->field_0x4 = 0;
    *(undefined4 *)&pOVar2->field_0x8 = 0;
    pFVar1 = &pOVar2->free_list_;
    *(undefined4 *)&pOVar2->field_0xc = 0;
    *(undefined4 *)&pOVar2->field_0x10 = 0;
    *(undefined4 *)&pOVar2->field_0x14 = 0xffffffff;
    *(undefined4 *)&pOVar2->field_0x18 = 0xffffffff;
    pOVar2->field_0x1c = pOVar2->field_0x1c & 0xe0;
    *(undefined4 *)&pOVar2->field_0x20 = 0;
    *(undefined4 *)&pOVar2->field_0x24 = 0x10;
    *(undefined4 *)&pOVar2->field_0x28 = 0;
    pOVar2->plt_eh_frame_cie_size = unaff_EDI + 0x561ddd;
    pOVar2->tlsdesc_rel_ = (Reloc_section *)0x0;
    pOVar2->got_ = got;
    pOVar2->irelative_rel_ = (Reloc_section *)0x0;
    pOVar2->got_plt_ = got_plt;
    pOVar2->count_ = 0;
    pOVar2->got_irelative_ = got_irelative;
    pOVar2->irelative_count_ = 0;
    pOVar2->tlsdesc_got_offset_ = 0xffffffff;
    (pOVar2->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;
    (pOVar2->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;
    (pOVar2->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;
    (pOVar2->free_list_).last_remove_._M_node = (_List_node_base *)pFVar1;
    (pOVar2->free_list_).extend_ = false;
    *(undefined4 *)&(pOVar2->free_list_).length_ = 0;
    *(undefined4 *)((int)&(pOVar2->free_list_).length_ + 4) = 0;
    *(undefined4 *)&(pOVar2->free_list_).min_hole_ = 0;
    *(undefined4 *)((int)&(pOVar2->free_list_).min_hole_ + 4) = 0;
                    /* try { // try from 0007a6c6 to 0007a6ca has its CatchHandler @ 0007a7f5 */
    Output_data_plt_x86_64<64>::init(in_stack_ffffffd4,in_stack_ffffffd8);
    pOVar2[1].plt_eh_frame_cie_size = 0;
    pOVar2->plt_eh_frame_cie_size = unaff_EDI + 0x562101;
    return pOVar2;
  }
                    /* WARNING: Subroutine does not return */
  gold::do_gold_unreachable((char *)(unaff_EDI + 0x3cdd96),0x5c,&UNK_003d8e61 + unaff_EDI);
}



int * FUN_0007a4d0(int param_1,undefined4 param_2,int param_3,int param_4,int param_5)

{
  int *piVar1;
  int *piVar2;
  int unaff_EDI;
  
  FUN_00074f0a();
  if ((*(byte *)(param_1 + 0x68) & 1) != 0) {
    piVar2 = (int *)FUN_003ac4d0(0x78);
    piVar2[1] = 0;
    piVar2[2] = 0;
    piVar1 = piVar2 + 0x14;
    piVar2[3] = 0;
    piVar2[4] = 0;
    piVar2[5] = -1;
    piVar2[6] = -1;
    *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;
    piVar2[8] = 0;
    piVar2[9] = 0x10;
    piVar2[10] = 0;
    *piVar2 = unaff_EDI + 0x561ddd;
    piVar2[0xc] = 0;
    piVar2[0xe] = param_3;
    piVar2[0xd] = 0;
    piVar2[0xf] = param_4;
    piVar2[0x11] = 0;
    piVar2[0x10] = param_5;
    piVar2[0x12] = 0;
    piVar2[0x13] = -1;
    piVar2[0x15] = (int)piVar1;
    piVar2[0x14] = (int)piVar1;
    piVar2[0x16] = 0;
    piVar2[0x17] = (int)piVar1;
    *(undefined1 *)(piVar2 + 0x18) = 0;
    piVar2[0x19] = 0;
    piVar2[0x1a] = 0;
    piVar2[0x1b] = 0;
    piVar2[0x1c] = 0;
                    /* try { // try from 0007a7b6 to 0007a7ba has its CatchHandler @ 0007a7fe */
    FUN_00079a30();
    piVar2[0x1d] = 0;
    *piVar2 = unaff_EDI + 0x562299;
    return piVar2;
  }
  if (*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) != 0) {
    if (*(char *)(*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) + 0x4d75) == '\0') {
      piVar2 = (int *)FUN_003ac4d0(0x74);
      piVar2[1] = 0;
      piVar2[2] = 0;
      piVar1 = piVar2 + 0x14;
      piVar2[3] = 0;
      piVar2[4] = 0;
      piVar2[5] = -1;
      piVar2[6] = -1;
      *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;
      piVar2[8] = 0;
      piVar2[9] = 0x10;
      piVar2[10] = 0;
      *piVar2 = unaff_EDI + 0x561ddd;
      piVar2[0xc] = 0;
      piVar2[0xe] = param_3;
      piVar2[0xd] = 0;
      piVar2[0xf] = param_4;
      piVar2[0x11] = 0;
      piVar2[0x10] = param_5;
      piVar2[0x12] = 0;
      piVar2[0x13] = -1;
      piVar2[0x15] = (int)piVar1;
      piVar2[0x14] = (int)piVar1;
      piVar2[0x16] = 0;
      piVar2[0x17] = (int)piVar1;
      *(undefined1 *)(piVar2 + 0x18) = 0;
      piVar2[0x19] = 0;
      piVar2[0x1a] = 0;
      piVar2[0x1b] = 0;
      piVar2[0x1c] = 0;
                    /* try { // try from 0007a5de to 0007a5e2 has its CatchHandler @ 0007a7ec */
      FUN_00079a30();
      *piVar2 = unaff_EDI + 0x5623a9;
      return piVar2;
    }
    piVar2 = (int *)FUN_003ac4d0(0x78);
    piVar2[1] = 0;
    piVar2[2] = 0;
    piVar1 = piVar2 + 0x14;
    piVar2[3] = 0;
    piVar2[4] = 0;
    piVar2[5] = -1;
    piVar2[6] = -1;
    *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;
    piVar2[8] = 0;
    piVar2[9] = 0x10;
    piVar2[10] = 0;
    *piVar2 = unaff_EDI + 0x561ddd;
    piVar2[0xc] = 0;
    piVar2[0xe] = param_3;
    piVar2[0xd] = 0;
    piVar2[0xf] = param_4;
    piVar2[0x11] = 0;
    piVar2[0x10] = param_5;
    piVar2[0x12] = 0;
    piVar2[0x13] = -1;
    piVar2[0x15] = (int)piVar1;
    piVar2[0x14] = (int)piVar1;
    piVar2[0x16] = 0;
    piVar2[0x17] = (int)piVar1;
    *(undefined1 *)(piVar2 + 0x18) = 0;
    piVar2[0x19] = 0;
    piVar2[0x1a] = 0;
    piVar2[0x1b] = 0;
    piVar2[0x1c] = 0;
                    /* try { // try from 0007a6c6 to 0007a6ca has its CatchHandler @ 0007a7f5 */
    FUN_00079a30();
    piVar2[0x1d] = 0;
    *piVar2 = unaff_EDI + 0x562101;
    return piVar2;
  }
                    /* WARNING: Subroutine does not return */
  FUN_002446e0(unaff_EDI + 0x3cdd96,0x5c,unaff_EDI + 0x3d8e61,0);
}


PUSH EBP
PUSH EDI
CALL 0x00074f0a
ADD EDI,0x56fb29
PUSH ESI
PUSH EBX
SUB ESP,0x1c
MOV EAX,dword ptr [ESP + 0x30]
TEST byte ptr [EAX + 0x68],0x1
JNZ 0x0007a6e8
LEA EAX,[EDI + 0x7c8]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x0007a7d4
CMP byte ptr [EAX + 0x4d75],0x0
JNZ 0x0007a5f8
SUB ESP,0xc
MOV EBX,EDI
PUSH 0x74
CALL 0x003ac4d0
MOV ESI,EAX
MOV dword ptr [EAX + 0x4],0x0
MOV dword ptr [EAX + 0x8],0x0
LEA EBP,[ESI + 0x50]
MOV dword ptr [EAX + 0xc],0x0
MOV dword ptr [EAX + 0x10],0x0
MOV dword ptr [EAX + 0x14],0xffffffff
MOV dword ptr [EAX + 0x18],0xffffffff
AND byte ptr [EAX + 0x1c],0xe0
MOV dword ptr [EAX + 0x20],0x0
MOV dword ptr [EAX + 0x24],0x10
MOV dword ptr [EAX + 0x28],0x0
LEA EAX,[EDI + 0xffff22b4]
MOV dword ptr [ESI],EAX
MOV EAX,dword ptr [ESP + 0x48]
MOV dword ptr [ESI + 0x30],0x0
MOV dword ptr [ESI + 0x38],EAX
MOV EAX,dword ptr [ESP + 0x4c]
MOV dword ptr [ESI + 0x34],0x0
MOV dword ptr [ESI + 0x3c],EAX
MOV EAX,dword ptr [ESP + 0x50]
ADD ESP,0x10
MOV dword ptr [ESI + 0x44],0x0
MOV dword ptr [ESI + 0x40],EAX
LEA EAX,[ESI + 0x2c]
MOV dword ptr [ESI + 0x48],0x0
MOV dword ptr [ESI + 0x4c],0xffffffff
MOV dword ptr [ESI + 0x54],EBP
MOV dword ptr [ESI + 0x50],EBP
MOV dword ptr [ESI + 0x58],0x0
MOV dword ptr [ESI + 0x5c],EBP
MOV byte ptr [ESI + 0x60],0x0
MOV dword ptr [ESI + 0x64],0x0
MOV dword ptr [ESI + 0x68],0x0
MOV dword ptr [ESI + 0x6c],0x0
MOV dword ptr [ESI + 0x70],0x0
MOV EDX,dword ptr [ESP + 0x34]
CALL 0x00079a30
LEA EAX,[EDI + 0xffff2880]
MOV dword ptr [ESI],EAX
ADD ESP,0x1c
MOV EAX,ESI
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0xc
MOV EBX,EDI
PUSH 0x78
CALL 0x003ac4d0
MOV ESI,EAX
MOV dword ptr [EAX + 0x4],0x0
MOV dword ptr [EAX + 0x8],0x0
LEA EBP,[ESI + 0x50]
MOV dword ptr [EAX + 0xc],0x0
MOV dword ptr [EAX + 0x10],0x0
MOV dword ptr [EAX + 0x14],0xffffffff
MOV dword ptr [EAX + 0x18],0xffffffff
AND byte ptr [EAX + 0x1c],0xe0
MOV dword ptr [EAX + 0x20],0x0
MOV dword ptr [EAX + 0x24],0x10
MOV dword ptr [EAX + 0x28],0x0
LEA EAX,[EDI + 0xffff22b4]
MOV dword ptr [ESI],EAX
MOV EAX,dword ptr [ESP + 0x48]
MOV dword ptr [ESI + 0x30],0x0
MOV dword ptr [ESI + 0x38],EAX
MOV EAX,dword ptr [ESP + 0x4c]
MOV dword ptr [ESI + 0x34],0x0
MOV dword ptr [ESI + 0x3c],EAX
MOV EAX,dword ptr [ESP + 0x50]
ADD ESP,0x10
MOV dword ptr [ESI + 0x44],0x0
MOV dword ptr [ESI + 0x40],EAX
LEA EAX,[ESI + 0x2c]
MOV dword ptr [ESI + 0x48],0x0
MOV dword ptr [ESI + 0x4c],0xffffffff
MOV dword ptr [ESI + 0x54],EBP
MOV dword ptr [ESI + 0x50],EBP
MOV dword ptr [ESI + 0x58],0x0
MOV dword ptr [ESI + 0x5c],EBP
MOV byte ptr [ESI + 0x60],0x0
MOV dword ptr [ESI + 0x64],0x0
MOV dword ptr [ESI + 0x68],0x0
MOV dword ptr [ESI + 0x6c],0x0
MOV dword ptr [ESI + 0x70],0x0
MOV EDX,dword ptr [ESP + 0x34]
CALL 0x00079a30
LEA EAX,[EDI + 0xffff25d8]
MOV dword ptr [ESI + 0x74],0x0
MOV dword ptr [ESI],EAX
ADD ESP,0x1c
MOV EAX,ESI
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0xc
MOV EBX,EDI
PUSH 0x78
CALL 0x003ac4d0
MOV ESI,EAX
MOV dword ptr [EAX + 0x4],0x0
MOV dword ptr [EAX + 0x8],0x0
LEA EBP,[ESI + 0x50]
MOV dword ptr [EAX + 0xc],0x0
MOV dword ptr [EAX + 0x10],0x0
MOV dword ptr [EAX + 0x14],0xffffffff
MOV dword ptr [EAX + 0x18],0xffffffff
AND byte ptr [EAX + 0x1c],0xe0
MOV dword ptr [EAX + 0x20],0x0
MOV dword ptr [EAX + 0x24],0x10
MOV dword ptr [EAX + 0x28],0x0
LEA EAX,[EDI + 0xffff22b4]
MOV dword ptr [ESI],EAX
MOV EAX,dword ptr [ESP + 0x48]
MOV dword ptr [ESI + 0x30],0x0
MOV dword ptr [ESI + 0x38],EAX
MOV EAX,dword ptr [ESP + 0x4c]
MOV dword ptr [ESI + 0x34],0x0
MOV dword ptr [ESI + 0x3c],EAX
MOV EAX,dword ptr [ESP + 0x50]
ADD ESP,0x10
MOV dword ptr [ESI + 0x44],0x0
MOV dword ptr [ESI + 0x40],EAX
LEA EAX,[ESI + 0x2c]
MOV dword ptr [ESI + 0x48],0x0
MOV dword ptr [ESI + 0x4c],0xffffffff
MOV dword ptr [ESI + 0x54],EBP
MOV dword ptr [ESI + 0x50],EBP
MOV dword ptr [ESI + 0x58],0x0
MOV dword ptr [ESI + 0x5c],EBP
MOV byte ptr [ESI + 0x60],0x0
MOV dword ptr [ESI + 0x64],0x0
MOV dword ptr [ESI + 0x68],0x0
MOV dword ptr [ESI + 0x6c],0x0
MOV dword ptr [ESI + 0x70],0x0
MOV EDX,dword ptr [ESP + 0x34]
CALL 0x00079a30
LEA EAX,[EDI + 0xffff2770]
MOV dword ptr [ESI + 0x74],0x0
MOV dword ptr [ESI],EAX
ADD ESP,0x1c
MOV EAX,ESI
POP EBX
POP ESI
POP EDI
POP EBP
RET
PUSH EAX
LEA EAX,[EDI + 0xffe69338]
MOV EBX,EDI
PUSH EAX
LEA EAX,[EDI + 0xffe5e26d]
PUSH 0x5c
PUSH EAX
CALL 0x002446e0
(translation_unit "int * FUN_0007a4d0(int param_1,undefined4 param_2,int param_3,int param_4,int param_5)\n\n{\n  int *piVar1;\n  int *piVar2;\n  int unaff_EDI;\n  \n  FUN_00074f0a();\n  if ((*(byte *)(param_1 + 0x68) & 1) != 0) {\n    piVar2 = (int *)FUN_003ac4d0(0x78);\n    piVar2[1] = 0;\n    piVar2[2] = 0;\n    piVar1 = piVar2 + 0x14;\n    piVar2[3] = 0;\n    piVar2[4] = 0;\n    piVar2[5] = -1;\n    piVar2[6] = -1;\n    *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n    piVar2[8] = 0;\n    piVar2[9] = 0x10;\n    piVar2[10] = 0;\n    *piVar2 = unaff_EDI + 0x561ddd;\n    piVar2[0xc] = 0;\n    piVar2[0xe] = param_3;\n    piVar2[0xd] = 0;\n    piVar2[0xf] = param_4;\n    piVar2[0x11] = 0;\n    piVar2[0x10] = param_5;\n    piVar2[0x12] = 0;\n    piVar2[0x13] = -1;\n    piVar2[0x15] = (int)piVar1;\n    piVar2[0x14] = (int)piVar1;\n    piVar2[0x16] = 0;\n    piVar2[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar2 + 0x18) = 0;\n    piVar2[0x19] = 0;\n    piVar2[0x1a] = 0;\n    piVar2[0x1b] = 0;\n    piVar2[0x1c] = 0;\n                    /* try { // try from 0007a7b6 to 0007a7ba has its CatchHandler @ 0007a7fe */\n    FUN_00079a30();\n    piVar2[0x1d] = 0;\n    *piVar2 = unaff_EDI + 0x562299;\n    return piVar2;\n  }\n  if (*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) != 0) {\n    if (*(char *)(*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) + 0x4d75) == '\0') {\n      piVar2 = (int *)FUN_003ac4d0(0x74);\n      piVar2[1] = 0;\n      piVar2[2] = 0;\n      piVar1 = piVar2 + 0x14;\n      piVar2[3] = 0;\n      piVar2[4] = 0;\n      piVar2[5] = -1;\n      piVar2[6] = -1;\n      *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n      piVar2[8] = 0;\n      piVar2[9] = 0x10;\n      piVar2[10] = 0;\n      *piVar2 = unaff_EDI + 0x561ddd;\n      piVar2[0xc] = 0;\n      piVar2[0xe] = param_3;\n      piVar2[0xd] = 0;\n      piVar2[0xf] = param_4;\n      piVar2[0x11] = 0;\n      piVar2[0x10] = param_5;\n      piVar2[0x12] = 0;\n      piVar2[0x13] = -1;\n      piVar2[0x15] = (int)piVar1;\n      piVar2[0x14] = (int)piVar1;\n      piVar2[0x16] = 0;\n      piVar2[0x17] = (int)piVar1;\n      *(undefined1 *)(piVar2 + 0x18) = 0;\n      piVar2[0x19] = 0;\n      piVar2[0x1a] = 0;\n      piVar2[0x1b] = 0;\n      piVar2[0x1c] = 0;\n                    /* try { // try from 0007a5de to 0007a5e2 has its CatchHandler @ 0007a7ec */\n      FUN_00079a30();\n      *piVar2 = unaff_EDI + 0x5623a9;\n      return piVar2;\n    }\n    piVar2 = (int *)FUN_003ac4d0(0x78);\n    piVar2[1] = 0;\n    piVar2[2] = 0;\n    piVar1 = piVar2 + 0x14;\n    piVar2[3] = 0;\n    piVar2[4] = 0;\n    piVar2[5] = -1;\n    piVar2[6] = -1;\n    *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n    piVar2[8] = 0;\n    piVar2[9] = 0x10;\n    piVar2[10] = 0;\n    *piVar2 = unaff_EDI + 0x561ddd;\n    piVar2[0xc] = 0;\n    piVar2[0xe] = param_3;\n    piVar2[0xd] = 0;\n    piVar2[0xf] = param_4;\n    piVar2[0x11] = 0;\n    piVar2[0x10] = param_5;\n    piVar2[0x12] = 0;\n    piVar2[0x13] = -1;\n    piVar2[0x15] = (int)piVar1;\n    piVar2[0x14] = (int)piVar1;\n    piVar2[0x16] = 0;\n    piVar2[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar2 + 0x18) = 0;\n    piVar2[0x19] = 0;\n    piVar2[0x1a] = 0;\n    piVar2[0x1b] = 0;\n    piVar2[0x1c] = 0;\n                    /* try { // try from 0007a6c6 to 0007a6ca has its CatchHandler @ 0007a7f5 */\n    FUN_00079a30();\n    piVar2[0x1d] = 0;\n    *piVar2 = unaff_EDI + 0x562101;\n    return piVar2;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_002446e0(unaff_EDI + 0x3cdd96,0x5c,unaff_EDI + 0x3d8e61,0);\n}\n\n" (function_definition "int * FUN_0007a4d0(int param_1,undefined4 param_2,int param_3,int param_4,int param_5)\n\n{\n  int *piVar1;\n  int *piVar2;\n  int unaff_EDI;\n  \n  FUN_00074f0a();\n  if ((*(byte *)(param_1 + 0x68) & 1) != 0) {\n    piVar2 = (int *)FUN_003ac4d0(0x78);\n    piVar2[1] = 0;\n    piVar2[2] = 0;\n    piVar1 = piVar2 + 0x14;\n    piVar2[3] = 0;\n    piVar2[4] = 0;\n    piVar2[5] = -1;\n    piVar2[6] = -1;\n    *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n    piVar2[8] = 0;\n    piVar2[9] = 0x10;\n    piVar2[10] = 0;\n    *piVar2 = unaff_EDI + 0x561ddd;\n    piVar2[0xc] = 0;\n    piVar2[0xe] = param_3;\n    piVar2[0xd] = 0;\n    piVar2[0xf] = param_4;\n    piVar2[0x11] = 0;\n    piVar2[0x10] = param_5;\n    piVar2[0x12] = 0;\n    piVar2[0x13] = -1;\n    piVar2[0x15] = (int)piVar1;\n    piVar2[0x14] = (int)piVar1;\n    piVar2[0x16] = 0;\n    piVar2[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar2 + 0x18) = 0;\n    piVar2[0x19] = 0;\n    piVar2[0x1a] = 0;\n    piVar2[0x1b] = 0;\n    piVar2[0x1c] = 0;\n                    /* try { // try from 0007a7b6 to 0007a7ba has its CatchHandler @ 0007a7fe */\n    FUN_00079a30();\n    piVar2[0x1d] = 0;\n    *piVar2 = unaff_EDI + 0x562299;\n    return piVar2;\n  }\n  if (*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) != 0) {\n    if (*(char *)(*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) + 0x4d75) == '\0') {\n      piVar2 = (int *)FUN_003ac4d0(0x74);\n      piVar2[1] = 0;\n      piVar2[2] = 0;\n      piVar1 = piVar2 + 0x14;\n      piVar2[3] = 0;\n      piVar2[4] = 0;\n      piVar2[5] = -1;\n      piVar2[6] = -1;\n      *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n      piVar2[8] = 0;\n      piVar2[9] = 0x10;\n      piVar2[10] = 0;\n      *piVar2 = unaff_EDI + 0x561ddd;\n      piVar2[0xc] = 0;\n      piVar2[0xe] = param_3;\n      piVar2[0xd] = 0;\n      piVar2[0xf] = param_4;\n      piVar2[0x11] = 0;\n      piVar2[0x10] = param_5;\n      piVar2[0x12] = 0;\n      piVar2[0x13] = -1;\n      piVar2[0x15] = (int)piVar1;\n      piVar2[0x14] = (int)piVar1;\n      piVar2[0x16] = 0;\n      piVar2[0x17] = (int)piVar1;\n      *(undefined1 *)(piVar2 + 0x18) = 0;\n      piVar2[0x19] = 0;\n      piVar2[0x1a] = 0;\n      piVar2[0x1b] = 0;\n      piVar2[0x1c] = 0;\n                    /* try { // try from 0007a5de to 0007a5e2 has its CatchHandler @ 0007a7ec */\n      FUN_00079a30();\n      *piVar2 = unaff_EDI + 0x5623a9;\n      return piVar2;\n    }\n    piVar2 = (int *)FUN_003ac4d0(0x78);\n    piVar2[1] = 0;\n    piVar2[2] = 0;\n    piVar1 = piVar2 + 0x14;\n    piVar2[3] = 0;\n    piVar2[4] = 0;\n    piVar2[5] = -1;\n    piVar2[6] = -1;\n    *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n    piVar2[8] = 0;\n    piVar2[9] = 0x10;\n    piVar2[10] = 0;\n    *piVar2 = unaff_EDI + 0x561ddd;\n    piVar2[0xc] = 0;\n    piVar2[0xe] = param_3;\n    piVar2[0xd] = 0;\n    piVar2[0xf] = param_4;\n    piVar2[0x11] = 0;\n    piVar2[0x10] = param_5;\n    piVar2[0x12] = 0;\n    piVar2[0x13] = -1;\n    piVar2[0x15] = (int)piVar1;\n    piVar2[0x14] = (int)piVar1;\n    piVar2[0x16] = 0;\n    piVar2[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar2 + 0x18) = 0;\n    piVar2[0x19] = 0;\n    piVar2[0x1a] = 0;\n    piVar2[0x1b] = 0;\n    piVar2[0x1c] = 0;\n                    /* try { // try from 0007a6c6 to 0007a6ca has its CatchHandler @ 0007a7f5 */\n    FUN_00079a30();\n    piVar2[0x1d] = 0;\n    *piVar2 = unaff_EDI + 0x562101;\n    return piVar2;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_002446e0(unaff_EDI + 0x3cdd96,0x5c,unaff_EDI + 0x3d8e61,0);\n}" primitive_type (pointer_declarator "* FUN_0007a4d0(int param_1,undefined4 param_2,int param_3,int param_4,int param_5)" * (function_declarator "FUN_0007a4d0(int param_1,undefined4 param_2,int param_3,int param_4,int param_5)" identifier (parameter_list "(int param_1,undefined4 param_2,int param_3,int param_4,int param_5)" ( (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) )))) (compound_statement "{\n  int *piVar1;\n  int *piVar2;\n  int unaff_EDI;\n  \n  FUN_00074f0a();\n  if ((*(byte *)(param_1 + 0x68) & 1) != 0) {\n    piVar2 = (int *)FUN_003ac4d0(0x78);\n    piVar2[1] = 0;\n    piVar2[2] = 0;\n    piVar1 = piVar2 + 0x14;\n    piVar2[3] = 0;\n    piVar2[4] = 0;\n    piVar2[5] = -1;\n    piVar2[6] = -1;\n    *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n    piVar2[8] = 0;\n    piVar2[9] = 0x10;\n    piVar2[10] = 0;\n    *piVar2 = unaff_EDI + 0x561ddd;\n    piVar2[0xc] = 0;\n    piVar2[0xe] = param_3;\n    piVar2[0xd] = 0;\n    piVar2[0xf] = param_4;\n    piVar2[0x11] = 0;\n    piVar2[0x10] = param_5;\n    piVar2[0x12] = 0;\n    piVar2[0x13] = -1;\n    piVar2[0x15] = (int)piVar1;\n    piVar2[0x14] = (int)piVar1;\n    piVar2[0x16] = 0;\n    piVar2[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar2 + 0x18) = 0;\n    piVar2[0x19] = 0;\n    piVar2[0x1a] = 0;\n    piVar2[0x1b] = 0;\n    piVar2[0x1c] = 0;\n                    /* try { // try from 0007a7b6 to 0007a7ba has its CatchHandler @ 0007a7fe */\n    FUN_00079a30();\n    piVar2[0x1d] = 0;\n    *piVar2 = unaff_EDI + 0x562299;\n    return piVar2;\n  }\n  if (*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) != 0) {\n    if (*(char *)(*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) + 0x4d75) == '\0') {\n      piVar2 = (int *)FUN_003ac4d0(0x74);\n      piVar2[1] = 0;\n      piVar2[2] = 0;\n      piVar1 = piVar2 + 0x14;\n      piVar2[3] = 0;\n      piVar2[4] = 0;\n      piVar2[5] = -1;\n      piVar2[6] = -1;\n      *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n      piVar2[8] = 0;\n      piVar2[9] = 0x10;\n      piVar2[10] = 0;\n      *piVar2 = unaff_EDI + 0x561ddd;\n      piVar2[0xc] = 0;\n      piVar2[0xe] = param_3;\n      piVar2[0xd] = 0;\n      piVar2[0xf] = param_4;\n      piVar2[0x11] = 0;\n      piVar2[0x10] = param_5;\n      piVar2[0x12] = 0;\n      piVar2[0x13] = -1;\n      piVar2[0x15] = (int)piVar1;\n      piVar2[0x14] = (int)piVar1;\n      piVar2[0x16] = 0;\n      piVar2[0x17] = (int)piVar1;\n      *(undefined1 *)(piVar2 + 0x18) = 0;\n      piVar2[0x19] = 0;\n      piVar2[0x1a] = 0;\n      piVar2[0x1b] = 0;\n      piVar2[0x1c] = 0;\n                    /* try { // try from 0007a5de to 0007a5e2 has its CatchHandler @ 0007a7ec */\n      FUN_00079a30();\n      *piVar2 = unaff_EDI + 0x5623a9;\n      return piVar2;\n    }\n    piVar2 = (int *)FUN_003ac4d0(0x78);\n    piVar2[1] = 0;\n    piVar2[2] = 0;\n    piVar1 = piVar2 + 0x14;\n    piVar2[3] = 0;\n    piVar2[4] = 0;\n    piVar2[5] = -1;\n    piVar2[6] = -1;\n    *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n    piVar2[8] = 0;\n    piVar2[9] = 0x10;\n    piVar2[10] = 0;\n    *piVar2 = unaff_EDI + 0x561ddd;\n    piVar2[0xc] = 0;\n    piVar2[0xe] = param_3;\n    piVar2[0xd] = 0;\n    piVar2[0xf] = param_4;\n    piVar2[0x11] = 0;\n    piVar2[0x10] = param_5;\n    piVar2[0x12] = 0;\n    piVar2[0x13] = -1;\n    piVar2[0x15] = (int)piVar1;\n    piVar2[0x14] = (int)piVar1;\n    piVar2[0x16] = 0;\n    piVar2[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar2 + 0x18) = 0;\n    piVar2[0x19] = 0;\n    piVar2[0x1a] = 0;\n    piVar2[0x1b] = 0;\n    piVar2[0x1c] = 0;\n                    /* try { // try from 0007a6c6 to 0007a6ca has its CatchHandler @ 0007a7f5 */\n    FUN_00079a30();\n    piVar2[0x1d] = 0;\n    *piVar2 = unaff_EDI + 0x562101;\n    return piVar2;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_002446e0(unaff_EDI + 0x3cdd96,0x5c,unaff_EDI + 0x3d8e61,0);\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "int unaff_EDI;" primitive_type identifier ;) (expression_statement "FUN_00074f0a();" (call_expression "FUN_00074f0a()" identifier (argument_list "()" ( ))) ;) (if_statement "if ((*(byte *)(param_1 + 0x68) & 1) != 0) {\n    piVar2 = (int *)FUN_003ac4d0(0x78);\n    piVar2[1] = 0;\n    piVar2[2] = 0;\n    piVar1 = piVar2 + 0x14;\n    piVar2[3] = 0;\n    piVar2[4] = 0;\n    piVar2[5] = -1;\n    piVar2[6] = -1;\n    *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n    piVar2[8] = 0;\n    piVar2[9] = 0x10;\n    piVar2[10] = 0;\n    *piVar2 = unaff_EDI + 0x561ddd;\n    piVar2[0xc] = 0;\n    piVar2[0xe] = param_3;\n    piVar2[0xd] = 0;\n    piVar2[0xf] = param_4;\n    piVar2[0x11] = 0;\n    piVar2[0x10] = param_5;\n    piVar2[0x12] = 0;\n    piVar2[0x13] = -1;\n    piVar2[0x15] = (int)piVar1;\n    piVar2[0x14] = (int)piVar1;\n    piVar2[0x16] = 0;\n    piVar2[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar2 + 0x18) = 0;\n    piVar2[0x19] = 0;\n    piVar2[0x1a] = 0;\n    piVar2[0x1b] = 0;\n    piVar2[0x1c] = 0;\n                    /* try { // try from 0007a7b6 to 0007a7ba has its CatchHandler @ 0007a7fe */\n    FUN_00079a30();\n    piVar2[0x1d] = 0;\n    *piVar2 = unaff_EDI + 0x562299;\n    return piVar2;\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    piVar2 = (int *)FUN_003ac4d0(0x78);\n    piVar2[1] = 0;\n    piVar2[2] = 0;\n    piVar1 = piVar2 + 0x14;\n    piVar2[3] = 0;\n    piVar2[4] = 0;\n    piVar2[5] = -1;\n    piVar2[6] = -1;\n    *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n    piVar2[8] = 0;\n    piVar2[9] = 0x10;\n    piVar2[10] = 0;\n    *piVar2 = unaff_EDI + 0x561ddd;\n    piVar2[0xc] = 0;\n    piVar2[0xe] = param_3;\n    piVar2[0xd] = 0;\n    piVar2[0xf] = param_4;\n    piVar2[0x11] = 0;\n    piVar2[0x10] = param_5;\n    piVar2[0x12] = 0;\n    piVar2[0x13] = -1;\n    piVar2[0x15] = (int)piVar1;\n    piVar2[0x14] = (int)piVar1;\n    piVar2[0x16] = 0;\n    piVar2[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar2 + 0x18) = 0;\n    piVar2[0x19] = 0;\n    piVar2[0x1a] = 0;\n    piVar2[0x1b] = 0;\n    piVar2[0x1c] = 0;\n                    /* try { // try from 0007a7b6 to 0007a7ba has its CatchHandler @ 0007a7fe */\n    FUN_00079a30();\n    piVar2[0x1d] = 0;\n    *piVar2 = unaff_EDI + 0x562299;\n    return piVar2;\n  }" { (expression_statement "piVar2 = (int *)FUN_003ac4d0(0x78);" (assignment_expression "piVar2 = (int *)FUN_003ac4d0(0x78)" identifier = (cast_expression "(int *)FUN_003ac4d0(0x78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_003ac4d0(0x78)" identifier (argument_list "(0x78)" ( number_literal ))))) ;) (expression_statement "piVar2[1] = 0;" (assignment_expression "piVar2[1] = 0" (subscript_expression "piVar2[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[2] = 0;" (assignment_expression "piVar2[2] = 0" (subscript_expression "piVar2[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar1 = piVar2 + 0x14;" (assignment_expression "piVar1 = piVar2 + 0x14" identifier = (binary_expression "piVar2 + 0x14" identifier + number_literal)) ;) (expression_statement "piVar2[3] = 0;" (assignment_expression "piVar2[3] = 0" (subscript_expression "piVar2[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[4] = 0;" (assignment_expression "piVar2[4] = 0" (subscript_expression "piVar2[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[5] = -1;" (assignment_expression "piVar2[5] = -1" (subscript_expression "piVar2[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[6] = -1;" (assignment_expression "piVar2[6] = -1" (subscript_expression "piVar2[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;" (assignment_expression "*(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar2 + 7)" * (cast_expression "(byte *)(piVar2 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 7)" ( (binary_expression "piVar2 + 7" identifier + number_literal) )))) = (binary_expression "*(byte *)(piVar2 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar2 + 7)" * (cast_expression "(byte *)(piVar2 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 7)" ( (binary_expression "piVar2 + 7" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "piVar2[8] = 0;" (assignment_expression "piVar2[8] = 0" (subscript_expression "piVar2[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[9] = 0x10;" (assignment_expression "piVar2[9] = 0x10" (subscript_expression "piVar2[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[10] = 0;" (assignment_expression "piVar2[10] = 0" (subscript_expression "piVar2[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*piVar2 = unaff_EDI + 0x561ddd;" (assignment_expression "*piVar2 = unaff_EDI + 0x561ddd" (pointer_expression "*piVar2" * identifier) = (binary_expression "unaff_EDI + 0x561ddd" identifier + number_literal)) ;) (expression_statement "piVar2[0xc] = 0;" (assignment_expression "piVar2[0xc] = 0" (subscript_expression "piVar2[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0xe] = param_3;" (assignment_expression "piVar2[0xe] = param_3" (subscript_expression "piVar2[0xe]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar2[0xd] = 0;" (assignment_expression "piVar2[0xd] = 0" (subscript_expression "piVar2[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0xf] = param_4;" (assignment_expression "piVar2[0xf] = param_4" (subscript_expression "piVar2[0xf]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar2[0x11] = 0;" (assignment_expression "piVar2[0x11] = 0" (subscript_expression "piVar2[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x10] = param_5;" (assignment_expression "piVar2[0x10] = param_5" (subscript_expression "piVar2[0x10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar2[0x12] = 0;" (assignment_expression "piVar2[0x12] = 0" (subscript_expression "piVar2[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x13] = -1;" (assignment_expression "piVar2[0x13] = -1" (subscript_expression "piVar2[0x13]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x15] = (int)piVar1;" (assignment_expression "piVar2[0x15] = (int)piVar1" (subscript_expression "piVar2[0x15]" identifier [ number_literal ]) = (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar2[0x14] = (int)piVar1;" (assignment_expression "piVar2[0x14] = (int)piVar1" (subscript_expression "piVar2[0x14]" identifier [ number_literal ]) = (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar2[0x16] = 0;" (assignment_expression "piVar2[0x16] = 0" (subscript_expression "piVar2[0x16]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x17] = (int)piVar1;" (assignment_expression "piVar2[0x17] = (int)piVar1" (subscript_expression "piVar2[0x17]" identifier [ number_literal ]) = (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*(undefined1 *)(piVar2 + 0x18) = 0;" (assignment_expression "*(undefined1 *)(piVar2 + 0x18) = 0" (pointer_expression "*(undefined1 *)(piVar2 + 0x18)" * (cast_expression "(undefined1 *)(piVar2 + 0x18)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 0x18)" ( (binary_expression "piVar2 + 0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar2[0x19] = 0;" (assignment_expression "piVar2[0x19] = 0" (subscript_expression "piVar2[0x19]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x1a] = 0;" (assignment_expression "piVar2[0x1a] = 0" (subscript_expression "piVar2[0x1a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x1b] = 0;" (assignment_expression "piVar2[0x1b] = 0" (subscript_expression "piVar2[0x1b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x1c] = 0;" (assignment_expression "piVar2[0x1c] = 0" (subscript_expression "piVar2[0x1c]" identifier [ number_literal ]) = number_literal) ;) comment (expression_statement "FUN_00079a30();" (call_expression "FUN_00079a30()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar2[0x1d] = 0;" (assignment_expression "piVar2[0x1d] = 0" (subscript_expression "piVar2[0x1d]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*piVar2 = unaff_EDI + 0x562299;" (assignment_expression "*piVar2 = unaff_EDI + 0x562299" (pointer_expression "*piVar2" * identifier) = (binary_expression "unaff_EDI + 0x562299" identifier + number_literal)) ;) (return_statement "return piVar2;" return identifier ;) })) (if_statement "if (*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) != 0) {\n    if (*(char *)(*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) + 0x4d75) == '\0') {\n      piVar2 = (int *)FUN_003ac4d0(0x74);\n      piVar2[1] = 0;\n      piVar2[2] = 0;\n      piVar1 = piVar2 + 0x14;\n      piVar2[3] = 0;\n      piVar2[4] = 0;\n      piVar2[5] = -1;\n      piVar2[6] = -1;\n      *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n      piVar2[8] = 0;\n      piVar2[9] = 0x10;\n      piVar2[10] = 0;\n      *piVar2 = unaff_EDI + 0x561ddd;\n      piVar2[0xc] = 0;\n      piVar2[0xe] = param_3;\n      piVar2[0xd] = 0;\n      piVar2[0xf] = param_4;\n      piVar2[0x11] = 0;\n      piVar2[0x10] = param_5;\n      piVar2[0x12] = 0;\n      piVar2[0x13] = -1;\n      piVar2[0x15] = (int)piVar1;\n      piVar2[0x14] = (int)piVar1;\n      piVar2[0x16] = 0;\n      piVar2[0x17] = (int)piVar1;\n      *(undefined1 *)(piVar2 + 0x18) = 0;\n      piVar2[0x19] = 0;\n      piVar2[0x1a] = 0;\n      piVar2[0x1b] = 0;\n      piVar2[0x1c] = 0;\n                    /* try { // try from 0007a5de to 0007a5e2 has its CatchHandler @ 0007a7ec */\n      FUN_00079a30();\n      *piVar2 = unaff_EDI + 0x5623a9;\n      return piVar2;\n    }\n    piVar2 = (int *)FUN_003ac4d0(0x78);\n    piVar2[1] = 0;\n    piVar2[2] = 0;\n    piVar1 = piVar2 + 0x14;\n    piVar2[3] = 0;\n    piVar2[4] = 0;\n    piVar2[5] = -1;\n    piVar2[6] = -1;\n    *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n    piVar2[8] = 0;\n    piVar2[9] = 0x10;\n    piVar2[10] = 0;\n    *piVar2 = unaff_EDI + 0x561ddd;\n    piVar2[0xc] = 0;\n    piVar2[0xe] = param_3;\n    piVar2[0xd] = 0;\n    piVar2[0xf] = param_4;\n    piVar2[0x11] = 0;\n    piVar2[0x10] = param_5;\n    piVar2[0x12] = 0;\n    piVar2[0x13] = -1;\n    piVar2[0x15] = (int)piVar1;\n    piVar2[0x14] = (int)piVar1;\n    piVar2[0x16] = 0;\n    piVar2[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar2 + 0x18) = 0;\n    piVar2[0x19] = 0;\n    piVar2[0x1a] = 0;\n    piVar2[0x1b] = 0;\n    piVar2[0x1c] = 0;\n                    /* try { // try from 0007a6c6 to 0007a6ca has its CatchHandler @ 0007a7f5 */\n    FUN_00079a30();\n    piVar2[0x1d] = 0;\n    *piVar2 = unaff_EDI + 0x562101;\n    return piVar2;\n  }" if (parenthesized_expression "(*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) != 0)" ( (binary_expression "*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) != 0" (pointer_expression "*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8)" * (cast_expression "(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8)" ( (binary_expression "*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8" (pointer_expression "*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8)" * (cast_expression "(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(BYTE_ARRAY_005702e9 + unaff_EDI + 8)" ( (binary_expression "BYTE_ARRAY_005702e9 + unaff_EDI + 8" (binary_expression "BYTE_ARRAY_005702e9 + unaff_EDI" identifier + identifier) + number_literal) )))) + number_literal) )))) != number_literal) )) (compound_statement "{\n    if (*(char *)(*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) + 0x4d75) == '\0') {\n      piVar2 = (int *)FUN_003ac4d0(0x74);\n      piVar2[1] = 0;\n      piVar2[2] = 0;\n      piVar1 = piVar2 + 0x14;\n      piVar2[3] = 0;\n      piVar2[4] = 0;\n      piVar2[5] = -1;\n      piVar2[6] = -1;\n      *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n      piVar2[8] = 0;\n      piVar2[9] = 0x10;\n      piVar2[10] = 0;\n      *piVar2 = unaff_EDI + 0x561ddd;\n      piVar2[0xc] = 0;\n      piVar2[0xe] = param_3;\n      piVar2[0xd] = 0;\n      piVar2[0xf] = param_4;\n      piVar2[0x11] = 0;\n      piVar2[0x10] = param_5;\n      piVar2[0x12] = 0;\n      piVar2[0x13] = -1;\n      piVar2[0x15] = (int)piVar1;\n      piVar2[0x14] = (int)piVar1;\n      piVar2[0x16] = 0;\n      piVar2[0x17] = (int)piVar1;\n      *(undefined1 *)(piVar2 + 0x18) = 0;\n      piVar2[0x19] = 0;\n      piVar2[0x1a] = 0;\n      piVar2[0x1b] = 0;\n      piVar2[0x1c] = 0;\n                    /* try { // try from 0007a5de to 0007a5e2 has its CatchHandler @ 0007a7ec */\n      FUN_00079a30();\n      *piVar2 = unaff_EDI + 0x5623a9;\n      return piVar2;\n    }\n    piVar2 = (int *)FUN_003ac4d0(0x78);\n    piVar2[1] = 0;\n    piVar2[2] = 0;\n    piVar1 = piVar2 + 0x14;\n    piVar2[3] = 0;\n    piVar2[4] = 0;\n    piVar2[5] = -1;\n    piVar2[6] = -1;\n    *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n    piVar2[8] = 0;\n    piVar2[9] = 0x10;\n    piVar2[10] = 0;\n    *piVar2 = unaff_EDI + 0x561ddd;\n    piVar2[0xc] = 0;\n    piVar2[0xe] = param_3;\n    piVar2[0xd] = 0;\n    piVar2[0xf] = param_4;\n    piVar2[0x11] = 0;\n    piVar2[0x10] = param_5;\n    piVar2[0x12] = 0;\n    piVar2[0x13] = -1;\n    piVar2[0x15] = (int)piVar1;\n    piVar2[0x14] = (int)piVar1;\n    piVar2[0x16] = 0;\n    piVar2[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar2 + 0x18) = 0;\n    piVar2[0x19] = 0;\n    piVar2[0x1a] = 0;\n    piVar2[0x1b] = 0;\n    piVar2[0x1c] = 0;\n                    /* try { // try from 0007a6c6 to 0007a6ca has its CatchHandler @ 0007a7f5 */\n    FUN_00079a30();\n    piVar2[0x1d] = 0;\n    *piVar2 = unaff_EDI + 0x562101;\n    return piVar2;\n  }" { (if_statement "if (*(char *)(*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) + 0x4d75) == '\0') {\n      piVar2 = (int *)FUN_003ac4d0(0x74);\n      piVar2[1] = 0;\n      piVar2[2] = 0;\n      piVar1 = piVar2 + 0x14;\n      piVar2[3] = 0;\n      piVar2[4] = 0;\n      piVar2[5] = -1;\n      piVar2[6] = -1;\n      *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n      piVar2[8] = 0;\n      piVar2[9] = 0x10;\n      piVar2[10] = 0;\n      *piVar2 = unaff_EDI + 0x561ddd;\n      piVar2[0xc] = 0;\n      piVar2[0xe] = param_3;\n      piVar2[0xd] = 0;\n      piVar2[0xf] = param_4;\n      piVar2[0x11] = 0;\n      piVar2[0x10] = param_5;\n      piVar2[0x12] = 0;\n      piVar2[0x13] = -1;\n      piVar2[0x15] = (int)piVar1;\n      piVar2[0x14] = (int)piVar1;\n      piVar2[0x16] = 0;\n      piVar2[0x17] = (int)piVar1;\n      *(undefined1 *)(piVar2 + 0x18) = 0;\n      piVar2[0x19] = 0;\n      piVar2[0x1a] = 0;\n      piVar2[0x1b] = 0;\n      piVar2[0x1c] = 0;\n                    /* try { // try from 0007a5de to 0007a5e2 has its CatchHandler @ 0007a7ec */\n      FUN_00079a30();\n      *piVar2 = unaff_EDI + 0x5623a9;\n      return piVar2;\n    }" if (parenthesized_expression "(*(char *)(*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) + 0x4d75) == '\0')" ( (binary_expression "*(char *)(*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) + 0x4d75) == '\0'" (pointer_expression "*(char *)(*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) + 0x4d75)" * (cast_expression "(char *)(*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) + 0x4d75)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) + 0x4d75)" ( (binary_expression "*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) + 0x4d75" (pointer_expression "*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8)" * (cast_expression "(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8)" ( (binary_expression "*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8" (pointer_expression "*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8)" * (cast_expression "(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(BYTE_ARRAY_005702e9 + unaff_EDI + 8)" ( (binary_expression "BYTE_ARRAY_005702e9 + unaff_EDI + 8" (binary_expression "BYTE_ARRAY_005702e9 + unaff_EDI" identifier + identifier) + number_literal) )))) + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      piVar2 = (int *)FUN_003ac4d0(0x74);\n      piVar2[1] = 0;\n      piVar2[2] = 0;\n      piVar1 = piVar2 + 0x14;\n      piVar2[3] = 0;\n      piVar2[4] = 0;\n      piVar2[5] = -1;\n      piVar2[6] = -1;\n      *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n      piVar2[8] = 0;\n      piVar2[9] = 0x10;\n      piVar2[10] = 0;\n      *piVar2 = unaff_EDI + 0x561ddd;\n      piVar2[0xc] = 0;\n      piVar2[0xe] = param_3;\n      piVar2[0xd] = 0;\n      piVar2[0xf] = param_4;\n      piVar2[0x11] = 0;\n      piVar2[0x10] = param_5;\n      piVar2[0x12] = 0;\n      piVar2[0x13] = -1;\n      piVar2[0x15] = (int)piVar1;\n      piVar2[0x14] = (int)piVar1;\n      piVar2[0x16] = 0;\n      piVar2[0x17] = (int)piVar1;\n      *(undefined1 *)(piVar2 + 0x18) = 0;\n      piVar2[0x19] = 0;\n      piVar2[0x1a] = 0;\n      piVar2[0x1b] = 0;\n      piVar2[0x1c] = 0;\n                    /* try { // try from 0007a5de to 0007a5e2 has its CatchHandler @ 0007a7ec */\n      FUN_00079a30();\n      *piVar2 = unaff_EDI + 0x5623a9;\n      return piVar2;\n    }" { (expression_statement "piVar2 = (int *)FUN_003ac4d0(0x74);" (assignment_expression "piVar2 = (int *)FUN_003ac4d0(0x74)" identifier = (cast_expression "(int *)FUN_003ac4d0(0x74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_003ac4d0(0x74)" identifier (argument_list "(0x74)" ( number_literal ))))) ;) (expression_statement "piVar2[1] = 0;" (assignment_expression "piVar2[1] = 0" (subscript_expression "piVar2[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[2] = 0;" (assignment_expression "piVar2[2] = 0" (subscript_expression "piVar2[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar1 = piVar2 + 0x14;" (assignment_expression "piVar1 = piVar2 + 0x14" identifier = (binary_expression "piVar2 + 0x14" identifier + number_literal)) ;) (expression_statement "piVar2[3] = 0;" (assignment_expression "piVar2[3] = 0" (subscript_expression "piVar2[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[4] = 0;" (assignment_expression "piVar2[4] = 0" (subscript_expression "piVar2[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[5] = -1;" (assignment_expression "piVar2[5] = -1" (subscript_expression "piVar2[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[6] = -1;" (assignment_expression "piVar2[6] = -1" (subscript_expression "piVar2[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;" (assignment_expression "*(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar2 + 7)" * (cast_expression "(byte *)(piVar2 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 7)" ( (binary_expression "piVar2 + 7" identifier + number_literal) )))) = (binary_expression "*(byte *)(piVar2 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar2 + 7)" * (cast_expression "(byte *)(piVar2 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 7)" ( (binary_expression "piVar2 + 7" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "piVar2[8] = 0;" (assignment_expression "piVar2[8] = 0" (subscript_expression "piVar2[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[9] = 0x10;" (assignment_expression "piVar2[9] = 0x10" (subscript_expression "piVar2[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[10] = 0;" (assignment_expression "piVar2[10] = 0" (subscript_expression "piVar2[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*piVar2 = unaff_EDI + 0x561ddd;" (assignment_expression "*piVar2 = unaff_EDI + 0x561ddd" (pointer_expression "*piVar2" * identifier) = (binary_expression "unaff_EDI + 0x561ddd" identifier + number_literal)) ;) (expression_statement "piVar2[0xc] = 0;" (assignment_expression "piVar2[0xc] = 0" (subscript_expression "piVar2[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0xe] = param_3;" (assignment_expression "piVar2[0xe] = param_3" (subscript_expression "piVar2[0xe]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar2[0xd] = 0;" (assignment_expression "piVar2[0xd] = 0" (subscript_expression "piVar2[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0xf] = param_4;" (assignment_expression "piVar2[0xf] = param_4" (subscript_expression "piVar2[0xf]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar2[0x11] = 0;" (assignment_expression "piVar2[0x11] = 0" (subscript_expression "piVar2[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x10] = param_5;" (assignment_expression "piVar2[0x10] = param_5" (subscript_expression "piVar2[0x10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar2[0x12] = 0;" (assignment_expression "piVar2[0x12] = 0" (subscript_expression "piVar2[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x13] = -1;" (assignment_expression "piVar2[0x13] = -1" (subscript_expression "piVar2[0x13]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x15] = (int)piVar1;" (assignment_expression "piVar2[0x15] = (int)piVar1" (subscript_expression "piVar2[0x15]" identifier [ number_literal ]) = (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar2[0x14] = (int)piVar1;" (assignment_expression "piVar2[0x14] = (int)piVar1" (subscript_expression "piVar2[0x14]" identifier [ number_literal ]) = (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar2[0x16] = 0;" (assignment_expression "piVar2[0x16] = 0" (subscript_expression "piVar2[0x16]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x17] = (int)piVar1;" (assignment_expression "piVar2[0x17] = (int)piVar1" (subscript_expression "piVar2[0x17]" identifier [ number_literal ]) = (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*(undefined1 *)(piVar2 + 0x18) = 0;" (assignment_expression "*(undefined1 *)(piVar2 + 0x18) = 0" (pointer_expression "*(undefined1 *)(piVar2 + 0x18)" * (cast_expression "(undefined1 *)(piVar2 + 0x18)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 0x18)" ( (binary_expression "piVar2 + 0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar2[0x19] = 0;" (assignment_expression "piVar2[0x19] = 0" (subscript_expression "piVar2[0x19]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x1a] = 0;" (assignment_expression "piVar2[0x1a] = 0" (subscript_expression "piVar2[0x1a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x1b] = 0;" (assignment_expression "piVar2[0x1b] = 0" (subscript_expression "piVar2[0x1b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x1c] = 0;" (assignment_expression "piVar2[0x1c] = 0" (subscript_expression "piVar2[0x1c]" identifier [ number_literal ]) = number_literal) ;) comment (expression_statement "FUN_00079a30();" (call_expression "FUN_00079a30()" identifier (argument_list "()" ( ))) ;) (expression_statement "*piVar2 = unaff_EDI + 0x5623a9;" (assignment_expression "*piVar2 = unaff_EDI + 0x5623a9" (pointer_expression "*piVar2" * identifier) = (binary_expression "unaff_EDI + 0x5623a9" identifier + number_literal)) ;) (return_statement "return piVar2;" return identifier ;) })) (expression_statement "piVar2 = (int *)FUN_003ac4d0(0x78);" (assignment_expression "piVar2 = (int *)FUN_003ac4d0(0x78)" identifier = (cast_expression "(int *)FUN_003ac4d0(0x78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_003ac4d0(0x78)" identifier (argument_list "(0x78)" ( number_literal ))))) ;) (expression_statement "piVar2[1] = 0;" (assignment_expression "piVar2[1] = 0" (subscript_expression "piVar2[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[2] = 0;" (assignment_expression "piVar2[2] = 0" (subscript_expression "piVar2[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar1 = piVar2 + 0x14;" (assignment_expression "piVar1 = piVar2 + 0x14" identifier = (binary_expression "piVar2 + 0x14" identifier + number_literal)) ;) (expression_statement "piVar2[3] = 0;" (assignment_expression "piVar2[3] = 0" (subscript_expression "piVar2[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[4] = 0;" (assignment_expression "piVar2[4] = 0" (subscript_expression "piVar2[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[5] = -1;" (assignment_expression "piVar2[5] = -1" (subscript_expression "piVar2[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[6] = -1;" (assignment_expression "piVar2[6] = -1" (subscript_expression "piVar2[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;" (assignment_expression "*(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar2 + 7)" * (cast_expression "(byte *)(piVar2 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 7)" ( (binary_expression "piVar2 + 7" identifier + number_literal) )))) = (binary_expression "*(byte *)(piVar2 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar2 + 7)" * (cast_expression "(byte *)(piVar2 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 7)" ( (binary_expression "piVar2 + 7" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "piVar2[8] = 0;" (assignment_expression "piVar2[8] = 0" (subscript_expression "piVar2[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[9] = 0x10;" (assignment_expression "piVar2[9] = 0x10" (subscript_expression "piVar2[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[10] = 0;" (assignment_expression "piVar2[10] = 0" (subscript_expression "piVar2[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*piVar2 = unaff_EDI + 0x561ddd;" (assignment_expression "*piVar2 = unaff_EDI + 0x561ddd" (pointer_expression "*piVar2" * identifier) = (binary_expression "unaff_EDI + 0x561ddd" identifier + number_literal)) ;) (expression_statement "piVar2[0xc] = 0;" (assignment_expression "piVar2[0xc] = 0" (subscript_expression "piVar2[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0xe] = param_3;" (assignment_expression "piVar2[0xe] = param_3" (subscript_expression "piVar2[0xe]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar2[0xd] = 0;" (assignment_expression "piVar2[0xd] = 0" (subscript_expression "piVar2[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0xf] = param_4;" (assignment_expression "piVar2[0xf] = param_4" (subscript_expression "piVar2[0xf]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar2[0x11] = 0;" (assignment_expression "piVar2[0x11] = 0" (subscript_expression "piVar2[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x10] = param_5;" (assignment_expression "piVar2[0x10] = param_5" (subscript_expression "piVar2[0x10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar2[0x12] = 0;" (assignment_expression "piVar2[0x12] = 0" (subscript_expression "piVar2[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x13] = -1;" (assignment_expression "piVar2[0x13] = -1" (subscript_expression "piVar2[0x13]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x15] = (int)piVar1;" (assignment_expression "piVar2[0x15] = (int)piVar1" (subscript_expression "piVar2[0x15]" identifier [ number_literal ]) = (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar2[0x14] = (int)piVar1;" (assignment_expression "piVar2[0x14] = (int)piVar1" (subscript_expression "piVar2[0x14]" identifier [ number_literal ]) = (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar2[0x16] = 0;" (assignment_expression "piVar2[0x16] = 0" (subscript_expression "piVar2[0x16]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x17] = (int)piVar1;" (assignment_expression "piVar2[0x17] = (int)piVar1" (subscript_expression "piVar2[0x17]" identifier [ number_literal ]) = (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*(undefined1 *)(piVar2 + 0x18) = 0;" (assignment_expression "*(undefined1 *)(piVar2 + 0x18) = 0" (pointer_expression "*(undefined1 *)(piVar2 + 0x18)" * (cast_expression "(undefined1 *)(piVar2 + 0x18)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 0x18)" ( (binary_expression "piVar2 + 0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar2[0x19] = 0;" (assignment_expression "piVar2[0x19] = 0" (subscript_expression "piVar2[0x19]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x1a] = 0;" (assignment_expression "piVar2[0x1a] = 0" (subscript_expression "piVar2[0x1a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x1b] = 0;" (assignment_expression "piVar2[0x1b] = 0" (subscript_expression "piVar2[0x1b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x1c] = 0;" (assignment_expression "piVar2[0x1c] = 0" (subscript_expression "piVar2[0x1c]" identifier [ number_literal ]) = number_literal) ;) comment (expression_statement "FUN_00079a30();" (call_expression "FUN_00079a30()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar2[0x1d] = 0;" (assignment_expression "piVar2[0x1d] = 0" (subscript_expression "piVar2[0x1d]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*piVar2 = unaff_EDI + 0x562101;" (assignment_expression "*piVar2 = unaff_EDI + 0x562101" (pointer_expression "*piVar2" * identifier) = (binary_expression "unaff_EDI + 0x562101" identifier + number_literal)) ;) (return_statement "return piVar2;" return identifier ;) })) comment (expression_statement "FUN_002446e0(unaff_EDI + 0x3cdd96,0x5c,unaff_EDI + 0x3d8e61,0);" (call_expression "FUN_002446e0(unaff_EDI + 0x3cdd96,0x5c,unaff_EDI + 0x3d8e61,0)" identifier (argument_list "(unaff_EDI + 0x3cdd96,0x5c,unaff_EDI + 0x3d8e61,0)" ( (binary_expression "unaff_EDI + 0x3cdd96" identifier + number_literal) , number_literal , (binary_expression "unaff_EDI + 0x3d8e61" identifier + number_literal) , 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) */\n\nOutput_data_plt_x86_64<64> * __thiscall\nanon_unknown.dwarf_32e241::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)\n\n{\n  Free_list *pFVar1;\n  Output_data_plt_x86_64<64> *pOVar2;\n  int unaff_EDI;\n  Output_data_plt_x86_64<64> *in_stack_ffffffd4;\n  EVP_PKEY_CTX *in_stack_ffffffd8;\n  \n  __x86_get_pc_thunk_di();\n  if ((this->feature_1_ & 1) != 0) {\n    pOVar2 = (Output_data_plt_x86_64<64> *)operator_new(0x78);\n    *(undefined4 *)&pOVar2->field_0x4 = 0;\n    *(undefined4 *)&pOVar2->field_0x8 = 0;\n    pFVar1 = &pOVar2->free_list_;\n    *(undefined4 *)&pOVar2->field_0xc = 0;\n    *(undefined4 *)&pOVar2->field_0x10 = 0;\n    *(undefined4 *)&pOVar2->field_0x14 = 0xffffffff;\n    *(undefined4 *)&pOVar2->field_0x18 = 0xffffffff;\n    pOVar2->field_0x1c = pOVar2->field_0x1c & 0xe0;\n    *(undefined4 *)&pOVar2->field_0x20 = 0;\n    *(undefined4 *)&pOVar2->field_0x24 = 0x10;\n    *(undefined4 *)&pOVar2->field_0x28 = 0;\n    pOVar2->plt_eh_frame_cie_size = unaff_EDI + 0x561ddd;\n    pOVar2->tlsdesc_rel_ = (Reloc_section *)0x0;\n    pOVar2->got_ = got;\n    pOVar2->irelative_rel_ = (Reloc_section *)0x0;\n    pOVar2->got_plt_ = got_plt;\n    pOVar2->count_ = 0;\n    pOVar2->got_irelative_ = got_irelative;\n    pOVar2->irelative_count_ = 0;\n    pOVar2->tlsdesc_got_offset_ = 0xffffffff;\n    (pOVar2->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    (pOVar2->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    (pOVar2->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    (pOVar2->free_list_).last_remove_._M_node = (_List_node_base *)pFVar1;\n    (pOVar2->free_list_).extend_ = false;\n    *(undefined4 *)&(pOVar2->free_list_).length_ = 0;\n    *(undefined4 *)((int)&(pOVar2->free_list_).length_ + 4) = 0;\n    *(undefined4 *)&(pOVar2->free_list_).min_hole_ = 0;\n    *(undefined4 *)((int)&(pOVar2->free_list_).min_hole_ + 4) = 0;\n                    /* try { // try from 0007a7b6 to 0007a7ba has its CatchHandler @ 0007a7fe */\n    Output_data_plt_x86_64<64>::init(in_stack_ffffffd4,in_stack_ffffffd8);\n    pOVar2[1].plt_eh_frame_cie_size = 0;\n    pOVar2->plt_eh_frame_cie_size = unaff_EDI + 0x562299;\n    return pOVar2;\n  }\n  if (*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) != 0) {\n    if (*(char *)(*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) + 0x4d75) == '\0') {\n      pOVar2 = (Output_data_plt_x86_64<64> *)operator_new(0x74);\n      *(undefined4 *)&pOVar2->field_0x4 = 0;\n      *(undefined4 *)&pOVar2->field_0x8 = 0;\n      pFVar1 = &pOVar2->free_list_;\n      *(undefined4 *)&pOVar2->field_0xc = 0;\n      *(undefined4 *)&pOVar2->field_0x10 = 0;\n      *(undefined4 *)&pOVar2->field_0x14 = 0xffffffff;\n      *(undefined4 *)&pOVar2->field_0x18 = 0xffffffff;\n      pOVar2->field_0x1c = pOVar2->field_0x1c & 0xe0;\n      *(undefined4 *)&pOVar2->field_0x20 = 0;\n      *(undefined4 *)&pOVar2->field_0x24 = 0x10;\n      *(undefined4 *)&pOVar2->field_0x28 = 0;\n      pOVar2->plt_eh_frame_cie_size = unaff_EDI + 0x561ddd;\n      pOVar2->tlsdesc_rel_ = (Reloc_section *)0x0;\n      pOVar2->got_ = got;\n      pOVar2->irelative_rel_ = (Reloc_section *)0x0;\n      pOVar2->got_plt_ = got_plt;\n      pOVar2->count_ = 0;\n      pOVar2->got_irelative_ = got_irelative;\n      pOVar2->irelative_count_ = 0;\n      pOVar2->tlsdesc_got_offset_ = 0xffffffff;\n      (pOVar2->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      (pOVar2->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      (pOVar2->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      (pOVar2->free_list_).last_remove_._M_node = (_List_node_base *)pFVar1;\n      (pOVar2->free_list_).extend_ = false;\n      *(undefined4 *)&(pOVar2->free_list_).length_ = 0;\n      *(undefined4 *)((int)&(pOVar2->free_list_).length_ + 4) = 0;\n      *(undefined4 *)&(pOVar2->free_list_).min_hole_ = 0;\n      *(undefined4 *)((int)&(pOVar2->free_list_).min_hole_ + 4) = 0;\n                    /* try { // try from 0007a5de to 0007a5e2 has its CatchHandler @ 0007a7ec */\n      Output_data_plt_x86_64<64>::init(in_stack_ffffffd4,in_stack_ffffffd8);\n      pOVar2->plt_eh_frame_cie_size = unaff_EDI + 0x5623a9;\n      return pOVar2;\n    }\n    pOVar2 = (Output_data_plt_x86_64<64> *)operator_new(0x78);\n    *(undefined4 *)&pOVar2->field_0x4 = 0;\n    *(undefined4 *)&pOVar2->field_0x8 = 0;\n    pFVar1 = &pOVar2->free_list_;\n    *(undefined4 *)&pOVar2->field_0xc = 0;\n    *(undefined4 *)&pOVar2->field_0x10 = 0;\n    *(undefined4 *)&pOVar2->field_0x14 = 0xffffffff;\n    *(undefined4 *)&pOVar2->field_0x18 = 0xffffffff;\n    pOVar2->field_0x1c = pOVar2->field_0x1c & 0xe0;\n    *(undefined4 *)&pOVar2->field_0x20 = 0;\n    *(undefined4 *)&pOVar2->field_0x24 = 0x10;\n    *(undefined4 *)&pOVar2->field_0x28 = 0;\n    pOVar2->plt_eh_frame_cie_size = unaff_EDI + 0x561ddd;\n    pOVar2->tlsdesc_rel_ = (Reloc_section *)0x0;\n    pOVar2->got_ = got;\n    pOVar2->irelative_rel_ = (Reloc_section *)0x0;\n    pOVar2->got_plt_ = got_plt;\n    pOVar2->count_ = 0;\n    pOVar2->got_irelative_ = got_irelative;\n    pOVar2->irelative_count_ = 0;\n    pOVar2->tlsdesc_got_offset_ = 0xffffffff;\n    (pOVar2->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    (pOVar2->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    (pOVar2->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    (pOVar2->free_list_).last_remove_._M_node = (_List_node_base *)pFVar1;\n    (pOVar2->free_list_).extend_ = false;\n    *(undefined4 *)&(pOVar2->free_list_).length_ = 0;\n    *(undefined4 *)((int)&(pOVar2->free_list_).length_ + 4) = 0;\n    *(undefined4 *)&(pOVar2->free_list_).min_hole_ = 0;\n    *(undefined4 *)((int)&(pOVar2->free_list_).min_hole_ + 4) = 0;\n                    /* try { // try from 0007a6c6 to 0007a6ca has its CatchHandler @ 0007a7f5 */\n    Output_data_plt_x86_64<64>::init(in_stack_ffffffd4,in_stack_ffffffd8);\n    pOVar2[1].plt_eh_frame_cie_size = 0;\n    pOVar2->plt_eh_frame_cie_size = unaff_EDI + 0x562101;\n    return pOVar2;\n  }\n                    /* WARNING: Subroutine does not return */\n  gold::do_gold_unreachable((char *)(unaff_EDI + 0x3cdd96),0x5c,&UNK_003d8e61 + unaff_EDI);\n}\n\n" comment comment comment (expression_statement "Output_data_plt_x86_64<64> * __thiscall\nanon_unknown.dwarf_32e241::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)\n\n{\n  Free_list *pFVar1;" (update_expression "Output_data_plt_x86_64<64> * __thiscall\nanon_unknown.dwarf_32e241::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)\n\n{\n  Free_list *pFVar1" (binary_expression "Output_data_plt_x86_64<64> * __thiscall\nanon_unknown.dwarf_32e241::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)\n\n{\n  Free_list *pFVar1" (binary_expression "Output_data_plt_x86_64<64> * __thiscall\nanon_unknown.dwarf_32e241::Target_x86_64<64" (binary_expression "Output_data_plt_x86_64<64> * __thiscall\nanon_unknown.dwarf_32e241" (binary_expression "Output_data_plt_x86_64<64" identifier < number_literal) > (ERROR "* __thiscall" (pointer_expression "* __thiscall" * identifier)) (field_expression "anon_unknown.dwarf_32e241" 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)\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)" 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)" ( (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) ))) {) (binary_expression "Free_list *pFVar1" identifier * identifier)) --) ;) (expression_statement "Output_data_plt_x86_64<64> *pOVar2;" (update_expression "Output_data_plt_x86_64<64> *pOVar2" (binary_expression "Output_data_plt_x86_64<64> *pOVar2" (binary_expression "Output_data_plt_x86_64<64" identifier < number_literal) > (pointer_expression "*pOVar2" * identifier)) --) ;) (declaration "int unaff_EDI;" primitive_type identifier ;) (expression_statement "Output_data_plt_x86_64<64> *in_stack_ffffffd4;" (update_expression "Output_data_plt_x86_64<64> *in_stack_ffffffd4" (binary_expression "Output_data_plt_x86_64<64> *in_stack_ffffffd4" (binary_expression "Output_data_plt_x86_64<64" identifier < number_literal) > (pointer_expression "*in_stack_ffffffd4" * identifier)) --) ;) (declaration "EVP_PKEY_CTX *in_stack_ffffffd8;" type_identifier (pointer_declarator "*in_stack_ffffffd8" * 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    pOVar2 = (Output_data_plt_x86_64<64> *)operator_new(0x78);\n    *(undefined4 *)&pOVar2->field_0x4 = 0;\n    *(undefined4 *)&pOVar2->field_0x8 = 0;\n    pFVar1 = &pOVar2->free_list_;\n    *(undefined4 *)&pOVar2->field_0xc = 0;\n    *(undefined4 *)&pOVar2->field_0x10 = 0;\n    *(undefined4 *)&pOVar2->field_0x14 = 0xffffffff;\n    *(undefined4 *)&pOVar2->field_0x18 = 0xffffffff;\n    pOVar2->field_0x1c = pOVar2->field_0x1c & 0xe0;\n    *(undefined4 *)&pOVar2->field_0x20 = 0;\n    *(undefined4 *)&pOVar2->field_0x24 = 0x10;\n    *(undefined4 *)&pOVar2->field_0x28 = 0;\n    pOVar2->plt_eh_frame_cie_size = unaff_EDI + 0x561ddd;\n    pOVar2->tlsdesc_rel_ = (Reloc_section *)0x0;\n    pOVar2->got_ = got;\n    pOVar2->irelative_rel_ = (Reloc_section *)0x0;\n    pOVar2->got_plt_ = got_plt;\n    pOVar2->count_ = 0;\n    pOVar2->got_irelative_ = got_irelative;\n    pOVar2->irelative_count_ = 0;\n    pOVar2->tlsdesc_got_offset_ = 0xffffffff;\n    (pOVar2->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    (pOVar2->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    (pOVar2->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    (pOVar2->free_list_).last_remove_._M_node = (_List_node_base *)pFVar1;\n    (pOVar2->free_list_).extend_ = false;\n    *(undefined4 *)&(pOVar2->free_list_).length_ = 0;\n    *(undefined4 *)((int)&(pOVar2->free_list_).length_ + 4) = 0;\n    *(undefined4 *)&(pOVar2->free_list_).min_hole_ = 0;\n    *(undefined4 *)((int)&(pOVar2->free_list_).min_hole_ + 4) = 0;\n                    /* try { // try from 0007a7b6 to 0007a7ba has its CatchHandler @ 0007a7fe */\n    Output_data_plt_x86_64<64>::init(in_stack_ffffffd4,in_stack_ffffffd8);\n    pOVar2[1].plt_eh_frame_cie_size = 0;\n    pOVar2->plt_eh_frame_cie_size = unaff_EDI + 0x562299;\n    return pOVar2;\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    pOVar2 = (Output_data_plt_x86_64<64> *)operator_new(0x78);\n    *(undefined4 *)&pOVar2->field_0x4 = 0;\n    *(undefined4 *)&pOVar2->field_0x8 = 0;\n    pFVar1 = &pOVar2->free_list_;\n    *(undefined4 *)&pOVar2->field_0xc = 0;\n    *(undefined4 *)&pOVar2->field_0x10 = 0;\n    *(undefined4 *)&pOVar2->field_0x14 = 0xffffffff;\n    *(undefined4 *)&pOVar2->field_0x18 = 0xffffffff;\n    pOVar2->field_0x1c = pOVar2->field_0x1c & 0xe0;\n    *(undefined4 *)&pOVar2->field_0x20 = 0;\n    *(undefined4 *)&pOVar2->field_0x24 = 0x10;\n    *(undefined4 *)&pOVar2->field_0x28 = 0;\n    pOVar2->plt_eh_frame_cie_size = unaff_EDI + 0x561ddd;\n    pOVar2->tlsdesc_rel_ = (Reloc_section *)0x0;\n    pOVar2->got_ = got;\n    pOVar2->irelative_rel_ = (Reloc_section *)0x0;\n    pOVar2->got_plt_ = got_plt;\n    pOVar2->count_ = 0;\n    pOVar2->got_irelative_ = got_irelative;\n    pOVar2->irelative_count_ = 0;\n    pOVar2->tlsdesc_got_offset_ = 0xffffffff;\n    (pOVar2->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    (pOVar2->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    (pOVar2->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    (pOVar2->free_list_).last_remove_._M_node = (_List_node_base *)pFVar1;\n    (pOVar2->free_list_).extend_ = false;\n    *(undefined4 *)&(pOVar2->free_list_).length_ = 0;\n    *(undefined4 *)((int)&(pOVar2->free_list_).length_ + 4) = 0;\n    *(undefined4 *)&(pOVar2->free_list_).min_hole_ = 0;\n    *(undefined4 *)((int)&(pOVar2->free_list_).min_hole_ + 4) = 0;\n                    /* try { // try from 0007a7b6 to 0007a7ba has its CatchHandler @ 0007a7fe */\n    Output_data_plt_x86_64<64>::init(in_stack_ffffffd4,in_stack_ffffffd8);\n    pOVar2[1].plt_eh_frame_cie_size = 0;\n    pOVar2->plt_eh_frame_cie_size = unaff_EDI + 0x562299;\n    return pOVar2;\n  }" { (expression_statement "pOVar2 = (Output_data_plt_x86_64<64> *)operator_new(0x78);" (assignment_expression "pOVar2 = (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 *)&pOVar2->field_0x4 = 0;" (assignment_expression "*(undefined4 *)&pOVar2->field_0x4 = 0" (pointer_expression "*(undefined4 *)&pOVar2->field_0x4" * (cast_expression "(undefined4 *)&pOVar2->field_0x4" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar2->field_0x4" & (field_expression "pOVar2->field_0x4" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)&pOVar2->field_0x8 = 0;" (assignment_expression "*(undefined4 *)&pOVar2->field_0x8 = 0" (pointer_expression "*(undefined4 *)&pOVar2->field_0x8" * (cast_expression "(undefined4 *)&pOVar2->field_0x8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar2->field_0x8" & (field_expression "pOVar2->field_0x8" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "pFVar1 = &pOVar2->free_list_;" (assignment_expression "pFVar1 = &pOVar2->free_list_" identifier = (pointer_expression "&pOVar2->free_list_" & (field_expression "pOVar2->free_list_" identifier -> field_identifier))) ;) (expression_statement "*(undefined4 *)&pOVar2->field_0xc = 0;" (assignment_expression "*(undefined4 *)&pOVar2->field_0xc = 0" (pointer_expression "*(undefined4 *)&pOVar2->field_0xc" * (cast_expression "(undefined4 *)&pOVar2->field_0xc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar2->field_0xc" & (field_expression "pOVar2->field_0xc" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)&pOVar2->field_0x10 = 0;" (assignment_expression "*(undefined4 *)&pOVar2->field_0x10 = 0" (pointer_expression "*(undefined4 *)&pOVar2->field_0x10" * (cast_expression "(undefined4 *)&pOVar2->field_0x10" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar2->field_0x10" & (field_expression "pOVar2->field_0x10" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)&pOVar2->field_0x14 = 0xffffffff;" (assignment_expression "*(undefined4 *)&pOVar2->field_0x14 = 0xffffffff" (pointer_expression "*(undefined4 *)&pOVar2->field_0x14" * (cast_expression "(undefined4 *)&pOVar2->field_0x14" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar2->field_0x14" & (field_expression "pOVar2->field_0x14" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)&pOVar2->field_0x18 = 0xffffffff;" (assignment_expression "*(undefined4 *)&pOVar2->field_0x18 = 0xffffffff" (pointer_expression "*(undefined4 *)&pOVar2->field_0x18" * (cast_expression "(undefined4 *)&pOVar2->field_0x18" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar2->field_0x18" & (field_expression "pOVar2->field_0x18" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "pOVar2->field_0x1c = pOVar2->field_0x1c & 0xe0;" (assignment_expression "pOVar2->field_0x1c = pOVar2->field_0x1c & 0xe0" (field_expression "pOVar2->field_0x1c" identifier -> field_identifier) = (binary_expression "pOVar2->field_0x1c & 0xe0" (field_expression "pOVar2->field_0x1c" identifier -> field_identifier) & number_literal)) ;) (expression_statement "*(undefined4 *)&pOVar2->field_0x20 = 0;" (assignment_expression "*(undefined4 *)&pOVar2->field_0x20 = 0" (pointer_expression "*(undefined4 *)&pOVar2->field_0x20" * (cast_expression "(undefined4 *)&pOVar2->field_0x20" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar2->field_0x20" & (field_expression "pOVar2->field_0x20" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)&pOVar2->field_0x24 = 0x10;" (assignment_expression "*(undefined4 *)&pOVar2->field_0x24 = 0x10" (pointer_expression "*(undefined4 *)&pOVar2->field_0x24" * (cast_expression "(undefined4 *)&pOVar2->field_0x24" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar2->field_0x24" & (field_expression "pOVar2->field_0x24" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)&pOVar2->field_0x28 = 0;" (assignment_expression "*(undefined4 *)&pOVar2->field_0x28 = 0" (pointer_expression "*(undefined4 *)&pOVar2->field_0x28" * (cast_expression "(undefined4 *)&pOVar2->field_0x28" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar2->field_0x28" & (field_expression "pOVar2->field_0x28" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "pOVar2->plt_eh_frame_cie_size = unaff_EDI + 0x561ddd;" (assignment_expression "pOVar2->plt_eh_frame_cie_size = unaff_EDI + 0x561ddd" (field_expression "pOVar2->plt_eh_frame_cie_size" identifier -> field_identifier) = (binary_expression "unaff_EDI + 0x561ddd" identifier + number_literal)) ;) (expression_statement "pOVar2->tlsdesc_rel_ = (Reloc_section *)0x0;" (assignment_expression "pOVar2->tlsdesc_rel_ = (Reloc_section *)0x0" (field_expression "pOVar2->tlsdesc_rel_" identifier -> field_identifier) = (cast_expression "(Reloc_section *)0x0" ( (type_descriptor "Reloc_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pOVar2->got_ = got;" (assignment_expression "pOVar2->got_ = got" (field_expression "pOVar2->got_" identifier -> field_identifier) = identifier) ;) (expression_statement "pOVar2->irelative_rel_ = (Reloc_section *)0x0;" (assignment_expression "pOVar2->irelative_rel_ = (Reloc_section *)0x0" (field_expression "pOVar2->irelative_rel_" identifier -> field_identifier) = (cast_expression "(Reloc_section *)0x0" ( (type_descriptor "Reloc_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pOVar2->got_plt_ = got_plt;" (assignment_expression "pOVar2->got_plt_ = got_plt" (field_expression "pOVar2->got_plt_" identifier -> field_identifier) = identifier) ;) (expression_statement "pOVar2->count_ = 0;" (assignment_expression "pOVar2->count_ = 0" (field_expression "pOVar2->count_" identifier -> field_identifier) = number_literal) ;) (expression_statement "pOVar2->got_irelative_ = got_irelative;" (assignment_expression "pOVar2->got_irelative_ = got_irelative" (field_expression "pOVar2->got_irelative_" identifier -> field_identifier) = identifier) ;) (expression_statement "pOVar2->irelative_count_ = 0;" (assignment_expression "pOVar2->irelative_count_ = 0" (field_expression "pOVar2->irelative_count_" identifier -> field_identifier) = number_literal) ;) (expression_statement "pOVar2->tlsdesc_got_offset_ = 0xffffffff;" (assignment_expression "pOVar2->tlsdesc_got_offset_ = 0xffffffff" (field_expression "pOVar2->tlsdesc_got_offset_" identifier -> field_identifier) = number_literal) ;) (ERROR "(pOVar2->free_list_).list_.\n    super__List_base<gold::" (binary_expression "(pOVar2->free_list_).list_.\n    super__List_base<gold" (field_expression "(pOVar2->free_list_).list_.\n    super__List_base" (field_expression "(pOVar2->free_list_).list_" (parenthesized_expression "(pOVar2->free_list_)" ( (field_expression "pOVar2->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 "(pOVar2->free_list_).list_.\n    super__List_base<gold::" (binary_expression "(pOVar2->free_list_).list_.\n    super__List_base<gold" (field_expression "(pOVar2->free_list_).list_.\n    super__List_base" (field_expression "(pOVar2->free_list_).list_" (parenthesized_expression "(pOVar2->free_list_)" ( (field_expression "pOVar2->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 "(pOVar2->free_list_).list_.\n    super__List_base<gold::" (binary_expression "(pOVar2->free_list_).list_.\n    super__List_base<gold" (field_expression "(pOVar2->free_list_).list_.\n    super__List_base" (field_expression "(pOVar2->free_list_).list_" (parenthesized_expression "(pOVar2->free_list_)" ( (field_expression "pOVar2->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 "(pOVar2->free_list_).last_remove_._M_node = (_List_node_base *)pFVar1;" (assignment_expression "(pOVar2->free_list_).last_remove_._M_node = (_List_node_base *)pFVar1" (field_expression "(pOVar2->free_list_).last_remove_._M_node" (field_expression "(pOVar2->free_list_).last_remove_" (parenthesized_expression "(pOVar2->free_list_)" ( (field_expression "pOVar2->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 "(pOVar2->free_list_).extend_ = false;" (assignment_expression "(pOVar2->free_list_).extend_ = false" (field_expression "(pOVar2->free_list_).extend_" (parenthesized_expression "(pOVar2->free_list_)" ( (field_expression "pOVar2->free_list_" identifier -> field_identifier) )) . field_identifier) = false) ;) (expression_statement "*(undefined4 *)&(pOVar2->free_list_).length_ = 0;" (assignment_expression "*(undefined4 *)&(pOVar2->free_list_).length_ = 0" (pointer_expression "*(undefined4 *)&(pOVar2->free_list_).length_" * (cast_expression "(undefined4 *)&(pOVar2->free_list_).length_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar2->free_list_).length_" & (field_expression "(pOVar2->free_list_).length_" (parenthesized_expression "(pOVar2->free_list_)" ( (field_expression "pOVar2->free_list_" identifier -> field_identifier) )) . field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&(pOVar2->free_list_).length_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&(pOVar2->free_list_).length_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&(pOVar2->free_list_).length_ + 4)" * (cast_expression "(undefined4 *)((int)&(pOVar2->free_list_).length_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pOVar2->free_list_).length_ + 4)" ( (binary_expression "(int)&(pOVar2->free_list_).length_ + 4" (cast_expression "(int)&(pOVar2->free_list_).length_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar2->free_list_).length_" & (field_expression "(pOVar2->free_list_).length_" (parenthesized_expression "(pOVar2->free_list_)" ( (field_expression "pOVar2->free_list_" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)&(pOVar2->free_list_).min_hole_ = 0;" (assignment_expression "*(undefined4 *)&(pOVar2->free_list_).min_hole_ = 0" (pointer_expression "*(undefined4 *)&(pOVar2->free_list_).min_hole_" * (cast_expression "(undefined4 *)&(pOVar2->free_list_).min_hole_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar2->free_list_).min_hole_" & (field_expression "(pOVar2->free_list_).min_hole_" (parenthesized_expression "(pOVar2->free_list_)" ( (field_expression "pOVar2->free_list_" identifier -> field_identifier) )) . field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&(pOVar2->free_list_).min_hole_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&(pOVar2->free_list_).min_hole_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&(pOVar2->free_list_).min_hole_ + 4)" * (cast_expression "(undefined4 *)((int)&(pOVar2->free_list_).min_hole_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pOVar2->free_list_).min_hole_ + 4)" ( (binary_expression "(int)&(pOVar2->free_list_).min_hole_ + 4" (cast_expression "(int)&(pOVar2->free_list_).min_hole_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar2->free_list_).min_hole_" & (field_expression "(pOVar2->free_list_).min_hole_" (parenthesized_expression "(pOVar2->free_list_)" ( (field_expression "pOVar2->free_list_" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) = number_literal) ;) comment (expression_statement "Output_data_plt_x86_64<64>::init(in_stack_ffffffd4,in_stack_ffffffd8);" (binary_expression "Output_data_plt_x86_64<64>::init(in_stack_ffffffd4,in_stack_ffffffd8)" (binary_expression "Output_data_plt_x86_64<64" identifier < number_literal) > (ERROR "::" : :) (call_expression "init(in_stack_ffffffd4,in_stack_ffffffd8)" identifier (argument_list "(in_stack_ffffffd4,in_stack_ffffffd8)" ( identifier , identifier )))) ;) (expression_statement "pOVar2[1].plt_eh_frame_cie_size = 0;" (assignment_expression "pOVar2[1].plt_eh_frame_cie_size = 0" (field_expression "pOVar2[1].plt_eh_frame_cie_size" (subscript_expression "pOVar2[1]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (expression_statement "pOVar2->plt_eh_frame_cie_size = unaff_EDI + 0x562299;" (assignment_expression "pOVar2->plt_eh_frame_cie_size = unaff_EDI + 0x562299" (field_expression "pOVar2->plt_eh_frame_cie_size" identifier -> field_identifier) = (binary_expression "unaff_EDI + 0x562299" identifier + number_literal)) ;) (return_statement "return pOVar2;" return identifier ;) })) (if_statement "if (*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) != 0) {\n    if (*(char *)(*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) + 0x4d75) == '\0') {\n      pOVar2 = (Output_data_plt_x86_64<64> *)operator_new(0x74);\n      *(undefined4 *)&pOVar2->field_0x4 = 0;\n      *(undefined4 *)&pOVar2->field_0x8 = 0;\n      pFVar1 = &pOVar2->free_list_;\n      *(undefined4 *)&pOVar2->field_0xc = 0;\n      *(undefined4 *)&pOVar2->field_0x10 = 0;\n      *(undefined4 *)&pOVar2->field_0x14 = 0xffffffff;\n      *(undefined4 *)&pOVar2->field_0x18 = 0xffffffff;\n      pOVar2->field_0x1c = pOVar2->field_0x1c & 0xe0;\n      *(undefined4 *)&pOVar2->field_0x20 = 0;\n      *(undefined4 *)&pOVar2->field_0x24 = 0x10;\n      *(undefined4 *)&pOVar2->field_0x28 = 0;\n      pOVar2->plt_eh_frame_cie_size = unaff_EDI + 0x561ddd;\n      pOVar2->tlsdesc_rel_ = (Reloc_section *)0x0;\n      pOVar2->got_ = got;\n      pOVar2->irelative_rel_ = (Reloc_section *)0x0;\n      pOVar2->got_plt_ = got_plt;\n      pOVar2->count_ = 0;\n      pOVar2->got_irelative_ = got_irelative;\n      pOVar2->irelative_count_ = 0;\n      pOVar2->tlsdesc_got_offset_ = 0xffffffff;\n      (pOVar2->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      (pOVar2->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      (pOVar2->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      (pOVar2->free_list_).last_remove_._M_node = (_List_node_base *)pFVar1;\n      (pOVar2->free_list_).extend_ = false;\n      *(undefined4 *)&(pOVar2->free_list_).length_ = 0;\n      *(undefined4 *)((int)&(pOVar2->free_list_).length_ + 4) = 0;\n      *(undefined4 *)&(pOVar2->free_list_).min_hole_ = 0;\n      *(undefined4 *)((int)&(pOVar2->free_list_).min_hole_ + 4) = 0;\n                    /* try { // try from 0007a5de to 0007a5e2 has its CatchHandler @ 0007a7ec */\n      Output_data_plt_x86_64<64>::init(in_stack_ffffffd4,in_stack_ffffffd8);\n      pOVar2->plt_eh_frame_cie_size = unaff_EDI + 0x5623a9;\n      return pOVar2;\n    }\n    pOVar2 = (Output_data_plt_x86_64<64> *)operator_new(0x78);\n    *(undefined4 *)&pOVar2->field_0x4 = 0;\n    *(undefined4 *)&pOVar2->field_0x8 = 0;\n    pFVar1 = &pOVar2->free_list_;\n    *(undefined4 *)&pOVar2->field_0xc = 0;\n    *(undefined4 *)&pOVar2->field_0x10 = 0;\n    *(undefined4 *)&pOVar2->field_0x14 = 0xffffffff;\n    *(undefined4 *)&pOVar2->field_0x18 = 0xffffffff;\n    pOVar2->field_0x1c = pOVar2->field_0x1c & 0xe0;\n    *(undefined4 *)&pOVar2->field_0x20 = 0;\n    *(undefined4 *)&pOVar2->field_0x24 = 0x10;\n    *(undefined4 *)&pOVar2->field_0x28 = 0;\n    pOVar2->plt_eh_frame_cie_size = unaff_EDI + 0x561ddd;\n    pOVar2->tlsdesc_rel_ = (Reloc_section *)0x0;\n    pOVar2->got_ = got;\n    pOVar2->irelative_rel_ = (Reloc_section *)0x0;\n    pOVar2->got_plt_ = got_plt;\n    pOVar2->count_ = 0;\n    pOVar2->got_irelative_ = got_irelative;\n    pOVar2->irelative_count_ = 0;\n    pOVar2->tlsdesc_got_offset_ = 0xffffffff;\n    (pOVar2->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    (pOVar2->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    (pOVar2->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    (pOVar2->free_list_).last_remove_._M_node = (_List_node_base *)pFVar1;\n    (pOVar2->free_list_).extend_ = false;\n    *(undefined4 *)&(pOVar2->free_list_).length_ = 0;\n    *(undefined4 *)((int)&(pOVar2->free_list_).length_ + 4) = 0;\n    *(undefined4 *)&(pOVar2->free_list_).min_hole_ = 0;\n    *(undefined4 *)((int)&(pOVar2->free_list_).min_hole_ + 4) = 0;\n                    /* try { // try from 0007a6c6 to 0007a6ca has its CatchHandler @ 0007a7f5 */\n    Output_data_plt_x86_64<64>::init(in_stack_ffffffd4,in_stack_ffffffd8);\n    pOVar2[1].plt_eh_frame_cie_size = 0;\n    pOVar2->plt_eh_frame_cie_size = unaff_EDI + 0x562101;\n    return pOVar2;\n  }" if (parenthesized_expression "(*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) != 0)" ( (binary_expression "*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) != 0" (pointer_expression "*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8)" * (cast_expression "(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8)" ( (binary_expression "*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8" (pointer_expression "*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8)" * (cast_expression "(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(BYTE_ARRAY_005702e9 + unaff_EDI + 8)" ( (binary_expression "BYTE_ARRAY_005702e9 + unaff_EDI + 8" (binary_expression "BYTE_ARRAY_005702e9 + unaff_EDI" identifier + identifier) + number_literal) )))) + number_literal) )))) != number_literal) )) (compound_statement "{\n    if (*(char *)(*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) + 0x4d75) == '\0') {\n      pOVar2 = (Output_data_plt_x86_64<64> *)operator_new(0x74);\n      *(undefined4 *)&pOVar2->field_0x4 = 0;\n      *(undefined4 *)&pOVar2->field_0x8 = 0;\n      pFVar1 = &pOVar2->free_list_;\n      *(undefined4 *)&pOVar2->field_0xc = 0;\n      *(undefined4 *)&pOVar2->field_0x10 = 0;\n      *(undefined4 *)&pOVar2->field_0x14 = 0xffffffff;\n      *(undefined4 *)&pOVar2->field_0x18 = 0xffffffff;\n      pOVar2->field_0x1c = pOVar2->field_0x1c & 0xe0;\n      *(undefined4 *)&pOVar2->field_0x20 = 0;\n      *(undefined4 *)&pOVar2->field_0x24 = 0x10;\n      *(undefined4 *)&pOVar2->field_0x28 = 0;\n      pOVar2->plt_eh_frame_cie_size = unaff_EDI + 0x561ddd;\n      pOVar2->tlsdesc_rel_ = (Reloc_section *)0x0;\n      pOVar2->got_ = got;\n      pOVar2->irelative_rel_ = (Reloc_section *)0x0;\n      pOVar2->got_plt_ = got_plt;\n      pOVar2->count_ = 0;\n      pOVar2->got_irelative_ = got_irelative;\n      pOVar2->irelative_count_ = 0;\n      pOVar2->tlsdesc_got_offset_ = 0xffffffff;\n      (pOVar2->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      (pOVar2->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      (pOVar2->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      (pOVar2->free_list_).last_remove_._M_node = (_List_node_base *)pFVar1;\n      (pOVar2->free_list_).extend_ = false;\n      *(undefined4 *)&(pOVar2->free_list_).length_ = 0;\n      *(undefined4 *)((int)&(pOVar2->free_list_).length_ + 4) = 0;\n      *(undefined4 *)&(pOVar2->free_list_).min_hole_ = 0;\n      *(undefined4 *)((int)&(pOVar2->free_list_).min_hole_ + 4) = 0;\n                    /* try { // try from 0007a5de to 0007a5e2 has its CatchHandler @ 0007a7ec */\n      Output_data_plt_x86_64<64>::init(in_stack_ffffffd4,in_stack_ffffffd8);\n      pOVar2->plt_eh_frame_cie_size = unaff_EDI + 0x5623a9;\n      return pOVar2;\n    }\n    pOVar2 = (Output_data_plt_x86_64<64> *)operator_new(0x78);\n    *(undefined4 *)&pOVar2->field_0x4 = 0;\n    *(undefined4 *)&pOVar2->field_0x8 = 0;\n    pFVar1 = &pOVar2->free_list_;\n    *(undefined4 *)&pOVar2->field_0xc = 0;\n    *(undefined4 *)&pOVar2->field_0x10 = 0;\n    *(undefined4 *)&pOVar2->field_0x14 = 0xffffffff;\n    *(undefined4 *)&pOVar2->field_0x18 = 0xffffffff;\n    pOVar2->field_0x1c = pOVar2->field_0x1c & 0xe0;\n    *(undefined4 *)&pOVar2->field_0x20 = 0;\n    *(undefined4 *)&pOVar2->field_0x24 = 0x10;\n    *(undefined4 *)&pOVar2->field_0x28 = 0;\n    pOVar2->plt_eh_frame_cie_size = unaff_EDI + 0x561ddd;\n    pOVar2->tlsdesc_rel_ = (Reloc_section *)0x0;\n    pOVar2->got_ = got;\n    pOVar2->irelative_rel_ = (Reloc_section *)0x0;\n    pOVar2->got_plt_ = got_plt;\n    pOVar2->count_ = 0;\n    pOVar2->got_irelative_ = got_irelative;\n    pOVar2->irelative_count_ = 0;\n    pOVar2->tlsdesc_got_offset_ = 0xffffffff;\n    (pOVar2->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    (pOVar2->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    (pOVar2->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    (pOVar2->free_list_).last_remove_._M_node = (_List_node_base *)pFVar1;\n    (pOVar2->free_list_).extend_ = false;\n    *(undefined4 *)&(pOVar2->free_list_).length_ = 0;\n    *(undefined4 *)((int)&(pOVar2->free_list_).length_ + 4) = 0;\n    *(undefined4 *)&(pOVar2->free_list_).min_hole_ = 0;\n    *(undefined4 *)((int)&(pOVar2->free_list_).min_hole_ + 4) = 0;\n                    /* try { // try from 0007a6c6 to 0007a6ca has its CatchHandler @ 0007a7f5 */\n    Output_data_plt_x86_64<64>::init(in_stack_ffffffd4,in_stack_ffffffd8);\n    pOVar2[1].plt_eh_frame_cie_size = 0;\n    pOVar2->plt_eh_frame_cie_size = unaff_EDI + 0x562101;\n    return pOVar2;\n  }" { (if_statement "if (*(char *)(*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) + 0x4d75) == '\0') {\n      pOVar2 = (Output_data_plt_x86_64<64> *)operator_new(0x74);\n      *(undefined4 *)&pOVar2->field_0x4 = 0;\n      *(undefined4 *)&pOVar2->field_0x8 = 0;\n      pFVar1 = &pOVar2->free_list_;\n      *(undefined4 *)&pOVar2->field_0xc = 0;\n      *(undefined4 *)&pOVar2->field_0x10 = 0;\n      *(undefined4 *)&pOVar2->field_0x14 = 0xffffffff;\n      *(undefined4 *)&pOVar2->field_0x18 = 0xffffffff;\n      pOVar2->field_0x1c = pOVar2->field_0x1c & 0xe0;\n      *(undefined4 *)&pOVar2->field_0x20 = 0;\n      *(undefined4 *)&pOVar2->field_0x24 = 0x10;\n      *(undefined4 *)&pOVar2->field_0x28 = 0;\n      pOVar2->plt_eh_frame_cie_size = unaff_EDI + 0x561ddd;\n      pOVar2->tlsdesc_rel_ = (Reloc_section *)0x0;\n      pOVar2->got_ = got;\n      pOVar2->irelative_rel_ = (Reloc_section *)0x0;\n      pOVar2->got_plt_ = got_plt;\n      pOVar2->count_ = 0;\n      pOVar2->got_irelative_ = got_irelative;\n      pOVar2->irelative_count_ = 0;\n      pOVar2->tlsdesc_got_offset_ = 0xffffffff;\n      (pOVar2->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      (pOVar2->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      (pOVar2->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      (pOVar2->free_list_).last_remove_._M_node = (_List_node_base *)pFVar1;\n      (pOVar2->free_list_).extend_ = false;\n      *(undefined4 *)&(pOVar2->free_list_).length_ = 0;\n      *(undefined4 *)((int)&(pOVar2->free_list_).length_ + 4) = 0;\n      *(undefined4 *)&(pOVar2->free_list_).min_hole_ = 0;\n      *(undefined4 *)((int)&(pOVar2->free_list_).min_hole_ + 4) = 0;\n                    /* try { // try from 0007a5de to 0007a5e2 has its CatchHandler @ 0007a7ec */\n      Output_data_plt_x86_64<64>::init(in_stack_ffffffd4,in_stack_ffffffd8);\n      pOVar2->plt_eh_frame_cie_size = unaff_EDI + 0x5623a9;\n      return pOVar2;\n    }" if (parenthesized_expression "(*(char *)(*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) + 0x4d75) == '\0')" ( (binary_expression "*(char *)(*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) + 0x4d75) == '\0'" (pointer_expression "*(char *)(*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) + 0x4d75)" * (cast_expression "(char *)(*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) + 0x4d75)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) + 0x4d75)" ( (binary_expression "*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) + 0x4d75" (pointer_expression "*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8)" * (cast_expression "(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8)" ( (binary_expression "*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8" (pointer_expression "*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8)" * (cast_expression "(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(BYTE_ARRAY_005702e9 + unaff_EDI + 8)" ( (binary_expression "BYTE_ARRAY_005702e9 + unaff_EDI + 8" (binary_expression "BYTE_ARRAY_005702e9 + unaff_EDI" identifier + identifier) + number_literal) )))) + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      pOVar2 = (Output_data_plt_x86_64<64> *)operator_new(0x74);\n      *(undefined4 *)&pOVar2->field_0x4 = 0;\n      *(undefined4 *)&pOVar2->field_0x8 = 0;\n      pFVar1 = &pOVar2->free_list_;\n      *(undefined4 *)&pOVar2->field_0xc = 0;\n      *(undefined4 *)&pOVar2->field_0x10 = 0;\n      *(undefined4 *)&pOVar2->field_0x14 = 0xffffffff;\n      *(undefined4 *)&pOVar2->field_0x18 = 0xffffffff;\n      pOVar2->field_0x1c = pOVar2->field_0x1c & 0xe0;\n      *(undefined4 *)&pOVar2->field_0x20 = 0;\n      *(undefined4 *)&pOVar2->field_0x24 = 0x10;\n      *(undefined4 *)&pOVar2->field_0x28 = 0;\n      pOVar2->plt_eh_frame_cie_size = unaff_EDI + 0x561ddd;\n      pOVar2->tlsdesc_rel_ = (Reloc_section *)0x0;\n      pOVar2->got_ = got;\n      pOVar2->irelative_rel_ = (Reloc_section *)0x0;\n      pOVar2->got_plt_ = got_plt;\n      pOVar2->count_ = 0;\n      pOVar2->got_irelative_ = got_irelative;\n      pOVar2->irelative_count_ = 0;\n      pOVar2->tlsdesc_got_offset_ = 0xffffffff;\n      (pOVar2->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      (pOVar2->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      (pOVar2->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      (pOVar2->free_list_).last_remove_._M_node = (_List_node_base *)pFVar1;\n      (pOVar2->free_list_).extend_ = false;\n      *(undefined4 *)&(pOVar2->free_list_).length_ = 0;\n      *(undefined4 *)((int)&(pOVar2->free_list_).length_ + 4) = 0;\n      *(undefined4 *)&(pOVar2->free_list_).min_hole_ = 0;\n      *(undefined4 *)((int)&(pOVar2->free_list_).min_hole_ + 4) = 0;\n                    /* try { // try from 0007a5de to 0007a5e2 has its CatchHandler @ 0007a7ec */\n      Output_data_plt_x86_64<64>::init(in_stack_ffffffd4,in_stack_ffffffd8);\n      pOVar2->plt_eh_frame_cie_size = unaff_EDI + 0x5623a9;\n      return pOVar2;\n    }" { (expression_statement "pOVar2 = (Output_data_plt_x86_64<64> *)operator_new(0x74);" (assignment_expression "pOVar2 = (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 *)&pOVar2->field_0x4 = 0;" (assignment_expression "*(undefined4 *)&pOVar2->field_0x4 = 0" (pointer_expression "*(undefined4 *)&pOVar2->field_0x4" * (cast_expression "(undefined4 *)&pOVar2->field_0x4" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar2->field_0x4" & (field_expression "pOVar2->field_0x4" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)&pOVar2->field_0x8 = 0;" (assignment_expression "*(undefined4 *)&pOVar2->field_0x8 = 0" (pointer_expression "*(undefined4 *)&pOVar2->field_0x8" * (cast_expression "(undefined4 *)&pOVar2->field_0x8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar2->field_0x8" & (field_expression "pOVar2->field_0x8" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "pFVar1 = &pOVar2->free_list_;" (assignment_expression "pFVar1 = &pOVar2->free_list_" identifier = (pointer_expression "&pOVar2->free_list_" & (field_expression "pOVar2->free_list_" identifier -> field_identifier))) ;) (expression_statement "*(undefined4 *)&pOVar2->field_0xc = 0;" (assignment_expression "*(undefined4 *)&pOVar2->field_0xc = 0" (pointer_expression "*(undefined4 *)&pOVar2->field_0xc" * (cast_expression "(undefined4 *)&pOVar2->field_0xc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar2->field_0xc" & (field_expression "pOVar2->field_0xc" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)&pOVar2->field_0x10 = 0;" (assignment_expression "*(undefined4 *)&pOVar2->field_0x10 = 0" (pointer_expression "*(undefined4 *)&pOVar2->field_0x10" * (cast_expression "(undefined4 *)&pOVar2->field_0x10" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar2->field_0x10" & (field_expression "pOVar2->field_0x10" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)&pOVar2->field_0x14 = 0xffffffff;" (assignment_expression "*(undefined4 *)&pOVar2->field_0x14 = 0xffffffff" (pointer_expression "*(undefined4 *)&pOVar2->field_0x14" * (cast_expression "(undefined4 *)&pOVar2->field_0x14" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar2->field_0x14" & (field_expression "pOVar2->field_0x14" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)&pOVar2->field_0x18 = 0xffffffff;" (assignment_expression "*(undefined4 *)&pOVar2->field_0x18 = 0xffffffff" (pointer_expression "*(undefined4 *)&pOVar2->field_0x18" * (cast_expression "(undefined4 *)&pOVar2->field_0x18" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar2->field_0x18" & (field_expression "pOVar2->field_0x18" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "pOVar2->field_0x1c = pOVar2->field_0x1c & 0xe0;" (assignment_expression "pOVar2->field_0x1c = pOVar2->field_0x1c & 0xe0" (field_expression "pOVar2->field_0x1c" identifier -> field_identifier) = (binary_expression "pOVar2->field_0x1c & 0xe0" (field_expression "pOVar2->field_0x1c" identifier -> field_identifier) & number_literal)) ;) (expression_statement "*(undefined4 *)&pOVar2->field_0x20 = 0;" (assignment_expression "*(undefined4 *)&pOVar2->field_0x20 = 0" (pointer_expression "*(undefined4 *)&pOVar2->field_0x20" * (cast_expression "(undefined4 *)&pOVar2->field_0x20" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar2->field_0x20" & (field_expression "pOVar2->field_0x20" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)&pOVar2->field_0x24 = 0x10;" (assignment_expression "*(undefined4 *)&pOVar2->field_0x24 = 0x10" (pointer_expression "*(undefined4 *)&pOVar2->field_0x24" * (cast_expression "(undefined4 *)&pOVar2->field_0x24" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar2->field_0x24" & (field_expression "pOVar2->field_0x24" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)&pOVar2->field_0x28 = 0;" (assignment_expression "*(undefined4 *)&pOVar2->field_0x28 = 0" (pointer_expression "*(undefined4 *)&pOVar2->field_0x28" * (cast_expression "(undefined4 *)&pOVar2->field_0x28" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar2->field_0x28" & (field_expression "pOVar2->field_0x28" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "pOVar2->plt_eh_frame_cie_size = unaff_EDI + 0x561ddd;" (assignment_expression "pOVar2->plt_eh_frame_cie_size = unaff_EDI + 0x561ddd" (field_expression "pOVar2->plt_eh_frame_cie_size" identifier -> field_identifier) = (binary_expression "unaff_EDI + 0x561ddd" identifier + number_literal)) ;) (expression_statement "pOVar2->tlsdesc_rel_ = (Reloc_section *)0x0;" (assignment_expression "pOVar2->tlsdesc_rel_ = (Reloc_section *)0x0" (field_expression "pOVar2->tlsdesc_rel_" identifier -> field_identifier) = (cast_expression "(Reloc_section *)0x0" ( (type_descriptor "Reloc_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pOVar2->got_ = got;" (assignment_expression "pOVar2->got_ = got" (field_expression "pOVar2->got_" identifier -> field_identifier) = identifier) ;) (expression_statement "pOVar2->irelative_rel_ = (Reloc_section *)0x0;" (assignment_expression "pOVar2->irelative_rel_ = (Reloc_section *)0x0" (field_expression "pOVar2->irelative_rel_" identifier -> field_identifier) = (cast_expression "(Reloc_section *)0x0" ( (type_descriptor "Reloc_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pOVar2->got_plt_ = got_plt;" (assignment_expression "pOVar2->got_plt_ = got_plt" (field_expression "pOVar2->got_plt_" identifier -> field_identifier) = identifier) ;) (expression_statement "pOVar2->count_ = 0;" (assignment_expression "pOVar2->count_ = 0" (field_expression "pOVar2->count_" identifier -> field_identifier) = number_literal) ;) (expression_statement "pOVar2->got_irelative_ = got_irelative;" (assignment_expression "pOVar2->got_irelative_ = got_irelative" (field_expression "pOVar2->got_irelative_" identifier -> field_identifier) = identifier) ;) (expression_statement "pOVar2->irelative_count_ = 0;" (assignment_expression "pOVar2->irelative_count_ = 0" (field_expression "pOVar2->irelative_count_" identifier -> field_identifier) = number_literal) ;) (expression_statement "pOVar2->tlsdesc_got_offset_ = 0xffffffff;" (assignment_expression "pOVar2->tlsdesc_got_offset_ = 0xffffffff" (field_expression "pOVar2->tlsdesc_got_offset_" identifier -> field_identifier) = number_literal) ;) (ERROR "(pOVar2->free_list_).list_.\n      super__List_base<gold::" (binary_expression "(pOVar2->free_list_).list_.\n      super__List_base<gold" (field_expression "(pOVar2->free_list_).list_.\n      super__List_base" (field_expression "(pOVar2->free_list_).list_" (parenthesized_expression "(pOVar2->free_list_)" ( (field_expression "pOVar2->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 "(pOVar2->free_list_).list_.\n      super__List_base<gold::" (binary_expression "(pOVar2->free_list_).list_.\n      super__List_base<gold" (field_expression "(pOVar2->free_list_).list_.\n      super__List_base" (field_expression "(pOVar2->free_list_).list_" (parenthesized_expression "(pOVar2->free_list_)" ( (field_expression "pOVar2->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 "(pOVar2->free_list_).list_.\n      super__List_base<gold::" (binary_expression "(pOVar2->free_list_).list_.\n      super__List_base<gold" (field_expression "(pOVar2->free_list_).list_.\n      super__List_base" (field_expression "(pOVar2->free_list_).list_" (parenthesized_expression "(pOVar2->free_list_)" ( (field_expression "pOVar2->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 "(pOVar2->free_list_).last_remove_._M_node = (_List_node_base *)pFVar1;" (assignment_expression "(pOVar2->free_list_).last_remove_._M_node = (_List_node_base *)pFVar1" (field_expression "(pOVar2->free_list_).last_remove_._M_node" (field_expression "(pOVar2->free_list_).last_remove_" (parenthesized_expression "(pOVar2->free_list_)" ( (field_expression "pOVar2->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 "(pOVar2->free_list_).extend_ = false;" (assignment_expression "(pOVar2->free_list_).extend_ = false" (field_expression "(pOVar2->free_list_).extend_" (parenthesized_expression "(pOVar2->free_list_)" ( (field_expression "pOVar2->free_list_" identifier -> field_identifier) )) . field_identifier) = false) ;) (expression_statement "*(undefined4 *)&(pOVar2->free_list_).length_ = 0;" (assignment_expression "*(undefined4 *)&(pOVar2->free_list_).length_ = 0" (pointer_expression "*(undefined4 *)&(pOVar2->free_list_).length_" * (cast_expression "(undefined4 *)&(pOVar2->free_list_).length_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar2->free_list_).length_" & (field_expression "(pOVar2->free_list_).length_" (parenthesized_expression "(pOVar2->free_list_)" ( (field_expression "pOVar2->free_list_" identifier -> field_identifier) )) . field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&(pOVar2->free_list_).length_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&(pOVar2->free_list_).length_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&(pOVar2->free_list_).length_ + 4)" * (cast_expression "(undefined4 *)((int)&(pOVar2->free_list_).length_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pOVar2->free_list_).length_ + 4)" ( (binary_expression "(int)&(pOVar2->free_list_).length_ + 4" (cast_expression "(int)&(pOVar2->free_list_).length_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar2->free_list_).length_" & (field_expression "(pOVar2->free_list_).length_" (parenthesized_expression "(pOVar2->free_list_)" ( (field_expression "pOVar2->free_list_" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)&(pOVar2->free_list_).min_hole_ = 0;" (assignment_expression "*(undefined4 *)&(pOVar2->free_list_).min_hole_ = 0" (pointer_expression "*(undefined4 *)&(pOVar2->free_list_).min_hole_" * (cast_expression "(undefined4 *)&(pOVar2->free_list_).min_hole_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar2->free_list_).min_hole_" & (field_expression "(pOVar2->free_list_).min_hole_" (parenthesized_expression "(pOVar2->free_list_)" ( (field_expression "pOVar2->free_list_" identifier -> field_identifier) )) . field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&(pOVar2->free_list_).min_hole_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&(pOVar2->free_list_).min_hole_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&(pOVar2->free_list_).min_hole_ + 4)" * (cast_expression "(undefined4 *)((int)&(pOVar2->free_list_).min_hole_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pOVar2->free_list_).min_hole_ + 4)" ( (binary_expression "(int)&(pOVar2->free_list_).min_hole_ + 4" (cast_expression "(int)&(pOVar2->free_list_).min_hole_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar2->free_list_).min_hole_" & (field_expression "(pOVar2->free_list_).min_hole_" (parenthesized_expression "(pOVar2->free_list_)" ( (field_expression "pOVar2->free_list_" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) = number_literal) ;) comment (expression_statement "Output_data_plt_x86_64<64>::init(in_stack_ffffffd4,in_stack_ffffffd8);" (binary_expression "Output_data_plt_x86_64<64>::init(in_stack_ffffffd4,in_stack_ffffffd8)" (binary_expression "Output_data_plt_x86_64<64" identifier < number_literal) > (ERROR "::" : :) (call_expression "init(in_stack_ffffffd4,in_stack_ffffffd8)" identifier (argument_list "(in_stack_ffffffd4,in_stack_ffffffd8)" ( identifier , identifier )))) ;) (expression_statement "pOVar2->plt_eh_frame_cie_size = unaff_EDI + 0x5623a9;" (assignment_expression "pOVar2->plt_eh_frame_cie_size = unaff_EDI + 0x5623a9" (field_expression "pOVar2->plt_eh_frame_cie_size" identifier -> field_identifier) = (binary_expression "unaff_EDI + 0x5623a9" identifier + number_literal)) ;) (return_statement "return pOVar2;" return identifier ;) })) (expression_statement "pOVar2 = (Output_data_plt_x86_64<64> *)operator_new(0x78);" (assignment_expression "pOVar2 = (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 *)&pOVar2->field_0x4 = 0;" (assignment_expression "*(undefined4 *)&pOVar2->field_0x4 = 0" (pointer_expression "*(undefined4 *)&pOVar2->field_0x4" * (cast_expression "(undefined4 *)&pOVar2->field_0x4" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar2->field_0x4" & (field_expression "pOVar2->field_0x4" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)&pOVar2->field_0x8 = 0;" (assignment_expression "*(undefined4 *)&pOVar2->field_0x8 = 0" (pointer_expression "*(undefined4 *)&pOVar2->field_0x8" * (cast_expression "(undefined4 *)&pOVar2->field_0x8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar2->field_0x8" & (field_expression "pOVar2->field_0x8" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "pFVar1 = &pOVar2->free_list_;" (assignment_expression "pFVar1 = &pOVar2->free_list_" identifier = (pointer_expression "&pOVar2->free_list_" & (field_expression "pOVar2->free_list_" identifier -> field_identifier))) ;) (expression_statement "*(undefined4 *)&pOVar2->field_0xc = 0;" (assignment_expression "*(undefined4 *)&pOVar2->field_0xc = 0" (pointer_expression "*(undefined4 *)&pOVar2->field_0xc" * (cast_expression "(undefined4 *)&pOVar2->field_0xc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar2->field_0xc" & (field_expression "pOVar2->field_0xc" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)&pOVar2->field_0x10 = 0;" (assignment_expression "*(undefined4 *)&pOVar2->field_0x10 = 0" (pointer_expression "*(undefined4 *)&pOVar2->field_0x10" * (cast_expression "(undefined4 *)&pOVar2->field_0x10" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar2->field_0x10" & (field_expression "pOVar2->field_0x10" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)&pOVar2->field_0x14 = 0xffffffff;" (assignment_expression "*(undefined4 *)&pOVar2->field_0x14 = 0xffffffff" (pointer_expression "*(undefined4 *)&pOVar2->field_0x14" * (cast_expression "(undefined4 *)&pOVar2->field_0x14" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar2->field_0x14" & (field_expression "pOVar2->field_0x14" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)&pOVar2->field_0x18 = 0xffffffff;" (assignment_expression "*(undefined4 *)&pOVar2->field_0x18 = 0xffffffff" (pointer_expression "*(undefined4 *)&pOVar2->field_0x18" * (cast_expression "(undefined4 *)&pOVar2->field_0x18" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar2->field_0x18" & (field_expression "pOVar2->field_0x18" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "pOVar2->field_0x1c = pOVar2->field_0x1c & 0xe0;" (assignment_expression "pOVar2->field_0x1c = pOVar2->field_0x1c & 0xe0" (field_expression "pOVar2->field_0x1c" identifier -> field_identifier) = (binary_expression "pOVar2->field_0x1c & 0xe0" (field_expression "pOVar2->field_0x1c" identifier -> field_identifier) & number_literal)) ;) (expression_statement "*(undefined4 *)&pOVar2->field_0x20 = 0;" (assignment_expression "*(undefined4 *)&pOVar2->field_0x20 = 0" (pointer_expression "*(undefined4 *)&pOVar2->field_0x20" * (cast_expression "(undefined4 *)&pOVar2->field_0x20" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar2->field_0x20" & (field_expression "pOVar2->field_0x20" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)&pOVar2->field_0x24 = 0x10;" (assignment_expression "*(undefined4 *)&pOVar2->field_0x24 = 0x10" (pointer_expression "*(undefined4 *)&pOVar2->field_0x24" * (cast_expression "(undefined4 *)&pOVar2->field_0x24" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar2->field_0x24" & (field_expression "pOVar2->field_0x24" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)&pOVar2->field_0x28 = 0;" (assignment_expression "*(undefined4 *)&pOVar2->field_0x28 = 0" (pointer_expression "*(undefined4 *)&pOVar2->field_0x28" * (cast_expression "(undefined4 *)&pOVar2->field_0x28" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar2->field_0x28" & (field_expression "pOVar2->field_0x28" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "pOVar2->plt_eh_frame_cie_size = unaff_EDI + 0x561ddd;" (assignment_expression "pOVar2->plt_eh_frame_cie_size = unaff_EDI + 0x561ddd" (field_expression "pOVar2->plt_eh_frame_cie_size" identifier -> field_identifier) = (binary_expression "unaff_EDI + 0x561ddd" identifier + number_literal)) ;) (expression_statement "pOVar2->tlsdesc_rel_ = (Reloc_section *)0x0;" (assignment_expression "pOVar2->tlsdesc_rel_ = (Reloc_section *)0x0" (field_expression "pOVar2->tlsdesc_rel_" identifier -> field_identifier) = (cast_expression "(Reloc_section *)0x0" ( (type_descriptor "Reloc_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pOVar2->got_ = got;" (assignment_expression "pOVar2->got_ = got" (field_expression "pOVar2->got_" identifier -> field_identifier) = identifier) ;) (expression_statement "pOVar2->irelative_rel_ = (Reloc_section *)0x0;" (assignment_expression "pOVar2->irelative_rel_ = (Reloc_section *)0x0" (field_expression "pOVar2->irelative_rel_" identifier -> field_identifier) = (cast_expression "(Reloc_section *)0x0" ( (type_descriptor "Reloc_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pOVar2->got_plt_ = got_plt;" (assignment_expression "pOVar2->got_plt_ = got_plt" (field_expression "pOVar2->got_plt_" identifier -> field_identifier) = identifier) ;) (expression_statement "pOVar2->count_ = 0;" (assignment_expression "pOVar2->count_ = 0" (field_expression "pOVar2->count_" identifier -> field_identifier) = number_literal) ;) (expression_statement "pOVar2->got_irelative_ = got_irelative;" (assignment_expression "pOVar2->got_irelative_ = got_irelative" (field_expression "pOVar2->got_irelative_" identifier -> field_identifier) = identifier) ;) (expression_statement "pOVar2->irelative_count_ = 0;" (assignment_expression "pOVar2->irelative_count_ = 0" (field_expression "pOVar2->irelative_count_" identifier -> field_identifier) = number_literal) ;) (expression_statement "pOVar2->tlsdesc_got_offset_ = 0xffffffff;" (assignment_expression "pOVar2->tlsdesc_got_offset_ = 0xffffffff" (field_expression "pOVar2->tlsdesc_got_offset_" identifier -> field_identifier) = number_literal) ;) (ERROR "(pOVar2->free_list_).list_.\n    super__List_base<gold::" (binary_expression "(pOVar2->free_list_).list_.\n    super__List_base<gold" (field_expression "(pOVar2->free_list_).list_.\n    super__List_base" (field_expression "(pOVar2->free_list_).list_" (parenthesized_expression "(pOVar2->free_list_)" ( (field_expression "pOVar2->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 "(pOVar2->free_list_).list_.\n    super__List_base<gold::" (binary_expression "(pOVar2->free_list_).list_.\n    super__List_base<gold" (field_expression "(pOVar2->free_list_).list_.\n    super__List_base" (field_expression "(pOVar2->free_list_).list_" (parenthesized_expression "(pOVar2->free_list_)" ( (field_expression "pOVar2->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 "(pOVar2->free_list_).list_.\n    super__List_base<gold::" (binary_expression "(pOVar2->free_list_).list_.\n    super__List_base<gold" (field_expression "(pOVar2->free_list_).list_.\n    super__List_base" (field_expression "(pOVar2->free_list_).list_" (parenthesized_expression "(pOVar2->free_list_)" ( (field_expression "pOVar2->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 "(pOVar2->free_list_).last_remove_._M_node = (_List_node_base *)pFVar1;" (assignment_expression "(pOVar2->free_list_).last_remove_._M_node = (_List_node_base *)pFVar1" (field_expression "(pOVar2->free_list_).last_remove_._M_node" (field_expression "(pOVar2->free_list_).last_remove_" (parenthesized_expression "(pOVar2->free_list_)" ( (field_expression "pOVar2->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 "(pOVar2->free_list_).extend_ = false;" (assignment_expression "(pOVar2->free_list_).extend_ = false" (field_expression "(pOVar2->free_list_).extend_" (parenthesized_expression "(pOVar2->free_list_)" ( (field_expression "pOVar2->free_list_" identifier -> field_identifier) )) . field_identifier) = false) ;) (expression_statement "*(undefined4 *)&(pOVar2->free_list_).length_ = 0;" (assignment_expression "*(undefined4 *)&(pOVar2->free_list_).length_ = 0" (pointer_expression "*(undefined4 *)&(pOVar2->free_list_).length_" * (cast_expression "(undefined4 *)&(pOVar2->free_list_).length_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar2->free_list_).length_" & (field_expression "(pOVar2->free_list_).length_" (parenthesized_expression "(pOVar2->free_list_)" ( (field_expression "pOVar2->free_list_" identifier -> field_identifier) )) . field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&(pOVar2->free_list_).length_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&(pOVar2->free_list_).length_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&(pOVar2->free_list_).length_ + 4)" * (cast_expression "(undefined4 *)((int)&(pOVar2->free_list_).length_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pOVar2->free_list_).length_ + 4)" ( (binary_expression "(int)&(pOVar2->free_list_).length_ + 4" (cast_expression "(int)&(pOVar2->free_list_).length_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar2->free_list_).length_" & (field_expression "(pOVar2->free_list_).length_" (parenthesized_expression "(pOVar2->free_list_)" ( (field_expression "pOVar2->free_list_" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)&(pOVar2->free_list_).min_hole_ = 0;" (assignment_expression "*(undefined4 *)&(pOVar2->free_list_).min_hole_ = 0" (pointer_expression "*(undefined4 *)&(pOVar2->free_list_).min_hole_" * (cast_expression "(undefined4 *)&(pOVar2->free_list_).min_hole_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar2->free_list_).min_hole_" & (field_expression "(pOVar2->free_list_).min_hole_" (parenthesized_expression "(pOVar2->free_list_)" ( (field_expression "pOVar2->free_list_" identifier -> field_identifier) )) . field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&(pOVar2->free_list_).min_hole_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&(pOVar2->free_list_).min_hole_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&(pOVar2->free_list_).min_hole_ + 4)" * (cast_expression "(undefined4 *)((int)&(pOVar2->free_list_).min_hole_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pOVar2->free_list_).min_hole_ + 4)" ( (binary_expression "(int)&(pOVar2->free_list_).min_hole_ + 4" (cast_expression "(int)&(pOVar2->free_list_).min_hole_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar2->free_list_).min_hole_" & (field_expression "(pOVar2->free_list_).min_hole_" (parenthesized_expression "(pOVar2->free_list_)" ( (field_expression "pOVar2->free_list_" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) = number_literal) ;) comment (expression_statement "Output_data_plt_x86_64<64>::init(in_stack_ffffffd4,in_stack_ffffffd8);" (binary_expression "Output_data_plt_x86_64<64>::init(in_stack_ffffffd4,in_stack_ffffffd8)" (binary_expression "Output_data_plt_x86_64<64" identifier < number_literal) > (ERROR "::" : :) (call_expression "init(in_stack_ffffffd4,in_stack_ffffffd8)" identifier (argument_list "(in_stack_ffffffd4,in_stack_ffffffd8)" ( identifier , identifier )))) ;) (expression_statement "pOVar2[1].plt_eh_frame_cie_size = 0;" (assignment_expression "pOVar2[1].plt_eh_frame_cie_size = 0" (field_expression "pOVar2[1].plt_eh_frame_cie_size" (subscript_expression "pOVar2[1]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (expression_statement "pOVar2->plt_eh_frame_cie_size = unaff_EDI + 0x562101;" (assignment_expression "pOVar2->plt_eh_frame_cie_size = unaff_EDI + 0x562101" (field_expression "pOVar2->plt_eh_frame_cie_size" identifier -> field_identifier) = (binary_expression "unaff_EDI + 0x562101" identifier + number_literal)) ;) (return_statement "return pOVar2;" return identifier ;) })) comment (labeled_statement "gold::do_gold_unreachable((char *)(unaff_EDI + 0x3cdd96),0x5c,&UNK_003d8e61 + unaff_EDI);" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable((char *)(unaff_EDI + 0x3cdd96),0x5c,&UNK_003d8e61 + unaff_EDI);" (call_expression "do_gold_unreachable((char *)(unaff_EDI + 0x3cdd96),0x5c,&UNK_003d8e61 + unaff_EDI)" identifier (argument_list "((char *)(unaff_EDI + 0x3cdd96),0x5c,&UNK_003d8e61 + unaff_EDI)" ( (cast_expression "(char *)(unaff_EDI + 0x3cdd96)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x3cdd96)" ( (binary_expression "unaff_EDI + 0x3cdd96" identifier + number_literal) ))) , number_literal , (binary_expression "&UNK_003d8e61 + unaff_EDI" (pointer_expression "&UNK_003d8e61" & identifier) + identifier) ))) ;)) (ERROR "}" }))
(translation_unit "int * FUN_0007a4d0(int param_1,undefined4 param_2,int param_3,int param_4,int param_5)\n\n{\n  int *piVar1;\n  int *piVar2;\n  int unaff_EDI;\n  \n  FUN_00074f0a();\n  if ((*(byte *)(param_1 + 0x68) & 1) != 0) {\n    piVar2 = (int *)FUN_003ac4d0(0x78);\n    piVar2[1] = 0;\n    piVar2[2] = 0;\n    piVar1 = piVar2 + 0x14;\n    piVar2[3] = 0;\n    piVar2[4] = 0;\n    piVar2[5] = -1;\n    piVar2[6] = -1;\n    *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n    piVar2[8] = 0;\n    piVar2[9] = 0x10;\n    piVar2[10] = 0;\n    *piVar2 = unaff_EDI + 0x561ddd;\n    piVar2[0xc] = 0;\n    piVar2[0xe] = param_3;\n    piVar2[0xd] = 0;\n    piVar2[0xf] = param_4;\n    piVar2[0x11] = 0;\n    piVar2[0x10] = param_5;\n    piVar2[0x12] = 0;\n    piVar2[0x13] = -1;\n    piVar2[0x15] = (int)piVar1;\n    piVar2[0x14] = (int)piVar1;\n    piVar2[0x16] = 0;\n    piVar2[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar2 + 0x18) = 0;\n    piVar2[0x19] = 0;\n    piVar2[0x1a] = 0;\n    piVar2[0x1b] = 0;\n    piVar2[0x1c] = 0;\n                    \n    FUN_00079a30();\n    piVar2[0x1d] = 0;\n    *piVar2 = unaff_EDI + 0x562299;\n    return piVar2;\n  }\n  if (*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) != 0) {\n    if (*(char *)(*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) + 0x4d75) == '\0') {\n      piVar2 = (int *)FUN_003ac4d0(0x74);\n      piVar2[1] = 0;\n      piVar2[2] = 0;\n      piVar1 = piVar2 + 0x14;\n      piVar2[3] = 0;\n      piVar2[4] = 0;\n      piVar2[5] = -1;\n      piVar2[6] = -1;\n      *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n      piVar2[8] = 0;\n      piVar2[9] = 0x10;\n      piVar2[10] = 0;\n      *piVar2 = unaff_EDI + 0x561ddd;\n      piVar2[0xc] = 0;\n      piVar2[0xe] = param_3;\n      piVar2[0xd] = 0;\n      piVar2[0xf] = param_4;\n      piVar2[0x11] = 0;\n      piVar2[0x10] = param_5;\n      piVar2[0x12] = 0;\n      piVar2[0x13] = -1;\n      piVar2[0x15] = (int)piVar1;\n      piVar2[0x14] = (int)piVar1;\n      piVar2[0x16] = 0;\n      piVar2[0x17] = (int)piVar1;\n      *(undefined1 *)(piVar2 + 0x18) = 0;\n      piVar2[0x19] = 0;\n      piVar2[0x1a] = 0;\n      piVar2[0x1b] = 0;\n      piVar2[0x1c] = 0;\n                    \n      FUN_00079a30();\n      *piVar2 = unaff_EDI + 0x5623a9;\n      return piVar2;\n    }\n    piVar2 = (int *)FUN_003ac4d0(0x78);\n    piVar2[1] = 0;\n    piVar2[2] = 0;\n    piVar1 = piVar2 + 0x14;\n    piVar2[3] = 0;\n    piVar2[4] = 0;\n    piVar2[5] = -1;\n    piVar2[6] = -1;\n    *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n    piVar2[8] = 0;\n    piVar2[9] = 0x10;\n    piVar2[10] = 0;\n    *piVar2 = unaff_EDI + 0x561ddd;\n    piVar2[0xc] = 0;\n    piVar2[0xe] = param_3;\n    piVar2[0xd] = 0;\n    piVar2[0xf] = param_4;\n    piVar2[0x11] = 0;\n    piVar2[0x10] = param_5;\n    piVar2[0x12] = 0;\n    piVar2[0x13] = -1;\n    piVar2[0x15] = (int)piVar1;\n    piVar2[0x14] = (int)piVar1;\n    piVar2[0x16] = 0;\n    piVar2[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar2 + 0x18) = 0;\n    piVar2[0x19] = 0;\n    piVar2[0x1a] = 0;\n    piVar2[0x1b] = 0;\n    piVar2[0x1c] = 0;\n                    \n    FUN_00079a30();\n    piVar2[0x1d] = 0;\n    *piVar2 = unaff_EDI + 0x562101;\n    return piVar2;\n  }\n                    \n  FUN_002446e0(unaff_EDI + 0x3cdd96,0x5c,unaff_EDI + 0x3d8e61,0);\n}\n\n" (function_definition "int * FUN_0007a4d0(int param_1,undefined4 param_2,int param_3,int param_4,int param_5)\n\n{\n  int *piVar1;\n  int *piVar2;\n  int unaff_EDI;\n  \n  FUN_00074f0a();\n  if ((*(byte *)(param_1 + 0x68) & 1) != 0) {\n    piVar2 = (int *)FUN_003ac4d0(0x78);\n    piVar2[1] = 0;\n    piVar2[2] = 0;\n    piVar1 = piVar2 + 0x14;\n    piVar2[3] = 0;\n    piVar2[4] = 0;\n    piVar2[5] = -1;\n    piVar2[6] = -1;\n    *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n    piVar2[8] = 0;\n    piVar2[9] = 0x10;\n    piVar2[10] = 0;\n    *piVar2 = unaff_EDI + 0x561ddd;\n    piVar2[0xc] = 0;\n    piVar2[0xe] = param_3;\n    piVar2[0xd] = 0;\n    piVar2[0xf] = param_4;\n    piVar2[0x11] = 0;\n    piVar2[0x10] = param_5;\n    piVar2[0x12] = 0;\n    piVar2[0x13] = -1;\n    piVar2[0x15] = (int)piVar1;\n    piVar2[0x14] = (int)piVar1;\n    piVar2[0x16] = 0;\n    piVar2[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar2 + 0x18) = 0;\n    piVar2[0x19] = 0;\n    piVar2[0x1a] = 0;\n    piVar2[0x1b] = 0;\n    piVar2[0x1c] = 0;\n                    \n    FUN_00079a30();\n    piVar2[0x1d] = 0;\n    *piVar2 = unaff_EDI + 0x562299;\n    return piVar2;\n  }\n  if (*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) != 0) {\n    if (*(char *)(*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) + 0x4d75) == '\0') {\n      piVar2 = (int *)FUN_003ac4d0(0x74);\n      piVar2[1] = 0;\n      piVar2[2] = 0;\n      piVar1 = piVar2 + 0x14;\n      piVar2[3] = 0;\n      piVar2[4] = 0;\n      piVar2[5] = -1;\n      piVar2[6] = -1;\n      *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n      piVar2[8] = 0;\n      piVar2[9] = 0x10;\n      piVar2[10] = 0;\n      *piVar2 = unaff_EDI + 0x561ddd;\n      piVar2[0xc] = 0;\n      piVar2[0xe] = param_3;\n      piVar2[0xd] = 0;\n      piVar2[0xf] = param_4;\n      piVar2[0x11] = 0;\n      piVar2[0x10] = param_5;\n      piVar2[0x12] = 0;\n      piVar2[0x13] = -1;\n      piVar2[0x15] = (int)piVar1;\n      piVar2[0x14] = (int)piVar1;\n      piVar2[0x16] = 0;\n      piVar2[0x17] = (int)piVar1;\n      *(undefined1 *)(piVar2 + 0x18) = 0;\n      piVar2[0x19] = 0;\n      piVar2[0x1a] = 0;\n      piVar2[0x1b] = 0;\n      piVar2[0x1c] = 0;\n                    \n      FUN_00079a30();\n      *piVar2 = unaff_EDI + 0x5623a9;\n      return piVar2;\n    }\n    piVar2 = (int *)FUN_003ac4d0(0x78);\n    piVar2[1] = 0;\n    piVar2[2] = 0;\n    piVar1 = piVar2 + 0x14;\n    piVar2[3] = 0;\n    piVar2[4] = 0;\n    piVar2[5] = -1;\n    piVar2[6] = -1;\n    *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n    piVar2[8] = 0;\n    piVar2[9] = 0x10;\n    piVar2[10] = 0;\n    *piVar2 = unaff_EDI + 0x561ddd;\n    piVar2[0xc] = 0;\n    piVar2[0xe] = param_3;\n    piVar2[0xd] = 0;\n    piVar2[0xf] = param_4;\n    piVar2[0x11] = 0;\n    piVar2[0x10] = param_5;\n    piVar2[0x12] = 0;\n    piVar2[0x13] = -1;\n    piVar2[0x15] = (int)piVar1;\n    piVar2[0x14] = (int)piVar1;\n    piVar2[0x16] = 0;\n    piVar2[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar2 + 0x18) = 0;\n    piVar2[0x19] = 0;\n    piVar2[0x1a] = 0;\n    piVar2[0x1b] = 0;\n    piVar2[0x1c] = 0;\n                    \n    FUN_00079a30();\n    piVar2[0x1d] = 0;\n    *piVar2 = unaff_EDI + 0x562101;\n    return piVar2;\n  }\n                    \n  FUN_002446e0(unaff_EDI + 0x3cdd96,0x5c,unaff_EDI + 0x3d8e61,0);\n}" primitive_type (pointer_declarator "* FUN_0007a4d0(int param_1,undefined4 param_2,int param_3,int param_4,int param_5)" * (function_declarator "FUN_0007a4d0(int param_1,undefined4 param_2,int param_3,int param_4,int param_5)" identifier (parameter_list "(int param_1,undefined4 param_2,int param_3,int param_4,int param_5)" ( (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) )))) (compound_statement "{\n  int *piVar1;\n  int *piVar2;\n  int unaff_EDI;\n  \n  FUN_00074f0a();\n  if ((*(byte *)(param_1 + 0x68) & 1) != 0) {\n    piVar2 = (int *)FUN_003ac4d0(0x78);\n    piVar2[1] = 0;\n    piVar2[2] = 0;\n    piVar1 = piVar2 + 0x14;\n    piVar2[3] = 0;\n    piVar2[4] = 0;\n    piVar2[5] = -1;\n    piVar2[6] = -1;\n    *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n    piVar2[8] = 0;\n    piVar2[9] = 0x10;\n    piVar2[10] = 0;\n    *piVar2 = unaff_EDI + 0x561ddd;\n    piVar2[0xc] = 0;\n    piVar2[0xe] = param_3;\n    piVar2[0xd] = 0;\n    piVar2[0xf] = param_4;\n    piVar2[0x11] = 0;\n    piVar2[0x10] = param_5;\n    piVar2[0x12] = 0;\n    piVar2[0x13] = -1;\n    piVar2[0x15] = (int)piVar1;\n    piVar2[0x14] = (int)piVar1;\n    piVar2[0x16] = 0;\n    piVar2[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar2 + 0x18) = 0;\n    piVar2[0x19] = 0;\n    piVar2[0x1a] = 0;\n    piVar2[0x1b] = 0;\n    piVar2[0x1c] = 0;\n                    \n    FUN_00079a30();\n    piVar2[0x1d] = 0;\n    *piVar2 = unaff_EDI + 0x562299;\n    return piVar2;\n  }\n  if (*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) != 0) {\n    if (*(char *)(*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) + 0x4d75) == '\0') {\n      piVar2 = (int *)FUN_003ac4d0(0x74);\n      piVar2[1] = 0;\n      piVar2[2] = 0;\n      piVar1 = piVar2 + 0x14;\n      piVar2[3] = 0;\n      piVar2[4] = 0;\n      piVar2[5] = -1;\n      piVar2[6] = -1;\n      *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n      piVar2[8] = 0;\n      piVar2[9] = 0x10;\n      piVar2[10] = 0;\n      *piVar2 = unaff_EDI + 0x561ddd;\n      piVar2[0xc] = 0;\n      piVar2[0xe] = param_3;\n      piVar2[0xd] = 0;\n      piVar2[0xf] = param_4;\n      piVar2[0x11] = 0;\n      piVar2[0x10] = param_5;\n      piVar2[0x12] = 0;\n      piVar2[0x13] = -1;\n      piVar2[0x15] = (int)piVar1;\n      piVar2[0x14] = (int)piVar1;\n      piVar2[0x16] = 0;\n      piVar2[0x17] = (int)piVar1;\n      *(undefined1 *)(piVar2 + 0x18) = 0;\n      piVar2[0x19] = 0;\n      piVar2[0x1a] = 0;\n      piVar2[0x1b] = 0;\n      piVar2[0x1c] = 0;\n                    \n      FUN_00079a30();\n      *piVar2 = unaff_EDI + 0x5623a9;\n      return piVar2;\n    }\n    piVar2 = (int *)FUN_003ac4d0(0x78);\n    piVar2[1] = 0;\n    piVar2[2] = 0;\n    piVar1 = piVar2 + 0x14;\n    piVar2[3] = 0;\n    piVar2[4] = 0;\n    piVar2[5] = -1;\n    piVar2[6] = -1;\n    *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n    piVar2[8] = 0;\n    piVar2[9] = 0x10;\n    piVar2[10] = 0;\n    *piVar2 = unaff_EDI + 0x561ddd;\n    piVar2[0xc] = 0;\n    piVar2[0xe] = param_3;\n    piVar2[0xd] = 0;\n    piVar2[0xf] = param_4;\n    piVar2[0x11] = 0;\n    piVar2[0x10] = param_5;\n    piVar2[0x12] = 0;\n    piVar2[0x13] = -1;\n    piVar2[0x15] = (int)piVar1;\n    piVar2[0x14] = (int)piVar1;\n    piVar2[0x16] = 0;\n    piVar2[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar2 + 0x18) = 0;\n    piVar2[0x19] = 0;\n    piVar2[0x1a] = 0;\n    piVar2[0x1b] = 0;\n    piVar2[0x1c] = 0;\n                    \n    FUN_00079a30();\n    piVar2[0x1d] = 0;\n    *piVar2 = unaff_EDI + 0x562101;\n    return piVar2;\n  }\n                    \n  FUN_002446e0(unaff_EDI + 0x3cdd96,0x5c,unaff_EDI + 0x3d8e61,0);\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "int unaff_EDI;" primitive_type identifier ;) (expression_statement "FUN_00074f0a();" (call_expression "FUN_00074f0a()" identifier (argument_list "()" ( ))) ;) (if_statement "if ((*(byte *)(param_1 + 0x68) & 1) != 0) {\n    piVar2 = (int *)FUN_003ac4d0(0x78);\n    piVar2[1] = 0;\n    piVar2[2] = 0;\n    piVar1 = piVar2 + 0x14;\n    piVar2[3] = 0;\n    piVar2[4] = 0;\n    piVar2[5] = -1;\n    piVar2[6] = -1;\n    *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n    piVar2[8] = 0;\n    piVar2[9] = 0x10;\n    piVar2[10] = 0;\n    *piVar2 = unaff_EDI + 0x561ddd;\n    piVar2[0xc] = 0;\n    piVar2[0xe] = param_3;\n    piVar2[0xd] = 0;\n    piVar2[0xf] = param_4;\n    piVar2[0x11] = 0;\n    piVar2[0x10] = param_5;\n    piVar2[0x12] = 0;\n    piVar2[0x13] = -1;\n    piVar2[0x15] = (int)piVar1;\n    piVar2[0x14] = (int)piVar1;\n    piVar2[0x16] = 0;\n    piVar2[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar2 + 0x18) = 0;\n    piVar2[0x19] = 0;\n    piVar2[0x1a] = 0;\n    piVar2[0x1b] = 0;\n    piVar2[0x1c] = 0;\n                    \n    FUN_00079a30();\n    piVar2[0x1d] = 0;\n    *piVar2 = unaff_EDI + 0x562299;\n    return piVar2;\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    piVar2 = (int *)FUN_003ac4d0(0x78);\n    piVar2[1] = 0;\n    piVar2[2] = 0;\n    piVar1 = piVar2 + 0x14;\n    piVar2[3] = 0;\n    piVar2[4] = 0;\n    piVar2[5] = -1;\n    piVar2[6] = -1;\n    *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n    piVar2[8] = 0;\n    piVar2[9] = 0x10;\n    piVar2[10] = 0;\n    *piVar2 = unaff_EDI + 0x561ddd;\n    piVar2[0xc] = 0;\n    piVar2[0xe] = param_3;\n    piVar2[0xd] = 0;\n    piVar2[0xf] = param_4;\n    piVar2[0x11] = 0;\n    piVar2[0x10] = param_5;\n    piVar2[0x12] = 0;\n    piVar2[0x13] = -1;\n    piVar2[0x15] = (int)piVar1;\n    piVar2[0x14] = (int)piVar1;\n    piVar2[0x16] = 0;\n    piVar2[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar2 + 0x18) = 0;\n    piVar2[0x19] = 0;\n    piVar2[0x1a] = 0;\n    piVar2[0x1b] = 0;\n    piVar2[0x1c] = 0;\n                    \n    FUN_00079a30();\n    piVar2[0x1d] = 0;\n    *piVar2 = unaff_EDI + 0x562299;\n    return piVar2;\n  }" { (expression_statement "piVar2 = (int *)FUN_003ac4d0(0x78);" (assignment_expression "piVar2 = (int *)FUN_003ac4d0(0x78)" identifier = (cast_expression "(int *)FUN_003ac4d0(0x78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_003ac4d0(0x78)" identifier (argument_list "(0x78)" ( number_literal ))))) ;) (expression_statement "piVar2[1] = 0;" (assignment_expression "piVar2[1] = 0" (subscript_expression "piVar2[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[2] = 0;" (assignment_expression "piVar2[2] = 0" (subscript_expression "piVar2[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar1 = piVar2 + 0x14;" (assignment_expression "piVar1 = piVar2 + 0x14" identifier = (binary_expression "piVar2 + 0x14" identifier + number_literal)) ;) (expression_statement "piVar2[3] = 0;" (assignment_expression "piVar2[3] = 0" (subscript_expression "piVar2[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[4] = 0;" (assignment_expression "piVar2[4] = 0" (subscript_expression "piVar2[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[5] = -1;" (assignment_expression "piVar2[5] = -1" (subscript_expression "piVar2[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[6] = -1;" (assignment_expression "piVar2[6] = -1" (subscript_expression "piVar2[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;" (assignment_expression "*(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar2 + 7)" * (cast_expression "(byte *)(piVar2 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 7)" ( (binary_expression "piVar2 + 7" identifier + number_literal) )))) = (binary_expression "*(byte *)(piVar2 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar2 + 7)" * (cast_expression "(byte *)(piVar2 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 7)" ( (binary_expression "piVar2 + 7" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "piVar2[8] = 0;" (assignment_expression "piVar2[8] = 0" (subscript_expression "piVar2[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[9] = 0x10;" (assignment_expression "piVar2[9] = 0x10" (subscript_expression "piVar2[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[10] = 0;" (assignment_expression "piVar2[10] = 0" (subscript_expression "piVar2[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*piVar2 = unaff_EDI + 0x561ddd;" (assignment_expression "*piVar2 = unaff_EDI + 0x561ddd" (pointer_expression "*piVar2" * identifier) = (binary_expression "unaff_EDI + 0x561ddd" identifier + number_literal)) ;) (expression_statement "piVar2[0xc] = 0;" (assignment_expression "piVar2[0xc] = 0" (subscript_expression "piVar2[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0xe] = param_3;" (assignment_expression "piVar2[0xe] = param_3" (subscript_expression "piVar2[0xe]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar2[0xd] = 0;" (assignment_expression "piVar2[0xd] = 0" (subscript_expression "piVar2[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0xf] = param_4;" (assignment_expression "piVar2[0xf] = param_4" (subscript_expression "piVar2[0xf]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar2[0x11] = 0;" (assignment_expression "piVar2[0x11] = 0" (subscript_expression "piVar2[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x10] = param_5;" (assignment_expression "piVar2[0x10] = param_5" (subscript_expression "piVar2[0x10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar2[0x12] = 0;" (assignment_expression "piVar2[0x12] = 0" (subscript_expression "piVar2[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x13] = -1;" (assignment_expression "piVar2[0x13] = -1" (subscript_expression "piVar2[0x13]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x15] = (int)piVar1;" (assignment_expression "piVar2[0x15] = (int)piVar1" (subscript_expression "piVar2[0x15]" identifier [ number_literal ]) = (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar2[0x14] = (int)piVar1;" (assignment_expression "piVar2[0x14] = (int)piVar1" (subscript_expression "piVar2[0x14]" identifier [ number_literal ]) = (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar2[0x16] = 0;" (assignment_expression "piVar2[0x16] = 0" (subscript_expression "piVar2[0x16]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x17] = (int)piVar1;" (assignment_expression "piVar2[0x17] = (int)piVar1" (subscript_expression "piVar2[0x17]" identifier [ number_literal ]) = (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*(undefined1 *)(piVar2 + 0x18) = 0;" (assignment_expression "*(undefined1 *)(piVar2 + 0x18) = 0" (pointer_expression "*(undefined1 *)(piVar2 + 0x18)" * (cast_expression "(undefined1 *)(piVar2 + 0x18)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 0x18)" ( (binary_expression "piVar2 + 0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar2[0x19] = 0;" (assignment_expression "piVar2[0x19] = 0" (subscript_expression "piVar2[0x19]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x1a] = 0;" (assignment_expression "piVar2[0x1a] = 0" (subscript_expression "piVar2[0x1a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x1b] = 0;" (assignment_expression "piVar2[0x1b] = 0" (subscript_expression "piVar2[0x1b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x1c] = 0;" (assignment_expression "piVar2[0x1c] = 0" (subscript_expression "piVar2[0x1c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00079a30();" (call_expression "FUN_00079a30()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar2[0x1d] = 0;" (assignment_expression "piVar2[0x1d] = 0" (subscript_expression "piVar2[0x1d]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*piVar2 = unaff_EDI + 0x562299;" (assignment_expression "*piVar2 = unaff_EDI + 0x562299" (pointer_expression "*piVar2" * identifier) = (binary_expression "unaff_EDI + 0x562299" identifier + number_literal)) ;) (return_statement "return piVar2;" return identifier ;) })) (if_statement "if (*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) != 0) {\n    if (*(char *)(*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) + 0x4d75) == '\0') {\n      piVar2 = (int *)FUN_003ac4d0(0x74);\n      piVar2[1] = 0;\n      piVar2[2] = 0;\n      piVar1 = piVar2 + 0x14;\n      piVar2[3] = 0;\n      piVar2[4] = 0;\n      piVar2[5] = -1;\n      piVar2[6] = -1;\n      *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n      piVar2[8] = 0;\n      piVar2[9] = 0x10;\n      piVar2[10] = 0;\n      *piVar2 = unaff_EDI + 0x561ddd;\n      piVar2[0xc] = 0;\n      piVar2[0xe] = param_3;\n      piVar2[0xd] = 0;\n      piVar2[0xf] = param_4;\n      piVar2[0x11] = 0;\n      piVar2[0x10] = param_5;\n      piVar2[0x12] = 0;\n      piVar2[0x13] = -1;\n      piVar2[0x15] = (int)piVar1;\n      piVar2[0x14] = (int)piVar1;\n      piVar2[0x16] = 0;\n      piVar2[0x17] = (int)piVar1;\n      *(undefined1 *)(piVar2 + 0x18) = 0;\n      piVar2[0x19] = 0;\n      piVar2[0x1a] = 0;\n      piVar2[0x1b] = 0;\n      piVar2[0x1c] = 0;\n                    \n      FUN_00079a30();\n      *piVar2 = unaff_EDI + 0x5623a9;\n      return piVar2;\n    }\n    piVar2 = (int *)FUN_003ac4d0(0x78);\n    piVar2[1] = 0;\n    piVar2[2] = 0;\n    piVar1 = piVar2 + 0x14;\n    piVar2[3] = 0;\n    piVar2[4] = 0;\n    piVar2[5] = -1;\n    piVar2[6] = -1;\n    *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n    piVar2[8] = 0;\n    piVar2[9] = 0x10;\n    piVar2[10] = 0;\n    *piVar2 = unaff_EDI + 0x561ddd;\n    piVar2[0xc] = 0;\n    piVar2[0xe] = param_3;\n    piVar2[0xd] = 0;\n    piVar2[0xf] = param_4;\n    piVar2[0x11] = 0;\n    piVar2[0x10] = param_5;\n    piVar2[0x12] = 0;\n    piVar2[0x13] = -1;\n    piVar2[0x15] = (int)piVar1;\n    piVar2[0x14] = (int)piVar1;\n    piVar2[0x16] = 0;\n    piVar2[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar2 + 0x18) = 0;\n    piVar2[0x19] = 0;\n    piVar2[0x1a] = 0;\n    piVar2[0x1b] = 0;\n    piVar2[0x1c] = 0;\n                    \n    FUN_00079a30();\n    piVar2[0x1d] = 0;\n    *piVar2 = unaff_EDI + 0x562101;\n    return piVar2;\n  }" if (parenthesized_expression "(*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) != 0)" ( (binary_expression "*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) != 0" (pointer_expression "*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8)" * (cast_expression "(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8)" ( (binary_expression "*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8" (pointer_expression "*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8)" * (cast_expression "(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(BYTE_ARRAY_005702e9 + unaff_EDI + 8)" ( (binary_expression "BYTE_ARRAY_005702e9 + unaff_EDI + 8" (binary_expression "BYTE_ARRAY_005702e9 + unaff_EDI" identifier + identifier) + number_literal) )))) + number_literal) )))) != number_literal) )) (compound_statement "{\n    if (*(char *)(*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) + 0x4d75) == '\0') {\n      piVar2 = (int *)FUN_003ac4d0(0x74);\n      piVar2[1] = 0;\n      piVar2[2] = 0;\n      piVar1 = piVar2 + 0x14;\n      piVar2[3] = 0;\n      piVar2[4] = 0;\n      piVar2[5] = -1;\n      piVar2[6] = -1;\n      *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n      piVar2[8] = 0;\n      piVar2[9] = 0x10;\n      piVar2[10] = 0;\n      *piVar2 = unaff_EDI + 0x561ddd;\n      piVar2[0xc] = 0;\n      piVar2[0xe] = param_3;\n      piVar2[0xd] = 0;\n      piVar2[0xf] = param_4;\n      piVar2[0x11] = 0;\n      piVar2[0x10] = param_5;\n      piVar2[0x12] = 0;\n      piVar2[0x13] = -1;\n      piVar2[0x15] = (int)piVar1;\n      piVar2[0x14] = (int)piVar1;\n      piVar2[0x16] = 0;\n      piVar2[0x17] = (int)piVar1;\n      *(undefined1 *)(piVar2 + 0x18) = 0;\n      piVar2[0x19] = 0;\n      piVar2[0x1a] = 0;\n      piVar2[0x1b] = 0;\n      piVar2[0x1c] = 0;\n                    \n      FUN_00079a30();\n      *piVar2 = unaff_EDI + 0x5623a9;\n      return piVar2;\n    }\n    piVar2 = (int *)FUN_003ac4d0(0x78);\n    piVar2[1] = 0;\n    piVar2[2] = 0;\n    piVar1 = piVar2 + 0x14;\n    piVar2[3] = 0;\n    piVar2[4] = 0;\n    piVar2[5] = -1;\n    piVar2[6] = -1;\n    *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n    piVar2[8] = 0;\n    piVar2[9] = 0x10;\n    piVar2[10] = 0;\n    *piVar2 = unaff_EDI + 0x561ddd;\n    piVar2[0xc] = 0;\n    piVar2[0xe] = param_3;\n    piVar2[0xd] = 0;\n    piVar2[0xf] = param_4;\n    piVar2[0x11] = 0;\n    piVar2[0x10] = param_5;\n    piVar2[0x12] = 0;\n    piVar2[0x13] = -1;\n    piVar2[0x15] = (int)piVar1;\n    piVar2[0x14] = (int)piVar1;\n    piVar2[0x16] = 0;\n    piVar2[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar2 + 0x18) = 0;\n    piVar2[0x19] = 0;\n    piVar2[0x1a] = 0;\n    piVar2[0x1b] = 0;\n    piVar2[0x1c] = 0;\n                    \n    FUN_00079a30();\n    piVar2[0x1d] = 0;\n    *piVar2 = unaff_EDI + 0x562101;\n    return piVar2;\n  }" { (if_statement "if (*(char *)(*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) + 0x4d75) == '\0') {\n      piVar2 = (int *)FUN_003ac4d0(0x74);\n      piVar2[1] = 0;\n      piVar2[2] = 0;\n      piVar1 = piVar2 + 0x14;\n      piVar2[3] = 0;\n      piVar2[4] = 0;\n      piVar2[5] = -1;\n      piVar2[6] = -1;\n      *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n      piVar2[8] = 0;\n      piVar2[9] = 0x10;\n      piVar2[10] = 0;\n      *piVar2 = unaff_EDI + 0x561ddd;\n      piVar2[0xc] = 0;\n      piVar2[0xe] = param_3;\n      piVar2[0xd] = 0;\n      piVar2[0xf] = param_4;\n      piVar2[0x11] = 0;\n      piVar2[0x10] = param_5;\n      piVar2[0x12] = 0;\n      piVar2[0x13] = -1;\n      piVar2[0x15] = (int)piVar1;\n      piVar2[0x14] = (int)piVar1;\n      piVar2[0x16] = 0;\n      piVar2[0x17] = (int)piVar1;\n      *(undefined1 *)(piVar2 + 0x18) = 0;\n      piVar2[0x19] = 0;\n      piVar2[0x1a] = 0;\n      piVar2[0x1b] = 0;\n      piVar2[0x1c] = 0;\n                    \n      FUN_00079a30();\n      *piVar2 = unaff_EDI + 0x5623a9;\n      return piVar2;\n    }" if (parenthesized_expression "(*(char *)(*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) + 0x4d75) == '\0')" ( (binary_expression "*(char *)(*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) + 0x4d75) == '\0'" (pointer_expression "*(char *)(*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) + 0x4d75)" * (cast_expression "(char *)(*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) + 0x4d75)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) + 0x4d75)" ( (binary_expression "*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) + 0x4d75" (pointer_expression "*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8)" * (cast_expression "(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8)" ( (binary_expression "*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8" (pointer_expression "*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8)" * (cast_expression "(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(BYTE_ARRAY_005702e9 + unaff_EDI + 8)" ( (binary_expression "BYTE_ARRAY_005702e9 + unaff_EDI + 8" (binary_expression "BYTE_ARRAY_005702e9 + unaff_EDI" identifier + identifier) + number_literal) )))) + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      piVar2 = (int *)FUN_003ac4d0(0x74);\n      piVar2[1] = 0;\n      piVar2[2] = 0;\n      piVar1 = piVar2 + 0x14;\n      piVar2[3] = 0;\n      piVar2[4] = 0;\n      piVar2[5] = -1;\n      piVar2[6] = -1;\n      *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n      piVar2[8] = 0;\n      piVar2[9] = 0x10;\n      piVar2[10] = 0;\n      *piVar2 = unaff_EDI + 0x561ddd;\n      piVar2[0xc] = 0;\n      piVar2[0xe] = param_3;\n      piVar2[0xd] = 0;\n      piVar2[0xf] = param_4;\n      piVar2[0x11] = 0;\n      piVar2[0x10] = param_5;\n      piVar2[0x12] = 0;\n      piVar2[0x13] = -1;\n      piVar2[0x15] = (int)piVar1;\n      piVar2[0x14] = (int)piVar1;\n      piVar2[0x16] = 0;\n      piVar2[0x17] = (int)piVar1;\n      *(undefined1 *)(piVar2 + 0x18) = 0;\n      piVar2[0x19] = 0;\n      piVar2[0x1a] = 0;\n      piVar2[0x1b] = 0;\n      piVar2[0x1c] = 0;\n                    \n      FUN_00079a30();\n      *piVar2 = unaff_EDI + 0x5623a9;\n      return piVar2;\n    }" { (expression_statement "piVar2 = (int *)FUN_003ac4d0(0x74);" (assignment_expression "piVar2 = (int *)FUN_003ac4d0(0x74)" identifier = (cast_expression "(int *)FUN_003ac4d0(0x74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_003ac4d0(0x74)" identifier (argument_list "(0x74)" ( number_literal ))))) ;) (expression_statement "piVar2[1] = 0;" (assignment_expression "piVar2[1] = 0" (subscript_expression "piVar2[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[2] = 0;" (assignment_expression "piVar2[2] = 0" (subscript_expression "piVar2[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar1 = piVar2 + 0x14;" (assignment_expression "piVar1 = piVar2 + 0x14" identifier = (binary_expression "piVar2 + 0x14" identifier + number_literal)) ;) (expression_statement "piVar2[3] = 0;" (assignment_expression "piVar2[3] = 0" (subscript_expression "piVar2[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[4] = 0;" (assignment_expression "piVar2[4] = 0" (subscript_expression "piVar2[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[5] = -1;" (assignment_expression "piVar2[5] = -1" (subscript_expression "piVar2[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[6] = -1;" (assignment_expression "piVar2[6] = -1" (subscript_expression "piVar2[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;" (assignment_expression "*(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar2 + 7)" * (cast_expression "(byte *)(piVar2 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 7)" ( (binary_expression "piVar2 + 7" identifier + number_literal) )))) = (binary_expression "*(byte *)(piVar2 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar2 + 7)" * (cast_expression "(byte *)(piVar2 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 7)" ( (binary_expression "piVar2 + 7" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "piVar2[8] = 0;" (assignment_expression "piVar2[8] = 0" (subscript_expression "piVar2[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[9] = 0x10;" (assignment_expression "piVar2[9] = 0x10" (subscript_expression "piVar2[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[10] = 0;" (assignment_expression "piVar2[10] = 0" (subscript_expression "piVar2[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*piVar2 = unaff_EDI + 0x561ddd;" (assignment_expression "*piVar2 = unaff_EDI + 0x561ddd" (pointer_expression "*piVar2" * identifier) = (binary_expression "unaff_EDI + 0x561ddd" identifier + number_literal)) ;) (expression_statement "piVar2[0xc] = 0;" (assignment_expression "piVar2[0xc] = 0" (subscript_expression "piVar2[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0xe] = param_3;" (assignment_expression "piVar2[0xe] = param_3" (subscript_expression "piVar2[0xe]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar2[0xd] = 0;" (assignment_expression "piVar2[0xd] = 0" (subscript_expression "piVar2[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0xf] = param_4;" (assignment_expression "piVar2[0xf] = param_4" (subscript_expression "piVar2[0xf]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar2[0x11] = 0;" (assignment_expression "piVar2[0x11] = 0" (subscript_expression "piVar2[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x10] = param_5;" (assignment_expression "piVar2[0x10] = param_5" (subscript_expression "piVar2[0x10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar2[0x12] = 0;" (assignment_expression "piVar2[0x12] = 0" (subscript_expression "piVar2[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x13] = -1;" (assignment_expression "piVar2[0x13] = -1" (subscript_expression "piVar2[0x13]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x15] = (int)piVar1;" (assignment_expression "piVar2[0x15] = (int)piVar1" (subscript_expression "piVar2[0x15]" identifier [ number_literal ]) = (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar2[0x14] = (int)piVar1;" (assignment_expression "piVar2[0x14] = (int)piVar1" (subscript_expression "piVar2[0x14]" identifier [ number_literal ]) = (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar2[0x16] = 0;" (assignment_expression "piVar2[0x16] = 0" (subscript_expression "piVar2[0x16]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x17] = (int)piVar1;" (assignment_expression "piVar2[0x17] = (int)piVar1" (subscript_expression "piVar2[0x17]" identifier [ number_literal ]) = (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*(undefined1 *)(piVar2 + 0x18) = 0;" (assignment_expression "*(undefined1 *)(piVar2 + 0x18) = 0" (pointer_expression "*(undefined1 *)(piVar2 + 0x18)" * (cast_expression "(undefined1 *)(piVar2 + 0x18)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 0x18)" ( (binary_expression "piVar2 + 0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar2[0x19] = 0;" (assignment_expression "piVar2[0x19] = 0" (subscript_expression "piVar2[0x19]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x1a] = 0;" (assignment_expression "piVar2[0x1a] = 0" (subscript_expression "piVar2[0x1a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x1b] = 0;" (assignment_expression "piVar2[0x1b] = 0" (subscript_expression "piVar2[0x1b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x1c] = 0;" (assignment_expression "piVar2[0x1c] = 0" (subscript_expression "piVar2[0x1c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00079a30();" (call_expression "FUN_00079a30()" identifier (argument_list "()" ( ))) ;) (expression_statement "*piVar2 = unaff_EDI + 0x5623a9;" (assignment_expression "*piVar2 = unaff_EDI + 0x5623a9" (pointer_expression "*piVar2" * identifier) = (binary_expression "unaff_EDI + 0x5623a9" identifier + number_literal)) ;) (return_statement "return piVar2;" return identifier ;) })) (expression_statement "piVar2 = (int *)FUN_003ac4d0(0x78);" (assignment_expression "piVar2 = (int *)FUN_003ac4d0(0x78)" identifier = (cast_expression "(int *)FUN_003ac4d0(0x78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_003ac4d0(0x78)" identifier (argument_list "(0x78)" ( number_literal ))))) ;) (expression_statement "piVar2[1] = 0;" (assignment_expression "piVar2[1] = 0" (subscript_expression "piVar2[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[2] = 0;" (assignment_expression "piVar2[2] = 0" (subscript_expression "piVar2[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar1 = piVar2 + 0x14;" (assignment_expression "piVar1 = piVar2 + 0x14" identifier = (binary_expression "piVar2 + 0x14" identifier + number_literal)) ;) (expression_statement "piVar2[3] = 0;" (assignment_expression "piVar2[3] = 0" (subscript_expression "piVar2[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[4] = 0;" (assignment_expression "piVar2[4] = 0" (subscript_expression "piVar2[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[5] = -1;" (assignment_expression "piVar2[5] = -1" (subscript_expression "piVar2[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[6] = -1;" (assignment_expression "piVar2[6] = -1" (subscript_expression "piVar2[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;" (assignment_expression "*(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar2 + 7)" * (cast_expression "(byte *)(piVar2 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 7)" ( (binary_expression "piVar2 + 7" identifier + number_literal) )))) = (binary_expression "*(byte *)(piVar2 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar2 + 7)" * (cast_expression "(byte *)(piVar2 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 7)" ( (binary_expression "piVar2 + 7" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "piVar2[8] = 0;" (assignment_expression "piVar2[8] = 0" (subscript_expression "piVar2[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[9] = 0x10;" (assignment_expression "piVar2[9] = 0x10" (subscript_expression "piVar2[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[10] = 0;" (assignment_expression "piVar2[10] = 0" (subscript_expression "piVar2[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*piVar2 = unaff_EDI + 0x561ddd;" (assignment_expression "*piVar2 = unaff_EDI + 0x561ddd" (pointer_expression "*piVar2" * identifier) = (binary_expression "unaff_EDI + 0x561ddd" identifier + number_literal)) ;) (expression_statement "piVar2[0xc] = 0;" (assignment_expression "piVar2[0xc] = 0" (subscript_expression "piVar2[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0xe] = param_3;" (assignment_expression "piVar2[0xe] = param_3" (subscript_expression "piVar2[0xe]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar2[0xd] = 0;" (assignment_expression "piVar2[0xd] = 0" (subscript_expression "piVar2[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0xf] = param_4;" (assignment_expression "piVar2[0xf] = param_4" (subscript_expression "piVar2[0xf]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar2[0x11] = 0;" (assignment_expression "piVar2[0x11] = 0" (subscript_expression "piVar2[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x10] = param_5;" (assignment_expression "piVar2[0x10] = param_5" (subscript_expression "piVar2[0x10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar2[0x12] = 0;" (assignment_expression "piVar2[0x12] = 0" (subscript_expression "piVar2[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x13] = -1;" (assignment_expression "piVar2[0x13] = -1" (subscript_expression "piVar2[0x13]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x15] = (int)piVar1;" (assignment_expression "piVar2[0x15] = (int)piVar1" (subscript_expression "piVar2[0x15]" identifier [ number_literal ]) = (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar2[0x14] = (int)piVar1;" (assignment_expression "piVar2[0x14] = (int)piVar1" (subscript_expression "piVar2[0x14]" identifier [ number_literal ]) = (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar2[0x16] = 0;" (assignment_expression "piVar2[0x16] = 0" (subscript_expression "piVar2[0x16]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x17] = (int)piVar1;" (assignment_expression "piVar2[0x17] = (int)piVar1" (subscript_expression "piVar2[0x17]" identifier [ number_literal ]) = (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*(undefined1 *)(piVar2 + 0x18) = 0;" (assignment_expression "*(undefined1 *)(piVar2 + 0x18) = 0" (pointer_expression "*(undefined1 *)(piVar2 + 0x18)" * (cast_expression "(undefined1 *)(piVar2 + 0x18)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 0x18)" ( (binary_expression "piVar2 + 0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar2[0x19] = 0;" (assignment_expression "piVar2[0x19] = 0" (subscript_expression "piVar2[0x19]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x1a] = 0;" (assignment_expression "piVar2[0x1a] = 0" (subscript_expression "piVar2[0x1a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x1b] = 0;" (assignment_expression "piVar2[0x1b] = 0" (subscript_expression "piVar2[0x1b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x1c] = 0;" (assignment_expression "piVar2[0x1c] = 0" (subscript_expression "piVar2[0x1c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00079a30();" (call_expression "FUN_00079a30()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar2[0x1d] = 0;" (assignment_expression "piVar2[0x1d] = 0" (subscript_expression "piVar2[0x1d]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*piVar2 = unaff_EDI + 0x562101;" (assignment_expression "*piVar2 = unaff_EDI + 0x562101" (pointer_expression "*piVar2" * identifier) = (binary_expression "unaff_EDI + 0x562101" identifier + number_literal)) ;) (return_statement "return piVar2;" return identifier ;) })) (expression_statement "FUN_002446e0(unaff_EDI + 0x3cdd96,0x5c,unaff_EDI + 0x3d8e61,0);" (call_expression "FUN_002446e0(unaff_EDI + 0x3cdd96,0x5c,unaff_EDI + 0x3d8e61,0)" identifier (argument_list "(unaff_EDI + 0x3cdd96,0x5c,unaff_EDI + 0x3d8e61,0)" ( (binary_expression "unaff_EDI + 0x3cdd96" identifier + number_literal) , number_literal , (binary_expression "unaff_EDI + 0x3d8e61" identifier + number_literal) , 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) )))) (compound_statement { (declaration TYPE (pointer_declarator * 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 ]) = 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 ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + 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 ]) = IDENT) ;) (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 (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 { (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 ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + 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 ]) = IDENT) ;) (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 (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 ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + 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 ]) = IDENT) ;) (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 (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) , LIT ))) ;) })))
(function_definition "int * FUN_0007a4d0(int param_1,undefined4 param_2,int param_3,int param_4,int param_5)\n\n{\n  int *piVar1;\n  int *piVar2;\n  int unaff_EDI;\n  \n  FUN_00074f0a();\n  if ((*(byte *)(param_1 + 0x68) & 1) != 0) {\n    piVar2 = (int *)FUN_003ac4d0(0x78);\n    piVar2[1] = 0;\n    piVar2[2] = 0;\n    piVar1 = piVar2 + 0x14;\n    piVar2[3] = 0;\n    piVar2[4] = 0;\n    piVar2[5] = -1;\n    piVar2[6] = -1;\n    *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n    piVar2[8] = 0;\n    piVar2[9] = 0x10;\n    piVar2[10] = 0;\n    *piVar2 = unaff_EDI + 0x561ddd;\n    piVar2[0xc] = 0;\n    piVar2[0xe] = param_3;\n    piVar2[0xd] = 0;\n    piVar2[0xf] = param_4;\n    piVar2[0x11] = 0;\n    piVar2[0x10] = param_5;\n    piVar2[0x12] = 0;\n    piVar2[0x13] = -1;\n    piVar2[0x15] = (int)piVar1;\n    piVar2[0x14] = (int)piVar1;\n    piVar2[0x16] = 0;\n    piVar2[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar2 + 0x18) = 0;\n    piVar2[0x19] = 0;\n    piVar2[0x1a] = 0;\n    piVar2[0x1b] = 0;\n    piVar2[0x1c] = 0;\n                    \n    FUN_00079a30();\n    piVar2[0x1d] = 0;\n    *piVar2 = unaff_EDI + 0x562299;\n    return piVar2;\n  }\n  if (*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) != 0) {\n    if (*(char *)(*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) + 0x4d75) == '\0') {\n      piVar2 = (int *)FUN_003ac4d0(0x74);\n      piVar2[1] = 0;\n      piVar2[2] = 0;\n      piVar1 = piVar2 + 0x14;\n      piVar2[3] = 0;\n      piVar2[4] = 0;\n      piVar2[5] = -1;\n      piVar2[6] = -1;\n      *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n      piVar2[8] = 0;\n      piVar2[9] = 0x10;\n      piVar2[10] = 0;\n      *piVar2 = unaff_EDI + 0x561ddd;\n      piVar2[0xc] = 0;\n      piVar2[0xe] = param_3;\n      piVar2[0xd] = 0;\n      piVar2[0xf] = param_4;\n      piVar2[0x11] = 0;\n      piVar2[0x10] = param_5;\n      piVar2[0x12] = 0;\n      piVar2[0x13] = -1;\n      piVar2[0x15] = (int)piVar1;\n      piVar2[0x14] = (int)piVar1;\n      piVar2[0x16] = 0;\n      piVar2[0x17] = (int)piVar1;\n      *(undefined1 *)(piVar2 + 0x18) = 0;\n      piVar2[0x19] = 0;\n      piVar2[0x1a] = 0;\n      piVar2[0x1b] = 0;\n      piVar2[0x1c] = 0;\n                    \n      FUN_00079a30();\n      *piVar2 = unaff_EDI + 0x5623a9;\n      return piVar2;\n    }\n    piVar2 = (int *)FUN_003ac4d0(0x78);\n    piVar2[1] = 0;\n    piVar2[2] = 0;\n    piVar1 = piVar2 + 0x14;\n    piVar2[3] = 0;\n    piVar2[4] = 0;\n    piVar2[5] = -1;\n    piVar2[6] = -1;\n    *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n    piVar2[8] = 0;\n    piVar2[9] = 0x10;\n    piVar2[10] = 0;\n    *piVar2 = unaff_EDI + 0x561ddd;\n    piVar2[0xc] = 0;\n    piVar2[0xe] = param_3;\n    piVar2[0xd] = 0;\n    piVar2[0xf] = param_4;\n    piVar2[0x11] = 0;\n    piVar2[0x10] = param_5;\n    piVar2[0x12] = 0;\n    piVar2[0x13] = -1;\n    piVar2[0x15] = (int)piVar1;\n    piVar2[0x14] = (int)piVar1;\n    piVar2[0x16] = 0;\n    piVar2[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar2 + 0x18) = 0;\n    piVar2[0x19] = 0;\n    piVar2[0x1a] = 0;\n    piVar2[0x1b] = 0;\n    piVar2[0x1c] = 0;\n                    \n    FUN_00079a30();\n    piVar2[0x1d] = 0;\n    *piVar2 = unaff_EDI + 0x562101;\n    return piVar2;\n  }\n                    \n  FUN_002446e0(unaff_EDI + 0x3cdd96,0x5c,unaff_EDI + 0x3d8e61,0);\n}" (primitive_type "int") (pointer_declarator "* FUN_0007a4d0(int param_1,undefined4 param_2,int param_3,int param_4,int param_5)" (* "*") (function_declarator "FUN_0007a4d0(int param_1,undefined4 param_2,int param_3,int param_4,int param_5)" (identifier "FUN_0007a4d0") (parameter_list "(int param_1,undefined4 param_2,int param_3,int param_4,int param_5)" (( "(") (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")) () ")")))) (compound_statement "{\n  int *piVar1;\n  int *piVar2;\n  int unaff_EDI;\n  \n  FUN_00074f0a();\n  if ((*(byte *)(param_1 + 0x68) & 1) != 0) {\n    piVar2 = (int *)FUN_003ac4d0(0x78);\n    piVar2[1] = 0;\n    piVar2[2] = 0;\n    piVar1 = piVar2 + 0x14;\n    piVar2[3] = 0;\n    piVar2[4] = 0;\n    piVar2[5] = -1;\n    piVar2[6] = -1;\n    *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n    piVar2[8] = 0;\n    piVar2[9] = 0x10;\n    piVar2[10] = 0;\n    *piVar2 = unaff_EDI + 0x561ddd;\n    piVar2[0xc] = 0;\n    piVar2[0xe] = param_3;\n    piVar2[0xd] = 0;\n    piVar2[0xf] = param_4;\n    piVar2[0x11] = 0;\n    piVar2[0x10] = param_5;\n    piVar2[0x12] = 0;\n    piVar2[0x13] = -1;\n    piVar2[0x15] = (int)piVar1;\n    piVar2[0x14] = (int)piVar1;\n    piVar2[0x16] = 0;\n    piVar2[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar2 + 0x18) = 0;\n    piVar2[0x19] = 0;\n    piVar2[0x1a] = 0;\n    piVar2[0x1b] = 0;\n    piVar2[0x1c] = 0;\n                    \n    FUN_00079a30();\n    piVar2[0x1d] = 0;\n    *piVar2 = unaff_EDI + 0x562299;\n    return piVar2;\n  }\n  if (*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) != 0) {\n    if (*(char *)(*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) + 0x4d75) == '\0') {\n      piVar2 = (int *)FUN_003ac4d0(0x74);\n      piVar2[1] = 0;\n      piVar2[2] = 0;\n      piVar1 = piVar2 + 0x14;\n      piVar2[3] = 0;\n      piVar2[4] = 0;\n      piVar2[5] = -1;\n      piVar2[6] = -1;\n      *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n      piVar2[8] = 0;\n      piVar2[9] = 0x10;\n      piVar2[10] = 0;\n      *piVar2 = unaff_EDI + 0x561ddd;\n      piVar2[0xc] = 0;\n      piVar2[0xe] = param_3;\n      piVar2[0xd] = 0;\n      piVar2[0xf] = param_4;\n      piVar2[0x11] = 0;\n      piVar2[0x10] = param_5;\n      piVar2[0x12] = 0;\n      piVar2[0x13] = -1;\n      piVar2[0x15] = (int)piVar1;\n      piVar2[0x14] = (int)piVar1;\n      piVar2[0x16] = 0;\n      piVar2[0x17] = (int)piVar1;\n      *(undefined1 *)(piVar2 + 0x18) = 0;\n      piVar2[0x19] = 0;\n      piVar2[0x1a] = 0;\n      piVar2[0x1b] = 0;\n      piVar2[0x1c] = 0;\n                    \n      FUN_00079a30();\n      *piVar2 = unaff_EDI + 0x5623a9;\n      return piVar2;\n    }\n    piVar2 = (int *)FUN_003ac4d0(0x78);\n    piVar2[1] = 0;\n    piVar2[2] = 0;\n    piVar1 = piVar2 + 0x14;\n    piVar2[3] = 0;\n    piVar2[4] = 0;\n    piVar2[5] = -1;\n    piVar2[6] = -1;\n    *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n    piVar2[8] = 0;\n    piVar2[9] = 0x10;\n    piVar2[10] = 0;\n    *piVar2 = unaff_EDI + 0x561ddd;\n    piVar2[0xc] = 0;\n    piVar2[0xe] = param_3;\n    piVar2[0xd] = 0;\n    piVar2[0xf] = param_4;\n    piVar2[0x11] = 0;\n    piVar2[0x10] = param_5;\n    piVar2[0x12] = 0;\n    piVar2[0x13] = -1;\n    piVar2[0x15] = (int)piVar1;\n    piVar2[0x14] = (int)piVar1;\n    piVar2[0x16] = 0;\n    piVar2[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar2 + 0x18) = 0;\n    piVar2[0x19] = 0;\n    piVar2[0x1a] = 0;\n    piVar2[0x1b] = 0;\n    piVar2[0x1c] = 0;\n                    \n    FUN_00079a30();\n    piVar2[0x1d] = 0;\n    *piVar2 = unaff_EDI + 0x562101;\n    return piVar2;\n  }\n                    \n  FUN_002446e0(unaff_EDI + 0x3cdd96,0x5c,unaff_EDI + 0x3d8e61,0);\n}" ({ "{") (declaration "int *piVar1;" (primitive_type "int") (pointer_declarator "*piVar1" (* "*") (identifier "piVar1")) (; ";")) (declaration "int *piVar2;" (primitive_type "int") (pointer_declarator "*piVar2" (* "*") (identifier "piVar2")) (; ";")) (declaration "int unaff_EDI;" (primitive_type "int") (identifier "unaff_EDI") (; ";")) (expression_statement "FUN_00074f0a();" (call_expression "FUN_00074f0a()" (identifier "FUN_00074f0a") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if ((*(byte *)(param_1 + 0x68) & 1) != 0) {\n    piVar2 = (int *)FUN_003ac4d0(0x78);\n    piVar2[1] = 0;\n    piVar2[2] = 0;\n    piVar1 = piVar2 + 0x14;\n    piVar2[3] = 0;\n    piVar2[4] = 0;\n    piVar2[5] = -1;\n    piVar2[6] = -1;\n    *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n    piVar2[8] = 0;\n    piVar2[9] = 0x10;\n    piVar2[10] = 0;\n    *piVar2 = unaff_EDI + 0x561ddd;\n    piVar2[0xc] = 0;\n    piVar2[0xe] = param_3;\n    piVar2[0xd] = 0;\n    piVar2[0xf] = param_4;\n    piVar2[0x11] = 0;\n    piVar2[0x10] = param_5;\n    piVar2[0x12] = 0;\n    piVar2[0x13] = -1;\n    piVar2[0x15] = (int)piVar1;\n    piVar2[0x14] = (int)piVar1;\n    piVar2[0x16] = 0;\n    piVar2[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar2 + 0x18) = 0;\n    piVar2[0x19] = 0;\n    piVar2[0x1a] = 0;\n    piVar2[0x1b] = 0;\n    piVar2[0x1c] = 0;\n                    \n    FUN_00079a30();\n    piVar2[0x1d] = 0;\n    *piVar2 = unaff_EDI + 0x562299;\n    return piVar2;\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    piVar2 = (int *)FUN_003ac4d0(0x78);\n    piVar2[1] = 0;\n    piVar2[2] = 0;\n    piVar1 = piVar2 + 0x14;\n    piVar2[3] = 0;\n    piVar2[4] = 0;\n    piVar2[5] = -1;\n    piVar2[6] = -1;\n    *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n    piVar2[8] = 0;\n    piVar2[9] = 0x10;\n    piVar2[10] = 0;\n    *piVar2 = unaff_EDI + 0x561ddd;\n    piVar2[0xc] = 0;\n    piVar2[0xe] = param_3;\n    piVar2[0xd] = 0;\n    piVar2[0xf] = param_4;\n    piVar2[0x11] = 0;\n    piVar2[0x10] = param_5;\n    piVar2[0x12] = 0;\n    piVar2[0x13] = -1;\n    piVar2[0x15] = (int)piVar1;\n    piVar2[0x14] = (int)piVar1;\n    piVar2[0x16] = 0;\n    piVar2[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar2 + 0x18) = 0;\n    piVar2[0x19] = 0;\n    piVar2[0x1a] = 0;\n    piVar2[0x1b] = 0;\n    piVar2[0x1c] = 0;\n                    \n    FUN_00079a30();\n    piVar2[0x1d] = 0;\n    *piVar2 = unaff_EDI + 0x562299;\n    return piVar2;\n  }" ({ "{") (expression_statement "piVar2 = (int *)FUN_003ac4d0(0x78);" (assignment_expression "piVar2 = (int *)FUN_003ac4d0(0x78)" (identifier "piVar2") (= "=") (cast_expression "(int *)FUN_003ac4d0(0x78)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_003ac4d0(0x78)" (identifier "FUN_003ac4d0") (argument_list "(0x78)" (( "(") (number_literal "0x78") () ")"))))) (; ";")) (expression_statement "piVar2[1] = 0;" (assignment_expression "piVar2[1] = 0" (subscript_expression "piVar2[1]" (identifier "piVar2") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[2] = 0;" (assignment_expression "piVar2[2] = 0" (subscript_expression "piVar2[2]" (identifier "piVar2") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar1 = piVar2 + 0x14;" (assignment_expression "piVar1 = piVar2 + 0x14" (identifier "piVar1") (= "=") (binary_expression "piVar2 + 0x14" (identifier "piVar2") (+ "+") (number_literal "0x14"))) (; ";")) (expression_statement "piVar2[3] = 0;" (assignment_expression "piVar2[3] = 0" (subscript_expression "piVar2[3]" (identifier "piVar2") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[4] = 0;" (assignment_expression "piVar2[4] = 0" (subscript_expression "piVar2[4]" (identifier "piVar2") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[5] = -1;" (assignment_expression "piVar2[5] = -1" (subscript_expression "piVar2[5]" (identifier "piVar2") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "piVar2[6] = -1;" (assignment_expression "piVar2[6] = -1" (subscript_expression "piVar2[6]" (identifier "piVar2") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "*(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;" (assignment_expression "*(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar2 + 7)" (* "*") (cast_expression "(byte *)(piVar2 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar2 + 7)" (( "(") (binary_expression "piVar2 + 7" (identifier "piVar2") (+ "+") (number_literal "7")) () ")")))) (= "=") (binary_expression "*(byte *)(piVar2 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar2 + 7)" (* "*") (cast_expression "(byte *)(piVar2 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar2 + 7)" (( "(") (binary_expression "piVar2 + 7" (identifier "piVar2") (+ "+") (number_literal "7")) () ")")))) (& "&") (number_literal "0xe0"))) (; ";")) (expression_statement "piVar2[8] = 0;" (assignment_expression "piVar2[8] = 0" (subscript_expression "piVar2[8]" (identifier "piVar2") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[9] = 0x10;" (assignment_expression "piVar2[9] = 0x10" (subscript_expression "piVar2[9]" (identifier "piVar2") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "0x10")) (; ";")) (expression_statement "piVar2[10] = 0;" (assignment_expression "piVar2[10] = 0" (subscript_expression "piVar2[10]" (identifier "piVar2") ([ "[") (number_literal "10") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*piVar2 = unaff_EDI + 0x561ddd;" (assignment_expression "*piVar2 = unaff_EDI + 0x561ddd" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (= "=") (binary_expression "unaff_EDI + 0x561ddd" (identifier "unaff_EDI") (+ "+") (number_literal "0x561ddd"))) (; ";")) (expression_statement "piVar2[0xc] = 0;" (assignment_expression "piVar2[0xc] = 0" (subscript_expression "piVar2[0xc]" (identifier "piVar2") ([ "[") (number_literal "0xc") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[0xe] = param_3;" (assignment_expression "piVar2[0xe] = param_3" (subscript_expression "piVar2[0xe]" (identifier "piVar2") ([ "[") (number_literal "0xe") (] "]")) (= "=") (identifier "param_3")) (; ";")) (expression_statement "piVar2[0xd] = 0;" (assignment_expression "piVar2[0xd] = 0" (subscript_expression "piVar2[0xd]" (identifier "piVar2") ([ "[") (number_literal "0xd") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[0xf] = param_4;" (assignment_expression "piVar2[0xf] = param_4" (subscript_expression "piVar2[0xf]" (identifier "piVar2") ([ "[") (number_literal "0xf") (] "]")) (= "=") (identifier "param_4")) (; ";")) (expression_statement "piVar2[0x11] = 0;" (assignment_expression "piVar2[0x11] = 0" (subscript_expression "piVar2[0x11]" (identifier "piVar2") ([ "[") (number_literal "0x11") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[0x10] = param_5;" (assignment_expression "piVar2[0x10] = param_5" (subscript_expression "piVar2[0x10]" (identifier "piVar2") ([ "[") (number_literal "0x10") (] "]")) (= "=") (identifier "param_5")) (; ";")) (expression_statement "piVar2[0x12] = 0;" (assignment_expression "piVar2[0x12] = 0" (subscript_expression "piVar2[0x12]" (identifier "piVar2") ([ "[") (number_literal "0x12") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[0x13] = -1;" (assignment_expression "piVar2[0x13] = -1" (subscript_expression "piVar2[0x13]" (identifier "piVar2") ([ "[") (number_literal "0x13") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "piVar2[0x15] = (int)piVar1;" (assignment_expression "piVar2[0x15] = (int)piVar1" (subscript_expression "piVar2[0x15]" (identifier "piVar2") ([ "[") (number_literal "0x15") (] "]")) (= "=") (cast_expression "(int)piVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar1"))) (; ";")) (expression_statement "piVar2[0x14] = (int)piVar1;" (assignment_expression "piVar2[0x14] = (int)piVar1" (subscript_expression "piVar2[0x14]" (identifier "piVar2") ([ "[") (number_literal "0x14") (] "]")) (= "=") (cast_expression "(int)piVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar1"))) (; ";")) (expression_statement "piVar2[0x16] = 0;" (assignment_expression "piVar2[0x16] = 0" (subscript_expression "piVar2[0x16]" (identifier "piVar2") ([ "[") (number_literal "0x16") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[0x17] = (int)piVar1;" (assignment_expression "piVar2[0x17] = (int)piVar1" (subscript_expression "piVar2[0x17]" (identifier "piVar2") ([ "[") (number_literal "0x17") (] "]")) (= "=") (cast_expression "(int)piVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar1"))) (; ";")) (expression_statement "*(undefined1 *)(piVar2 + 0x18) = 0;" (assignment_expression "*(undefined1 *)(piVar2 + 0x18) = 0" (pointer_expression "*(undefined1 *)(piVar2 + 0x18)" (* "*") (cast_expression "(undefined1 *)(piVar2 + 0x18)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar2 + 0x18)" (( "(") (binary_expression "piVar2 + 0x18" (identifier "piVar2") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[0x19] = 0;" (assignment_expression "piVar2[0x19] = 0" (subscript_expression "piVar2[0x19]" (identifier "piVar2") ([ "[") (number_literal "0x19") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[0x1a] = 0;" (assignment_expression "piVar2[0x1a] = 0" (subscript_expression "piVar2[0x1a]" (identifier "piVar2") ([ "[") (number_literal "0x1a") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[0x1b] = 0;" (assignment_expression "piVar2[0x1b] = 0" (subscript_expression "piVar2[0x1b]" (identifier "piVar2") ([ "[") (number_literal "0x1b") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[0x1c] = 0;" (assignment_expression "piVar2[0x1c] = 0" (subscript_expression "piVar2[0x1c]" (identifier "piVar2") ([ "[") (number_literal "0x1c") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_00079a30();" (call_expression "FUN_00079a30()" (identifier "FUN_00079a30") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar2[0x1d] = 0;" (assignment_expression "piVar2[0x1d] = 0" (subscript_expression "piVar2[0x1d]" (identifier "piVar2") ([ "[") (number_literal "0x1d") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*piVar2 = unaff_EDI + 0x562299;" (assignment_expression "*piVar2 = unaff_EDI + 0x562299" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (= "=") (binary_expression "unaff_EDI + 0x562299" (identifier "unaff_EDI") (+ "+") (number_literal "0x562299"))) (; ";")) (return_statement "return piVar2;" (return "return") (identifier "piVar2") (; ";")) (} "}"))) (if_statement "if (*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) != 0) {\n    if (*(char *)(*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) + 0x4d75) == '\0') {\n      piVar2 = (int *)FUN_003ac4d0(0x74);\n      piVar2[1] = 0;\n      piVar2[2] = 0;\n      piVar1 = piVar2 + 0x14;\n      piVar2[3] = 0;\n      piVar2[4] = 0;\n      piVar2[5] = -1;\n      piVar2[6] = -1;\n      *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n      piVar2[8] = 0;\n      piVar2[9] = 0x10;\n      piVar2[10] = 0;\n      *piVar2 = unaff_EDI + 0x561ddd;\n      piVar2[0xc] = 0;\n      piVar2[0xe] = param_3;\n      piVar2[0xd] = 0;\n      piVar2[0xf] = param_4;\n      piVar2[0x11] = 0;\n      piVar2[0x10] = param_5;\n      piVar2[0x12] = 0;\n      piVar2[0x13] = -1;\n      piVar2[0x15] = (int)piVar1;\n      piVar2[0x14] = (int)piVar1;\n      piVar2[0x16] = 0;\n      piVar2[0x17] = (int)piVar1;\n      *(undefined1 *)(piVar2 + 0x18) = 0;\n      piVar2[0x19] = 0;\n      piVar2[0x1a] = 0;\n      piVar2[0x1b] = 0;\n      piVar2[0x1c] = 0;\n                    \n      FUN_00079a30();\n      *piVar2 = unaff_EDI + 0x5623a9;\n      return piVar2;\n    }\n    piVar2 = (int *)FUN_003ac4d0(0x78);\n    piVar2[1] = 0;\n    piVar2[2] = 0;\n    piVar1 = piVar2 + 0x14;\n    piVar2[3] = 0;\n    piVar2[4] = 0;\n    piVar2[5] = -1;\n    piVar2[6] = -1;\n    *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n    piVar2[8] = 0;\n    piVar2[9] = 0x10;\n    piVar2[10] = 0;\n    *piVar2 = unaff_EDI + 0x561ddd;\n    piVar2[0xc] = 0;\n    piVar2[0xe] = param_3;\n    piVar2[0xd] = 0;\n    piVar2[0xf] = param_4;\n    piVar2[0x11] = 0;\n    piVar2[0x10] = param_5;\n    piVar2[0x12] = 0;\n    piVar2[0x13] = -1;\n    piVar2[0x15] = (int)piVar1;\n    piVar2[0x14] = (int)piVar1;\n    piVar2[0x16] = 0;\n    piVar2[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar2 + 0x18) = 0;\n    piVar2[0x19] = 0;\n    piVar2[0x1a] = 0;\n    piVar2[0x1b] = 0;\n    piVar2[0x1c] = 0;\n                    \n    FUN_00079a30();\n    piVar2[0x1d] = 0;\n    *piVar2 = unaff_EDI + 0x562101;\n    return piVar2;\n  }" (if "if") (parenthesized_expression "(*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) != 0)" (( "(") (binary_expression "*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) != 0" (pointer_expression "*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8)" (* "*") (cast_expression "(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8)" (( "(") (binary_expression "*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8" (pointer_expression "*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8)" (* "*") (cast_expression "(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(BYTE_ARRAY_005702e9 + unaff_EDI + 8)" (( "(") (binary_expression "BYTE_ARRAY_005702e9 + unaff_EDI + 8" (binary_expression "BYTE_ARRAY_005702e9 + unaff_EDI" (identifier "BYTE_ARRAY_005702e9") (+ "+") (identifier "unaff_EDI")) (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "8")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    if (*(char *)(*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) + 0x4d75) == '\0') {\n      piVar2 = (int *)FUN_003ac4d0(0x74);\n      piVar2[1] = 0;\n      piVar2[2] = 0;\n      piVar1 = piVar2 + 0x14;\n      piVar2[3] = 0;\n      piVar2[4] = 0;\n      piVar2[5] = -1;\n      piVar2[6] = -1;\n      *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n      piVar2[8] = 0;\n      piVar2[9] = 0x10;\n      piVar2[10] = 0;\n      *piVar2 = unaff_EDI + 0x561ddd;\n      piVar2[0xc] = 0;\n      piVar2[0xe] = param_3;\n      piVar2[0xd] = 0;\n      piVar2[0xf] = param_4;\n      piVar2[0x11] = 0;\n      piVar2[0x10] = param_5;\n      piVar2[0x12] = 0;\n      piVar2[0x13] = -1;\n      piVar2[0x15] = (int)piVar1;\n      piVar2[0x14] = (int)piVar1;\n      piVar2[0x16] = 0;\n      piVar2[0x17] = (int)piVar1;\n      *(undefined1 *)(piVar2 + 0x18) = 0;\n      piVar2[0x19] = 0;\n      piVar2[0x1a] = 0;\n      piVar2[0x1b] = 0;\n      piVar2[0x1c] = 0;\n                    \n      FUN_00079a30();\n      *piVar2 = unaff_EDI + 0x5623a9;\n      return piVar2;\n    }\n    piVar2 = (int *)FUN_003ac4d0(0x78);\n    piVar2[1] = 0;\n    piVar2[2] = 0;\n    piVar1 = piVar2 + 0x14;\n    piVar2[3] = 0;\n    piVar2[4] = 0;\n    piVar2[5] = -1;\n    piVar2[6] = -1;\n    *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n    piVar2[8] = 0;\n    piVar2[9] = 0x10;\n    piVar2[10] = 0;\n    *piVar2 = unaff_EDI + 0x561ddd;\n    piVar2[0xc] = 0;\n    piVar2[0xe] = param_3;\n    piVar2[0xd] = 0;\n    piVar2[0xf] = param_4;\n    piVar2[0x11] = 0;\n    piVar2[0x10] = param_5;\n    piVar2[0x12] = 0;\n    piVar2[0x13] = -1;\n    piVar2[0x15] = (int)piVar1;\n    piVar2[0x14] = (int)piVar1;\n    piVar2[0x16] = 0;\n    piVar2[0x17] = (int)piVar1;\n    *(undefined1 *)(piVar2 + 0x18) = 0;\n    piVar2[0x19] = 0;\n    piVar2[0x1a] = 0;\n    piVar2[0x1b] = 0;\n    piVar2[0x1c] = 0;\n                    \n    FUN_00079a30();\n    piVar2[0x1d] = 0;\n    *piVar2 = unaff_EDI + 0x562101;\n    return piVar2;\n  }" ({ "{") (if_statement "if (*(char *)(*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) + 0x4d75) == '\0') {\n      piVar2 = (int *)FUN_003ac4d0(0x74);\n      piVar2[1] = 0;\n      piVar2[2] = 0;\n      piVar1 = piVar2 + 0x14;\n      piVar2[3] = 0;\n      piVar2[4] = 0;\n      piVar2[5] = -1;\n      piVar2[6] = -1;\n      *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n      piVar2[8] = 0;\n      piVar2[9] = 0x10;\n      piVar2[10] = 0;\n      *piVar2 = unaff_EDI + 0x561ddd;\n      piVar2[0xc] = 0;\n      piVar2[0xe] = param_3;\n      piVar2[0xd] = 0;\n      piVar2[0xf] = param_4;\n      piVar2[0x11] = 0;\n      piVar2[0x10] = param_5;\n      piVar2[0x12] = 0;\n      piVar2[0x13] = -1;\n      piVar2[0x15] = (int)piVar1;\n      piVar2[0x14] = (int)piVar1;\n      piVar2[0x16] = 0;\n      piVar2[0x17] = (int)piVar1;\n      *(undefined1 *)(piVar2 + 0x18) = 0;\n      piVar2[0x19] = 0;\n      piVar2[0x1a] = 0;\n      piVar2[0x1b] = 0;\n      piVar2[0x1c] = 0;\n                    \n      FUN_00079a30();\n      *piVar2 = unaff_EDI + 0x5623a9;\n      return piVar2;\n    }" (if "if") (parenthesized_expression "(*(char *)(*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) + 0x4d75) == '\0')" (( "(") (binary_expression "*(char *)(*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) + 0x4d75) == '\0'" (pointer_expression "*(char *)(*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) + 0x4d75)" (* "*") (cast_expression "(char *)(*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) + 0x4d75)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) + 0x4d75)" (( "(") (binary_expression "*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) + 0x4d75" (pointer_expression "*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8)" (* "*") (cast_expression "(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8)" (( "(") (binary_expression "*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8" (pointer_expression "*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8)" (* "*") (cast_expression "(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(BYTE_ARRAY_005702e9 + unaff_EDI + 8)" (( "(") (binary_expression "BYTE_ARRAY_005702e9 + unaff_EDI + 8" (binary_expression "BYTE_ARRAY_005702e9 + unaff_EDI" (identifier "BYTE_ARRAY_005702e9") (+ "+") (identifier "unaff_EDI")) (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x4d75")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      piVar2 = (int *)FUN_003ac4d0(0x74);\n      piVar2[1] = 0;\n      piVar2[2] = 0;\n      piVar1 = piVar2 + 0x14;\n      piVar2[3] = 0;\n      piVar2[4] = 0;\n      piVar2[5] = -1;\n      piVar2[6] = -1;\n      *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n      piVar2[8] = 0;\n      piVar2[9] = 0x10;\n      piVar2[10] = 0;\n      *piVar2 = unaff_EDI + 0x561ddd;\n      piVar2[0xc] = 0;\n      piVar2[0xe] = param_3;\n      piVar2[0xd] = 0;\n      piVar2[0xf] = param_4;\n      piVar2[0x11] = 0;\n      piVar2[0x10] = param_5;\n      piVar2[0x12] = 0;\n      piVar2[0x13] = -1;\n      piVar2[0x15] = (int)piVar1;\n      piVar2[0x14] = (int)piVar1;\n      piVar2[0x16] = 0;\n      piVar2[0x17] = (int)piVar1;\n      *(undefined1 *)(piVar2 + 0x18) = 0;\n      piVar2[0x19] = 0;\n      piVar2[0x1a] = 0;\n      piVar2[0x1b] = 0;\n      piVar2[0x1c] = 0;\n                    \n      FUN_00079a30();\n      *piVar2 = unaff_EDI + 0x5623a9;\n      return piVar2;\n    }" ({ "{") (expression_statement "piVar2 = (int *)FUN_003ac4d0(0x74);" (assignment_expression "piVar2 = (int *)FUN_003ac4d0(0x74)" (identifier "piVar2") (= "=") (cast_expression "(int *)FUN_003ac4d0(0x74)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_003ac4d0(0x74)" (identifier "FUN_003ac4d0") (argument_list "(0x74)" (( "(") (number_literal "0x74") () ")"))))) (; ";")) (expression_statement "piVar2[1] = 0;" (assignment_expression "piVar2[1] = 0" (subscript_expression "piVar2[1]" (identifier "piVar2") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[2] = 0;" (assignment_expression "piVar2[2] = 0" (subscript_expression "piVar2[2]" (identifier "piVar2") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar1 = piVar2 + 0x14;" (assignment_expression "piVar1 = piVar2 + 0x14" (identifier "piVar1") (= "=") (binary_expression "piVar2 + 0x14" (identifier "piVar2") (+ "+") (number_literal "0x14"))) (; ";")) (expression_statement "piVar2[3] = 0;" (assignment_expression "piVar2[3] = 0" (subscript_expression "piVar2[3]" (identifier "piVar2") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[4] = 0;" (assignment_expression "piVar2[4] = 0" (subscript_expression "piVar2[4]" (identifier "piVar2") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[5] = -1;" (assignment_expression "piVar2[5] = -1" (subscript_expression "piVar2[5]" (identifier "piVar2") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "piVar2[6] = -1;" (assignment_expression "piVar2[6] = -1" (subscript_expression "piVar2[6]" (identifier "piVar2") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "*(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;" (assignment_expression "*(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar2 + 7)" (* "*") (cast_expression "(byte *)(piVar2 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar2 + 7)" (( "(") (binary_expression "piVar2 + 7" (identifier "piVar2") (+ "+") (number_literal "7")) () ")")))) (= "=") (binary_expression "*(byte *)(piVar2 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar2 + 7)" (* "*") (cast_expression "(byte *)(piVar2 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar2 + 7)" (( "(") (binary_expression "piVar2 + 7" (identifier "piVar2") (+ "+") (number_literal "7")) () ")")))) (& "&") (number_literal "0xe0"))) (; ";")) (expression_statement "piVar2[8] = 0;" (assignment_expression "piVar2[8] = 0" (subscript_expression "piVar2[8]" (identifier "piVar2") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[9] = 0x10;" (assignment_expression "piVar2[9] = 0x10" (subscript_expression "piVar2[9]" (identifier "piVar2") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "0x10")) (; ";")) (expression_statement "piVar2[10] = 0;" (assignment_expression "piVar2[10] = 0" (subscript_expression "piVar2[10]" (identifier "piVar2") ([ "[") (number_literal "10") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*piVar2 = unaff_EDI + 0x561ddd;" (assignment_expression "*piVar2 = unaff_EDI + 0x561ddd" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (= "=") (binary_expression "unaff_EDI + 0x561ddd" (identifier "unaff_EDI") (+ "+") (number_literal "0x561ddd"))) (; ";")) (expression_statement "piVar2[0xc] = 0;" (assignment_expression "piVar2[0xc] = 0" (subscript_expression "piVar2[0xc]" (identifier "piVar2") ([ "[") (number_literal "0xc") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[0xe] = param_3;" (assignment_expression "piVar2[0xe] = param_3" (subscript_expression "piVar2[0xe]" (identifier "piVar2") ([ "[") (number_literal "0xe") (] "]")) (= "=") (identifier "param_3")) (; ";")) (expression_statement "piVar2[0xd] = 0;" (assignment_expression "piVar2[0xd] = 0" (subscript_expression "piVar2[0xd]" (identifier "piVar2") ([ "[") (number_literal "0xd") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[0xf] = param_4;" (assignment_expression "piVar2[0xf] = param_4" (subscript_expression "piVar2[0xf]" (identifier "piVar2") ([ "[") (number_literal "0xf") (] "]")) (= "=") (identifier "param_4")) (; ";")) (expression_statement "piVar2[0x11] = 0;" (assignment_expression "piVar2[0x11] = 0" (subscript_expression "piVar2[0x11]" (identifier "piVar2") ([ "[") (number_literal "0x11") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[0x10] = param_5;" (assignment_expression "piVar2[0x10] = param_5" (subscript_expression "piVar2[0x10]" (identifier "piVar2") ([ "[") (number_literal "0x10") (] "]")) (= "=") (identifier "param_5")) (; ";")) (expression_statement "piVar2[0x12] = 0;" (assignment_expression "piVar2[0x12] = 0" (subscript_expression "piVar2[0x12]" (identifier "piVar2") ([ "[") (number_literal "0x12") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[0x13] = -1;" (assignment_expression "piVar2[0x13] = -1" (subscript_expression "piVar2[0x13]" (identifier "piVar2") ([ "[") (number_literal "0x13") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "piVar2[0x15] = (int)piVar1;" (assignment_expression "piVar2[0x15] = (int)piVar1" (subscript_expression "piVar2[0x15]" (identifier "piVar2") ([ "[") (number_literal "0x15") (] "]")) (= "=") (cast_expression "(int)piVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar1"))) (; ";")) (expression_statement "piVar2[0x14] = (int)piVar1;" (assignment_expression "piVar2[0x14] = (int)piVar1" (subscript_expression "piVar2[0x14]" (identifier "piVar2") ([ "[") (number_literal "0x14") (] "]")) (= "=") (cast_expression "(int)piVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar1"))) (; ";")) (expression_statement "piVar2[0x16] = 0;" (assignment_expression "piVar2[0x16] = 0" (subscript_expression "piVar2[0x16]" (identifier "piVar2") ([ "[") (number_literal "0x16") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[0x17] = (int)piVar1;" (assignment_expression "piVar2[0x17] = (int)piVar1" (subscript_expression "piVar2[0x17]" (identifier "piVar2") ([ "[") (number_literal "0x17") (] "]")) (= "=") (cast_expression "(int)piVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar1"))) (; ";")) (expression_statement "*(undefined1 *)(piVar2 + 0x18) = 0;" (assignment_expression "*(undefined1 *)(piVar2 + 0x18) = 0" (pointer_expression "*(undefined1 *)(piVar2 + 0x18)" (* "*") (cast_expression "(undefined1 *)(piVar2 + 0x18)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar2 + 0x18)" (( "(") (binary_expression "piVar2 + 0x18" (identifier "piVar2") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[0x19] = 0;" (assignment_expression "piVar2[0x19] = 0" (subscript_expression "piVar2[0x19]" (identifier "piVar2") ([ "[") (number_literal "0x19") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[0x1a] = 0;" (assignment_expression "piVar2[0x1a] = 0" (subscript_expression "piVar2[0x1a]" (identifier "piVar2") ([ "[") (number_literal "0x1a") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[0x1b] = 0;" (assignment_expression "piVar2[0x1b] = 0" (subscript_expression "piVar2[0x1b]" (identifier "piVar2") ([ "[") (number_literal "0x1b") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[0x1c] = 0;" (assignment_expression "piVar2[0x1c] = 0" (subscript_expression "piVar2[0x1c]" (identifier "piVar2") ([ "[") (number_literal "0x1c") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_00079a30();" (call_expression "FUN_00079a30()" (identifier "FUN_00079a30") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*piVar2 = unaff_EDI + 0x5623a9;" (assignment_expression "*piVar2 = unaff_EDI + 0x5623a9" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (= "=") (binary_expression "unaff_EDI + 0x5623a9" (identifier "unaff_EDI") (+ "+") (number_literal "0x5623a9"))) (; ";")) (return_statement "return piVar2;" (return "return") (identifier "piVar2") (; ";")) (} "}"))) (expression_statement "piVar2 = (int *)FUN_003ac4d0(0x78);" (assignment_expression "piVar2 = (int *)FUN_003ac4d0(0x78)" (identifier "piVar2") (= "=") (cast_expression "(int *)FUN_003ac4d0(0x78)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_003ac4d0(0x78)" (identifier "FUN_003ac4d0") (argument_list "(0x78)" (( "(") (number_literal "0x78") () ")"))))) (; ";")) (expression_statement "piVar2[1] = 0;" (assignment_expression "piVar2[1] = 0" (subscript_expression "piVar2[1]" (identifier "piVar2") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[2] = 0;" (assignment_expression "piVar2[2] = 0" (subscript_expression "piVar2[2]" (identifier "piVar2") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar1 = piVar2 + 0x14;" (assignment_expression "piVar1 = piVar2 + 0x14" (identifier "piVar1") (= "=") (binary_expression "piVar2 + 0x14" (identifier "piVar2") (+ "+") (number_literal "0x14"))) (; ";")) (expression_statement "piVar2[3] = 0;" (assignment_expression "piVar2[3] = 0" (subscript_expression "piVar2[3]" (identifier "piVar2") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[4] = 0;" (assignment_expression "piVar2[4] = 0" (subscript_expression "piVar2[4]" (identifier "piVar2") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[5] = -1;" (assignment_expression "piVar2[5] = -1" (subscript_expression "piVar2[5]" (identifier "piVar2") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "piVar2[6] = -1;" (assignment_expression "piVar2[6] = -1" (subscript_expression "piVar2[6]" (identifier "piVar2") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "*(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;" (assignment_expression "*(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar2 + 7)" (* "*") (cast_expression "(byte *)(piVar2 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar2 + 7)" (( "(") (binary_expression "piVar2 + 7" (identifier "piVar2") (+ "+") (number_literal "7")) () ")")))) (= "=") (binary_expression "*(byte *)(piVar2 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar2 + 7)" (* "*") (cast_expression "(byte *)(piVar2 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar2 + 7)" (( "(") (binary_expression "piVar2 + 7" (identifier "piVar2") (+ "+") (number_literal "7")) () ")")))) (& "&") (number_literal "0xe0"))) (; ";")) (expression_statement "piVar2[8] = 0;" (assignment_expression "piVar2[8] = 0" (subscript_expression "piVar2[8]" (identifier "piVar2") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[9] = 0x10;" (assignment_expression "piVar2[9] = 0x10" (subscript_expression "piVar2[9]" (identifier "piVar2") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "0x10")) (; ";")) (expression_statement "piVar2[10] = 0;" (assignment_expression "piVar2[10] = 0" (subscript_expression "piVar2[10]" (identifier "piVar2") ([ "[") (number_literal "10") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*piVar2 = unaff_EDI + 0x561ddd;" (assignment_expression "*piVar2 = unaff_EDI + 0x561ddd" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (= "=") (binary_expression "unaff_EDI + 0x561ddd" (identifier "unaff_EDI") (+ "+") (number_literal "0x561ddd"))) (; ";")) (expression_statement "piVar2[0xc] = 0;" (assignment_expression "piVar2[0xc] = 0" (subscript_expression "piVar2[0xc]" (identifier "piVar2") ([ "[") (number_literal "0xc") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[0xe] = param_3;" (assignment_expression "piVar2[0xe] = param_3" (subscript_expression "piVar2[0xe]" (identifier "piVar2") ([ "[") (number_literal "0xe") (] "]")) (= "=") (identifier "param_3")) (; ";")) (expression_statement "piVar2[0xd] = 0;" (assignment_expression "piVar2[0xd] = 0" (subscript_expression "piVar2[0xd]" (identifier "piVar2") ([ "[") (number_literal "0xd") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[0xf] = param_4;" (assignment_expression "piVar2[0xf] = param_4" (subscript_expression "piVar2[0xf]" (identifier "piVar2") ([ "[") (number_literal "0xf") (] "]")) (= "=") (identifier "param_4")) (; ";")) (expression_statement "piVar2[0x11] = 0;" (assignment_expression "piVar2[0x11] = 0" (subscript_expression "piVar2[0x11]" (identifier "piVar2") ([ "[") (number_literal "0x11") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[0x10] = param_5;" (assignment_expression "piVar2[0x10] = param_5" (subscript_expression "piVar2[0x10]" (identifier "piVar2") ([ "[") (number_literal "0x10") (] "]")) (= "=") (identifier "param_5")) (; ";")) (expression_statement "piVar2[0x12] = 0;" (assignment_expression "piVar2[0x12] = 0" (subscript_expression "piVar2[0x12]" (identifier "piVar2") ([ "[") (number_literal "0x12") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[0x13] = -1;" (assignment_expression "piVar2[0x13] = -1" (subscript_expression "piVar2[0x13]" (identifier "piVar2") ([ "[") (number_literal "0x13") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "piVar2[0x15] = (int)piVar1;" (assignment_expression "piVar2[0x15] = (int)piVar1" (subscript_expression "piVar2[0x15]" (identifier "piVar2") ([ "[") (number_literal "0x15") (] "]")) (= "=") (cast_expression "(int)piVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar1"))) (; ";")) (expression_statement "piVar2[0x14] = (int)piVar1;" (assignment_expression "piVar2[0x14] = (int)piVar1" (subscript_expression "piVar2[0x14]" (identifier "piVar2") ([ "[") (number_literal "0x14") (] "]")) (= "=") (cast_expression "(int)piVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar1"))) (; ";")) (expression_statement "piVar2[0x16] = 0;" (assignment_expression "piVar2[0x16] = 0" (subscript_expression "piVar2[0x16]" (identifier "piVar2") ([ "[") (number_literal "0x16") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[0x17] = (int)piVar1;" (assignment_expression "piVar2[0x17] = (int)piVar1" (subscript_expression "piVar2[0x17]" (identifier "piVar2") ([ "[") (number_literal "0x17") (] "]")) (= "=") (cast_expression "(int)piVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar1"))) (; ";")) (expression_statement "*(undefined1 *)(piVar2 + 0x18) = 0;" (assignment_expression "*(undefined1 *)(piVar2 + 0x18) = 0" (pointer_expression "*(undefined1 *)(piVar2 + 0x18)" (* "*") (cast_expression "(undefined1 *)(piVar2 + 0x18)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar2 + 0x18)" (( "(") (binary_expression "piVar2 + 0x18" (identifier "piVar2") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[0x19] = 0;" (assignment_expression "piVar2[0x19] = 0" (subscript_expression "piVar2[0x19]" (identifier "piVar2") ([ "[") (number_literal "0x19") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[0x1a] = 0;" (assignment_expression "piVar2[0x1a] = 0" (subscript_expression "piVar2[0x1a]" (identifier "piVar2") ([ "[") (number_literal "0x1a") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[0x1b] = 0;" (assignment_expression "piVar2[0x1b] = 0" (subscript_expression "piVar2[0x1b]" (identifier "piVar2") ([ "[") (number_literal "0x1b") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[0x1c] = 0;" (assignment_expression "piVar2[0x1c] = 0" (subscript_expression "piVar2[0x1c]" (identifier "piVar2") ([ "[") (number_literal "0x1c") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_00079a30();" (call_expression "FUN_00079a30()" (identifier "FUN_00079a30") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar2[0x1d] = 0;" (assignment_expression "piVar2[0x1d] = 0" (subscript_expression "piVar2[0x1d]" (identifier "piVar2") ([ "[") (number_literal "0x1d") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*piVar2 = unaff_EDI + 0x562101;" (assignment_expression "*piVar2 = unaff_EDI + 0x562101" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (= "=") (binary_expression "unaff_EDI + 0x562101" (identifier "unaff_EDI") (+ "+") (number_literal "0x562101"))) (; ";")) (return_statement "return piVar2;" (return "return") (identifier "piVar2") (; ";")) (} "}"))) (expression_statement "FUN_002446e0(unaff_EDI + 0x3cdd96,0x5c,unaff_EDI + 0x3d8e61,0);" (call_expression "FUN_002446e0(unaff_EDI + 0x3cdd96,0x5c,unaff_EDI + 0x3d8e61,0)" (identifier "FUN_002446e0") (argument_list "(unaff_EDI + 0x3cdd96,0x5c,unaff_EDI + 0x3d8e61,0)" (( "(") (binary_expression "unaff_EDI + 0x3cdd96" (identifier "unaff_EDI") (+ "+") (number_literal "0x3cdd96")) (, ",") (number_literal "0x5c") (, ",") (binary_expression "unaff_EDI + 0x3d8e61" (identifier "unaff_EDI") (+ "+") (number_literal "0x3d8e61")) (, ",") (number_literal "0") () ")"))) (; ";")) (} "}")))

/* 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) */

var_1<64> * __thiscall
anon_unknown.dwarf_32e241::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)

{
  var_2 *var_3;
  var_1<64> *pOVar2;
  int var_6;
  var_1<64> *in_stack_ffffffd4;
  type_1 *in_stack_ffffffd8;
  
  var_4();
  if ((this->feature_1_ & 1) != 0) {
    pOVar2 = (var_1<64> *)var_5(0x78);
    *(type_2 *)&pOVar2->field_0x4 = 0;
    *(type_2 *)&pOVar2->field_0x8 = 0;
    var_3 = &pOVar2->free_list_;
    *(type_2 *)&pOVar2->field_0xc = 0;
    *(type_2 *)&pOVar2->field_0x10 = 0;
    *(type_2 *)&pOVar2->field_0x14 = 0xffffffff;
    *(type_2 *)&pOVar2->field_0x18 = 0xffffffff;
    pOVar2->field_0x1c = pOVar2->field_0x1c & 0xe0;
    *(type_2 *)&pOVar2->field_0x20 = 0;
    *(type_2 *)&pOVar2->field_0x24 = 0x10;
    *(type_2 *)&pOVar2->field_0x28 = 0;
    pOVar2->plt_eh_frame_cie_size = var_6 + 0x561ddd;
    pOVar2->tlsdesc_rel_ = (type_3 *)0x0;
    pOVar2->got_ = got;
    pOVar2->irelative_rel_ = (type_3 *)0x0;
    pOVar2->got_plt_ = got_plt;
    pOVar2->count_ = 0;
    pOVar2->got_irelative_ = got_irelative;
    pOVar2->irelative_count_ = 0;
    pOVar2->tlsdesc_got_offset_ = 0xffffffff;
    (pOVar2->free_list_).list_.
    super__List_base<gold::Free_list::var_7,_std::allocator<gold::Free_list::var_7>var_8>
    ._M_impl._M_node.super__List_node_base._M_prev = (type_4 *)var_3;
    (pOVar2->free_list_).list_.
    super__List_base<gold::Free_list::var_7,_std::allocator<gold::Free_list::var_7>var_8>
    ._M_impl._M_node.super__List_node_base._M_next = (type_4 *)var_3;
    (pOVar2->free_list_).list_.
    super__List_base<gold::Free_list::var_7,_std::allocator<gold::Free_list::var_7>var_8>
    ._M_impl._M_node._M_size = 0;
    (pOVar2->free_list_).last_remove_._M_node = (type_4 *)var_3;
    (pOVar2->free_list_).extend_ = false;
    *(type_2 *)&(pOVar2->free_list_).length_ = 0;
    *(type_2 *)((int)&(pOVar2->free_list_).length_ + 4) = 0;
    *(type_2 *)&(pOVar2->free_list_).min_hole_ = 0;
    *(type_2 *)((int)&(pOVar2->free_list_).min_hole_ + 4) = 0;
                    /* try { // try from 0007a7b6 to 0007a7ba has its CatchHandler @ 0007a7fe */
    var_1<64>::var_9(in_stack_ffffffd4,in_stack_ffffffd8);
    pOVar2[1].plt_eh_frame_cie_size = 0;
    pOVar2->plt_eh_frame_cie_size = var_6 + 0x562299;
    return pOVar2;
  }
  if (*(int *)(*(int *)(var_10 + var_6 + 8) + 8) != 0) {
    if (*(char *)(*(int *)(*(int *)(var_10 + var_6 + 8) + 8) + 0x4d75) == '\0') {
      pOVar2 = (var_1<64> *)var_5(0x74);
      *(type_2 *)&pOVar2->field_0x4 = 0;
      *(type_2 *)&pOVar2->field_0x8 = 0;
      var_3 = &pOVar2->free_list_;
      *(type_2 *)&pOVar2->field_0xc = 0;
      *(type_2 *)&pOVar2->field_0x10 = 0;
      *(type_2 *)&pOVar2->field_0x14 = 0xffffffff;
      *(type_2 *)&pOVar2->field_0x18 = 0xffffffff;
      pOVar2->field_0x1c = pOVar2->field_0x1c & 0xe0;
      *(type_2 *)&pOVar2->field_0x20 = 0;
      *(type_2 *)&pOVar2->field_0x24 = 0x10;
      *(type_2 *)&pOVar2->field_0x28 = 0;
      pOVar2->plt_eh_frame_cie_size = var_6 + 0x561ddd;
      pOVar2->tlsdesc_rel_ = (type_3 *)0x0;
      pOVar2->got_ = got;
      pOVar2->irelative_rel_ = (type_3 *)0x0;
      pOVar2->got_plt_ = got_plt;
      pOVar2->count_ = 0;
      pOVar2->got_irelative_ = got_irelative;
      pOVar2->irelative_count_ = 0;
      pOVar2->tlsdesc_got_offset_ = 0xffffffff;
      (pOVar2->free_list_).list_.
      super__List_base<gold::Free_list::var_7,_std::allocator<gold::Free_list::var_7>var_8>
      ._M_impl._M_node.super__List_node_base._M_prev = (type_4 *)var_3;
      (pOVar2->free_list_).list_.
      super__List_base<gold::Free_list::var_7,_std::allocator<gold::Free_list::var_7>var_8>
      ._M_impl._M_node.super__List_node_base._M_next = (type_4 *)var_3;
      (pOVar2->free_list_).list_.
      super__List_base<gold::Free_list::var_7,_std::allocator<gold::Free_list::var_7>var_8>
      ._M_impl._M_node._M_size = 0;
      (pOVar2->free_list_).last_remove_._M_node = (type_4 *)var_3;
      (pOVar2->free_list_).extend_ = false;
      *(type_2 *)&(pOVar2->free_list_).length_ = 0;
      *(type_2 *)((int)&(pOVar2->free_list_).length_ + 4) = 0;
      *(type_2 *)&(pOVar2->free_list_).min_hole_ = 0;
      *(type_2 *)((int)&(pOVar2->free_list_).min_hole_ + 4) = 0;
                    /* try { // try from 0007a5de to 0007a5e2 has its CatchHandler @ 0007a7ec */
      var_1<64>::var_9(in_stack_ffffffd4,in_stack_ffffffd8);
      pOVar2->plt_eh_frame_cie_size = var_6 + 0x5623a9;
      return pOVar2;
    }
    pOVar2 = (var_1<64> *)var_5(0x78);
    *(type_2 *)&pOVar2->field_0x4 = 0;
    *(type_2 *)&pOVar2->field_0x8 = 0;
    var_3 = &pOVar2->free_list_;
    *(type_2 *)&pOVar2->field_0xc = 0;
    *(type_2 *)&pOVar2->field_0x10 = 0;
    *(type_2 *)&pOVar2->field_0x14 = 0xffffffff;
    *(type_2 *)&pOVar2->field_0x18 = 0xffffffff;
    pOVar2->field_0x1c = pOVar2->field_0x1c & 0xe0;
    *(type_2 *)&pOVar2->field_0x20 = 0;
    *(type_2 *)&pOVar2->field_0x24 = 0x10;
    *(type_2 *)&pOVar2->field_0x28 = 0;
    pOVar2->plt_eh_frame_cie_size = var_6 + 0x561ddd;
    pOVar2->tlsdesc_rel_ = (type_3 *)0x0;
    pOVar2->got_ = got;
    pOVar2->irelative_rel_ = (type_3 *)0x0;
    pOVar2->got_plt_ = got_plt;
    pOVar2->count_ = 0;
    pOVar2->got_irelative_ = got_irelative;
    pOVar2->irelative_count_ = 0;
    pOVar2->tlsdesc_got_offset_ = 0xffffffff;
    (pOVar2->free_list_).list_.
    super__List_base<gold::Free_list::var_7,_std::allocator<gold::Free_list::var_7>var_8>
    ._M_impl._M_node.super__List_node_base._M_prev = (type_4 *)var_3;
    (pOVar2->free_list_).list_.
    super__List_base<gold::Free_list::var_7,_std::allocator<gold::Free_list::var_7>var_8>
    ._M_impl._M_node.super__List_node_base._M_next = (type_4 *)var_3;
    (pOVar2->free_list_).list_.
    super__List_base<gold::Free_list::var_7,_std::allocator<gold::Free_list::var_7>var_8>
    ._M_impl._M_node._M_size = 0;
    (pOVar2->free_list_).last_remove_._M_node = (type_4 *)var_3;
    (pOVar2->free_list_).extend_ = false;
    *(type_2 *)&(pOVar2->free_list_).length_ = 0;
    *(type_2 *)((int)&(pOVar2->free_list_).length_ + 4) = 0;
    *(type_2 *)&(pOVar2->free_list_).min_hole_ = 0;
    *(type_2 *)((int)&(pOVar2->free_list_).min_hole_ + 4) = 0;
                    /* try { // try from 0007a6c6 to 0007a6ca has its CatchHandler @ 0007a7f5 */
    var_1<64>::var_9(in_stack_ffffffd4,in_stack_ffffffd8);
    pOVar2[1].plt_eh_frame_cie_size = 0;
    pOVar2->plt_eh_frame_cie_size = var_6 + 0x562101;
    return pOVar2;
  }
                    /* WARNING: Subroutine does not return */
  gold::var_11((char *)(var_6 + 0x3cdd96),0x5c,&UNK_003d8e61 + var_6);
}


(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))))) body: (compound_statement (declaration type: (primitive_type) declarator: (pointer_declarator 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: (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: (number_literal))) (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: (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: (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: (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: (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 (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 (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: (number_literal))) (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: (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: (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: (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: (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 (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: (number_literal))) (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: (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: (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: (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: (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 (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)) (number_literal)))))))

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

{
  int *piVar1;
  int *piVar2;
  int unaff_EDI;
  
  FUN_00074f0a();
  if ((*(byte *)(param_1 + 0x68) & 1) != 0) {
    piVar2 = (int *)FUN_003ac4d0(0x78);
    piVar2[1] = 0;
    piVar2[2] = 0;
    piVar1 = piVar2 + 0x14;
    piVar2[3] = 0;
    piVar2[4] = 0;
    piVar2[5] = -1;
    piVar2[6] = -1;
    *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;
    piVar2[8] = 0;
    piVar2[9] = 0x10;
    piVar2[10] = 0;
    *piVar2 = unaff_EDI + 0x561ddd;
    piVar2[0xc] = 0;
    piVar2[0xe] = param_3;
    piVar2[0xd] = 0;
    piVar2[0xf] = param_4;
    piVar2[0x11] = 0;
    piVar2[0x10] = param_5;
    piVar2[0x12] = 0;
    piVar2[0x13] = -1;
    piVar2[0x15] = (int)piVar1;
    piVar2[0x14] = (int)piVar1;
    piVar2[0x16] = 0;
    piVar2[0x17] = (int)piVar1;
    *(undefined1 *)(piVar2 + 0x18) = 0;
    piVar2[0x19] = 0;
    piVar2[0x1a] = 0;
    piVar2[0x1b] = 0;
    piVar2[0x1c] = 0;
                    /* try { // try from 0007a7b6 to 0007a7ba has its CatchHandler @ 0007a7fe */
    FUN_00079a30();
    piVar2[0x1d] = 0;
    *piVar2 = unaff_EDI + 0x562299;
    return piVar2;
  }
  if (*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) != 0) {
    if (*(char *)(*(int *)(*(int *)(BYTE_ARRAY_005702e9 + unaff_EDI + 8) + 8) + 0x4d75) == '\0') {
      piVar2 = (int *)FUN_003ac4d0(0x74);
      piVar2[1] = 0;
      piVar2[2] = 0;
      piVar1 = piVar2 + 0x14;
      piVar2[3] = 0;
      piVar2[4] = 0;
      piVar2[5] = -1;
      piVar2[6] = -1;
      *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;
      piVar2[8] = 0;
      piVar2[9] = 0x10;
      piVar2[10] = 0;
      *piVar2 = unaff_EDI + 0x561ddd;
      piVar2[0xc] = 0;
      piVar2[0xe] = param_3;
      piVar2[0xd] = 0;
      piVar2[0xf] = param_4;
      piVar2[0x11] = 0;
      piVar2[0x10] = param_5;
      piVar2[0x12] = 0;
      piVar2[0x13] = -1;
      piVar2[0x15] = (int)piVar1;
      piVar2[0x14] = (int)piVar1;
      piVar2[0x16] = 0;
      piVar2[0x17] = (int)piVar1;
      *(undefined1 *)(piVar2 + 0x18) = 0;
      piVar2[0x19] = 0;
      piVar2[0x1a] = 0;
      piVar2[0x1b] = 0;
      piVar2[0x1c] = 0;
                    /* try { // try from 0007a5de to 0007a5e2 has its CatchHandler @ 0007a7ec */
      FUN_00079a30();
      *piVar2 = unaff_EDI + 0x5623a9;
      return piVar2;
    }
    piVar2 = (int *)FUN_003ac4d0(0x78);
    piVar2[1] = 0;
    piVar2[2] = 0;
    piVar1 = piVar2 + 0x14;
    piVar2[3] = 0;
    piVar2[4] = 0;
    piVar2[5] = -1;
    piVar2[6] = -1;
    *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;
    piVar2[8] = 0;
    piVar2[9] = 0x10;
    piVar2[10] = 0;
    *piVar2 = unaff_EDI + 0x561ddd;
    piVar2[0xc] = 0;
    piVar2[0xe] = param_3;
    piVar2[0xd] = 0;
    piVar2[0xf] = param_4;
    piVar2[0x11] = 0;
    piVar2[0x10] = param_5;
    piVar2[0x12] = 0;
    piVar2[0x13] = -1;
    piVar2[0x15] = (int)piVar1;
    piVar2[0x14] = (int)piVar1;
    piVar2[0x16] = 0;
    piVar2[0x17] = (int)piVar1;
    *(undefined1 *)(piVar2 + 0x18) = 0;
    piVar2[0x19] = 0;
    piVar2[0x1a] = 0;
    piVar2[0x1b] = 0;
    piVar2[0x1c] = 0;
                    /* try { // try from 0007a6c6 to 0007a6ca has its CatchHandler @ 0007a7f5 */
    FUN_00079a30();
    piVar2[0x1d] = 0;
    *piVar2 = unaff_EDI + 0x562101;
    return piVar2;
  }
                    /* WARNING: Subroutine does not return */
  FUN_002446e0(unaff_EDI + 0x3cdd96,0x5c,unaff_EDI + 0x3d8e61,0);
}

