
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Enum "<anon>": Some values do not have unique names */
/* DWARF original prototype: void make_exidx_input_section(Arm_relobj<true> * this, uint shndx,
   Shdr<32,_true> * shdr, uint text_shndx, Shdr<32,_true> * text_shdr) */

void __thiscall
anon_unknown.dwarf_91258a::Arm_relobj<true>::make_exidx_input_section
          (Arm_relobj<true> *this,uint shndx,Shdr<32,_true> *shdr,uint text_shndx,
          Shdr<32,_true> *text_shdr)

{
}



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

void __regparm3
FUN_00127750(int param_1,undefined1 *param_2,int *param_3,undefined1 *param_4,int *param_5)

{
  undefined1 *puVar1;
  uint uVar2;
  uint uVar3;
  int *piVar4;
  int *piVar5;
  undefined4 *puVar6;
  undefined4 uVar7;
  undefined1 **ppuVar8;
  undefined1 **ppuVar9;
  undefined1 *puStack_a8;
  undefined **ppuStack_a4;
  undefined4 uStack_a0;
  undefined1 auStack_9c [12];
  undefined1 *local_90;
  undefined1 *local_8c;
  undefined4 local_88;
  undefined1 *local_84;
  undefined1 *local_80;
  undefined1 *local_7c;
  undefined1 **local_78;
  undefined **local_74;
  undefined1 *local_70 [3];
  undefined1 *local_64 [2];
  undefined1 local_5c [16];
  undefined1 *local_4c [2];
  undefined1 local_44 [16];
  undefined1 *local_34 [2];
  undefined1 local_2c [24];
  undefined4 uStack_14;
  
  uStack_14 = 0x12775d;
  local_74 = &__DT_PLTGOT;
  uVar2 = *(uint *)(*param_3 + 0x14);
  uVar3 = *(uint *)(*param_3 + 0x20);
  local_80 = (undefined1 *)
             (uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18);
  local_7c = (undefined1 *)
             (uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18);
  uVar2 = *(uint *)(*param_5 + 0x14);
  local_78 = (undefined1 **)
             (uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18);
  local_70[0] = param_2;
  piVar4 = (int *)FUN_003ac4d0(0x1c);
  ppuVar9 = (undefined1 **)auStack_9c;
  *piVar4 = param_1;
  piVar4[4] = (int)local_7c;
  piVar4[1] = (int)local_70[0];
  piVar4[3] = (int)local_80;
  piVar4[2] = (int)param_4;
  *(undefined1 *)(piVar4 + 6) = 0;
  piVar4[5] = (int)local_78;
  local_78 = local_70;
  uStack_a0 = 0x1277d3;
  piVar5 = (int *)FUN_00110560();
  if (*piVar5 != 0) {
    ppuStack_a4 = local_74 + -0x601ca;
    puStack_a8 = (undefined1 *)0x1ad6;
                    /* WARNING: Subroutine does not return */
    FUN_002446e0((int)local_74 + -0x182cba);
  }
  uStack_a0 = 0x1277e7;
  puVar6 = (undefined4 *)FUN_00110560();
  *puVar6 = piVar4;
  local_78 = (undefined1 **)param_4;
  if ((param_4 == (undefined1 *)0x0) || (*(undefined1 **)(param_1 + 0x28) <= param_4)) {
    local_7c = *(undefined1 **)(param_1 + 4);
    puStack_a8 = (undefined1 *)(param_1 + 0x90);
    ppuStack_a4 = (undefined **)local_70[0];
    local_84 = local_70[0];
    FUN_00106d90(local_34);
    local_80 = local_34[0];
    uVar7 = gettext(local_74 + -0x5f8d0);
                    /* try { // try from 00127844 to 00127848 has its CatchHandler @ 00127b4e */
    FUN_0023b810(uVar7,local_80,local_84,local_78,local_7c);
    ppuVar8 = (undefined1 **)&uStack_a0;
    ppuVar9 = (undefined1 **)&uStack_a0;
    if (local_34[0] != local_2c) {
LAB_00127856:
      *(undefined1 **)((int)ppuVar8 + -0x10) = local_34[0];
      *(undefined4 *)((int)ppuVar8 + -0x14) = 0x127862;
      FUN_003ae080();
      ppuVar9 = ppuVar8;
    }
  }
  else {
    uStack_a0 = 0x12789a;
    piVar5 = (int *)FUN_00110560();
    if (*piVar5 == 0) {
      uStack_a0 = 0x127afa;
      puVar6 = (undefined4 *)FUN_00110560();
      *puVar6 = piVar4;
      goto LAB_00127869;
    }
    puVar1 = (undefined1 *)(param_1 + 0x90);
    uStack_a0 = 0x1278b4;
    piVar5 = (int *)FUN_00110560();
    local_88 = *(undefined4 *)(param_1 + 4);
    local_80 = *(undefined1 **)(*piVar5 + 4);
    ppuStack_a4 = (undefined **)param_4;
    local_78 = (undefined1 **)param_4;
    puStack_a8 = puVar1;
    FUN_00106d90(local_34);
    local_84 = local_34[0];
    puStack_a8 = local_80;
                    /* try { // try from 001278e9 to 001278ed has its CatchHandler @ 00127b2b */
    FUN_00106d90(local_4c,puVar1);
    local_8c = local_4c[0];
    local_7c = local_70[0];
                    /* try { // try from 00127905 to 00127909 has its CatchHandler @ 00127b24 */
    FUN_00106d90(local_64,puVar1,local_70[0]);
    local_90 = local_64[0];
    uVar7 = gettext(local_74 + -0x5f8c2);
                    /* try { // try from 0012794a to 0012794e has its CatchHandler @ 00127b1d */
    FUN_0023b810(uVar7,local_90,local_7c,local_8c,local_80,local_84,local_78,local_88);
    if (local_64[0] != local_5c) {
      FUN_003ae080(local_64[0]);
    }
    if (local_4c[0] != local_44) {
      FUN_003ae080(local_4c[0]);
    }
    ppuVar8 = &puStack_a8;
    ppuVar9 = &puStack_a8;
    if (local_34[0] != local_2c) goto LAB_00127856;
  }
  *(undefined1 *)(piVar4 + 6) = 1;
LAB_00127869:
  if ((*(uint *)(*param_5 + 8) >> 0x18 & 2) == 0) {
    local_80 = *(undefined1 **)(param_1 + 4);
    *(undefined1 **)((int)ppuVar9 + -8) = param_4;
    *(int *)((int)ppuVar9 + -0xc) = param_1 + 0x90;
    *(undefined1 ***)((int)ppuVar9 + -0x10) = local_34;
    local_78 = (undefined1 **)param_4;
    *(undefined4 *)((int)ppuVar9 + -0x14) = 0x127a68;
    FUN_00106d90();
    puVar1 = local_70[0];
    local_7c = local_34[0];
    *(undefined1 **)((int)ppuVar9 + -0xc) = local_70[0];
    *(int *)((int)ppuVar9 + -0x10) = param_1 + 0x90;
    *(undefined1 ***)((int)ppuVar9 + -0x14) = local_4c;
                    /* try { // try from 00127a79 to 00127a7d has its CatchHandler @ 00127b32 */
    *(undefined4 *)((int)ppuVar9 + -0x18) = 0x127a7e;
    FUN_00106d90();
    local_84 = local_4c[0];
    *(undefined ***)((int)ppuVar9 + -0x18) = local_74 + -0x5f8b0;
    *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a95;
    uVar7 = gettext();
    *(undefined1 **)((int)ppuVar9 + -0x14) = local_80;
    *(undefined1 ***)((int)ppuVar9 + -0x18) = local_78;
    *(undefined1 **)((int)ppuVar9 + -0x1c) = local_7c;
    *(undefined1 **)((int)ppuVar9 + -0x20) = puVar1;
    *(undefined1 **)((int)ppuVar9 + -0x24) = local_84;
    *(undefined4 *)((int)ppuVar9 + -0x28) = uVar7;
                    /* try { // try from 00127aab to 00127aaf has its CatchHandler @ 00127b39 */
    *(undefined4 *)((int)ppuVar9 + -0x2c) = 0x127ab0;
    FUN_0023b810();
    if (local_4c[0] != local_44) {
      *(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0];
      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127ac6;
      FUN_003ae080();
    }
    if (local_34[0] != local_2c) {
      *(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0];
      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127adf;
      FUN_003ae080();
    }
    *(undefined1 *)(piVar4 + 6) = 1;
    return;
  }
  if ((*(uint *)(*param_5 + 8) & 0x4000000) == 0) {
    local_7c = *(undefined1 **)(param_1 + 4);
    *(undefined1 **)((int)ppuVar9 + -8) = param_4;
    *(int *)((int)ppuVar9 + -0xc) = param_1 + 0x90;
    *(undefined1 ***)((int)ppuVar9 + -0x10) = local_34;
    *(undefined4 *)((int)ppuVar9 + -0x14) = 0x1279bd;
    FUN_00106d90();
    puVar1 = local_70[0];
    local_78 = (undefined1 **)local_34[0];
    *(undefined1 **)((int)ppuVar9 + -0xc) = local_70[0];
    *(int *)((int)ppuVar9 + -0x10) = param_1 + 0x90;
    *(undefined1 ***)((int)ppuVar9 + -0x14) = local_4c;
                    /* try { // try from 001279ce to 001279d2 has its CatchHandler @ 00127b40 */
    *(undefined4 *)((int)ppuVar9 + -0x18) = 0x1279d3;
    FUN_00106d90();
    local_80 = local_4c[0];
    *(undefined ***)((int)ppuVar9 + -0x18) = local_74 + -0x5f89f;
    *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x1279ea;
    uVar7 = gettext();
    *(undefined1 **)((int)ppuVar9 + -0x14) = local_7c;
    *(undefined1 **)((int)ppuVar9 + -0x18) = param_4;
    *(undefined1 ***)((int)ppuVar9 + -0x1c) = local_78;
    *(undefined1 **)((int)ppuVar9 + -0x20) = puVar1;
    *(undefined1 **)((int)ppuVar9 + -0x24) = local_80;
    *(undefined4 *)((int)ppuVar9 + -0x28) = uVar7;
                    /* try { // try from 001279fe to 00127a02 has its CatchHandler @ 00127b47 */
    *(undefined4 *)((int)ppuVar9 + -0x2c) = 0x127a03;
    FUN_0023b840();
    if (local_4c[0] != local_44) {
      *(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0];
      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a19;
      FUN_003ae080();
    }
    if (local_34[0] != local_2c) {
      *(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0];
      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a36;
      FUN_003ae080();
      return;
    }
  }
  return;
}


PUSH EBP
MOV EBP,ESP
PUSH EDI
PUSH ESI
MOV ESI,EAX
PUSH EBX
CALL 0x00050b50
ADD EBX,0x4c28a3
SUB ESP,0x98
MOV EAX,dword ptr [ECX]
MOV dword ptr [EBP + -0x6c],EDX
MOV ECX,dword ptr [EAX + 0x14]
MOV EDX,dword ptr [EAX + 0x20]
MOV EAX,dword ptr [EBP + 0xc]
BSWAP ECX
BSWAP EDX
MOV dword ptr [EBP + -0x70],EBX
MOV EAX,dword ptr [EAX]
MOV dword ptr [EBP + -0x7c],ECX
MOV dword ptr [EBP + -0x78],EDX
MOV EAX,dword ptr [EAX + 0x14]
PUSH 0x1c
BSWAP EAX
MOV dword ptr [EBP + -0x74],EAX
CALL 0x003ac4d0
MOV EDX,dword ptr [EBP + -0x78]
MOV ECX,dword ptr [EBP + -0x7c]
ADD ESP,0x10
MOV dword ptr [EAX],ESI
MOV EDI,EAX
MOV EAX,dword ptr [EBP + -0x6c]
LEA EBX,[ESI + 0x180]
MOV dword ptr [EDI + 0x10],EDX
MOV dword ptr [EDI + 0x4],EAX
MOV EAX,dword ptr [EBP + 0x8]
MOV dword ptr [EDI + 0xc],ECX
MOV dword ptr [EDI + 0x8],EAX
MOV EAX,dword ptr [EBP + -0x74]
MOV byte ptr [EDI + 0x18],0x0
MOV dword ptr [EDI + 0x14],EAX
LEA EAX,[EBP + -0x6c]
MOV dword ptr [EBP + -0x74],EAX
MOV EDX,EAX
MOV EAX,EBX
CALL 0x00110560
MOV EAX,dword ptr [EAX]
TEST EAX,EAX
JNZ 0x00127b01
MOV EDX,dword ptr [EBP + -0x74]
MOV EAX,EBX
CALL 0x00110560
MOV dword ptr [EAX],EDI
MOV EAX,dword ptr [EBP + 0x8]
MOV dword ptr [EBP + -0x74],EAX
TEST EAX,EAX
JZ 0x001277fc
CMP EAX,dword ptr [ESI + 0x28]
JC 0x00127890
MOV EAX,dword ptr [ESI + 0x4]
MOV EDX,dword ptr [EBP + -0x6c]
SUB ESP,0x4
LEA ECX,[ESI + 0x90]
MOV dword ptr [EBP + -0x78],EAX
LEA EAX,[EBP + -0x30]
PUSH EDX
PUSH ECX
PUSH EAX
MOV dword ptr [EBP + -0x80],EDX
CALL 0x00106d90
MOV EBX,dword ptr [EBP + -0x70]
MOV ECX,dword ptr [EBP + -0x30]
LEA EAX,[EBX + 0xffe81cc0]
MOV dword ptr [EBP + -0x7c],ECX
PUSH EAX
CALL 0x00039440
POP EDX
MOV ECX,dword ptr [EBP + -0x7c]
PUSH dword ptr [EBP + -0x78]
MOV EDX,dword ptr [EBP + -0x80]
PUSH dword ptr [EBP + -0x74]
MOV EBX,dword ptr [EBP + -0x70]
PUSH EDX
PUSH ECX
PUSH EAX
CALL 0x0023b810
MOV EAX,dword ptr [EBP + -0x30]
LEA EDX,[EBP + -0x28]
ADD ESP,0x20
CMP EAX,EDX
JZ 0x00127865
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x70]
PUSH EAX
CALL 0x003ae080
ADD ESP,0x10
MOV byte ptr [EDI + 0x18],0x1
MOV EAX,dword ptr [EBP + 0xc]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x8]
BSWAP EAX
TEST AL,0x2
JZ 0x00127a48
TEST AL,0x4
JZ 0x001279a0
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET
LEA EDX,[EBP + 0x8]
MOV EAX,EBX
CALL 0x00110560
MOV EAX,dword ptr [EAX]
TEST EAX,EAX
JZ 0x00127af0
LEA EDX,[EBP + 0x8]
MOV EAX,EBX
LEA EBX,[ESI + 0x90]
CALL 0x00110560
MOV ECX,dword ptr [ESI + 0x4]
SUB ESP,0x4
MOV EAX,dword ptr [EAX]
MOV dword ptr [EBP + 0xffffff7c],ECX
MOV ECX,dword ptr [EBP + 0x8]
MOV EAX,dword ptr [EAX + 0x4]
PUSH ECX
MOV dword ptr [EBP + -0x7c],EAX
LEA EAX,[EBP + -0x30]
PUSH EBX
PUSH EAX
MOV dword ptr [EBP + -0x74],ECX
CALL 0x00106d90
MOV EDX,dword ptr [EBP + -0x30]
LEA EAX,[EBP + -0x48]
MOV dword ptr [EBP + -0x80],EDX
POP EDX
POP ECX
PUSH dword ptr [EBP + -0x7c]
PUSH EBX
PUSH EAX
CALL 0x00106d90
POP ECX
POP EAX
MOV EAX,dword ptr [EBP + -0x48]
MOV EDX,dword ptr [EBP + -0x6c]
MOV dword ptr [EBP + 0xffffff78],EAX
LEA EAX,[EBP + -0x60]
PUSH EDX
PUSH EBX
PUSH EAX
MOV dword ptr [EBP + -0x78],EDX
CALL 0x00106d90
MOV ECX,dword ptr [EBP + -0x70]
MOV EDX,dword ptr [EBP + -0x60]
LEA EAX,[ECX + 0xffe81cf8]
MOV EBX,ECX
MOV dword ptr [EBP + 0xffffff74],EDX
PUSH EAX
CALL 0x00039440
MOV EDX,dword ptr [EBP + 0xffffff74]
ADD ESP,0x10
MOV EBX,dword ptr [EBP + -0x70]
PUSH dword ptr [EBP + 0xffffff7c]
PUSH dword ptr [EBP + -0x74]
PUSH dword ptr [EBP + -0x80]
PUSH dword ptr [EBP + -0x7c]
PUSH dword ptr [EBP + 0xffffff78]
PUSH dword ptr [EBP + -0x78]
PUSH EDX
PUSH EAX
CALL 0x0023b810
MOV EAX,dword ptr [EBP + -0x60]
LEA EDX,[EBP + -0x58]
ADD ESP,0x20
CMP EAX,EDX
JZ 0x0012796b
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x70]
PUSH EAX
CALL 0x003ae080
ADD ESP,0x10
MOV EAX,dword ptr [EBP + -0x48]
LEA EDX,[EBP + -0x40]
CMP EAX,EDX
JZ 0x00127984
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x70]
PUSH EAX
CALL 0x003ae080
ADD ESP,0x10
MOV EAX,dword ptr [EBP + -0x30]
LEA EDX,[EBP + -0x28]
CMP EAX,EDX
JNZ 0x00127856
JMP 0x00127865
MOV EAX,dword ptr [ESI + 0x4]
MOV EDI,dword ptr [EBP + 0x8]
SUB ESP,0x4
LEA EBX,[ESI + 0x90]
MOV dword ptr [EBP + -0x78],EAX
LEA EAX,[EBP + -0x30]
PUSH EDI
PUSH EBX
PUSH EAX
CALL 0x00106d90
MOV ESI,dword ptr [EBP + -0x30]
LEA EAX,[EBP + -0x48]
POP EDX
POP ECX
MOV dword ptr [EBP + -0x74],ESI
MOV ESI,dword ptr [EBP + -0x6c]
PUSH ESI
PUSH EBX
PUSH EAX
CALL 0x00106d90
MOV ECX,dword ptr [EBP + -0x70]
MOV EDX,dword ptr [EBP + -0x48]
LEA EAX,[ECX + 0xffe81d84]
MOV EBX,ECX
MOV dword ptr [EBP + -0x7c],EDX
PUSH EAX
CALL 0x00039440
POP EDX
MOV EDX,dword ptr [EBP + -0x7c]
POP ECX
PUSH dword ptr [EBP + -0x78]
PUSH EDI
PUSH dword ptr [EBP + -0x74]
PUSH ESI
MOV ESI,dword ptr [EBP + -0x70]
PUSH EDX
PUSH EAX
MOV EBX,ESI
CALL 0x0023b840
MOV EAX,dword ptr [EBP + -0x48]
LEA EDX,[EBP + -0x40]
ADD ESP,0x20
CMP EAX,EDX
JZ 0x00127a1c
SUB ESP,0xc
PUSH EAX
CALL 0x003ae080
ADD ESP,0x10
MOV EAX,dword ptr [EBP + -0x30]
LEA EDX,[EBP + -0x28]
CMP EAX,EDX
JZ 0x00127883
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x70]
PUSH EAX
CALL 0x003ae080
ADD ESP,0x10
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EAX,dword ptr [ESI + 0x4]
MOV ECX,dword ptr [EBP + 0x8]
SUB ESP,0x4
LEA EBX,[ESI + 0x90]
MOV dword ptr [EBP + -0x7c],EAX
LEA EAX,[EBP + -0x30]
PUSH ECX
PUSH EBX
PUSH EAX
MOV dword ptr [EBP + -0x74],ECX
CALL 0x00106d90
MOV ESI,dword ptr [EBP + -0x30]
LEA EAX,[EBP + -0x48]
POP ECX
POP EDX
MOV dword ptr [EBP + -0x78],ESI
MOV ESI,dword ptr [EBP + -0x6c]
PUSH ESI
PUSH EBX
PUSH EAX
CALL 0x00106d90
MOV ECX,dword ptr [EBP + -0x70]
MOV EDX,dword ptr [EBP + -0x48]
LEA EAX,[ECX + 0xffe81d40]
MOV EBX,ECX
MOV dword ptr [EBP + -0x80],EDX
PUSH EAX
CALL 0x00039440
POP EBX
POP EDX
PUSH dword ptr [EBP + -0x7c]
MOV EDX,dword ptr [EBP + -0x80]
PUSH dword ptr [EBP + -0x74]
PUSH dword ptr [EBP + -0x78]
PUSH ESI
MOV ESI,dword ptr [EBP + -0x70]
PUSH EDX
PUSH EAX
MOV EBX,ESI
CALL 0x0023b810
MOV EAX,dword ptr [EBP + -0x48]
LEA EDX,[EBP + -0x40]
ADD ESP,0x20
CMP EAX,EDX
JZ 0x00127ac9
SUB ESP,0xc
PUSH EAX
CALL 0x003ae080
ADD ESP,0x10
MOV EAX,dword ptr [EBP + -0x30]
LEA EDX,[EBP + -0x28]
CMP EAX,EDX
JZ 0x00127ae2
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x70]
PUSH EAX
CALL 0x003ae080
ADD ESP,0x10
MOV byte ptr [EDI + 0x18],0x1
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET
LEA EDX,[EBP + 0x8]
MOV EAX,EBX
CALL 0x00110560
MOV dword ptr [EAX],EDI
JMP 0x00127869
MOV EBX,dword ptr [EBP + -0x70]
PUSH ECX
LEA EAX,[EBX + 0xffe7f8d8]
PUSH EAX
LEA EAX,[EBX + 0xffe7d346]
PUSH 0x1ad6
PUSH EAX
CALL 0x002446e0
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid __regparm3\nFUN_00127750(int param_1,undefined1 *param_2,int *param_3,undefined1 *param_4,int *param_5)\n\n{\n  undefined1 *puVar1;\n  uint uVar2;\n  uint uVar3;\n  int *piVar4;\n  int *piVar5;\n  undefined4 *puVar6;\n  undefined4 uVar7;\n  undefined1 **ppuVar8;\n  undefined1 **ppuVar9;\n  undefined1 *puStack_a8;\n  undefined **ppuStack_a4;\n  undefined4 uStack_a0;\n  undefined1 auStack_9c [12];\n  undefined1 *local_90;\n  undefined1 *local_8c;\n  undefined4 local_88;\n  undefined1 *local_84;\n  undefined1 *local_80;\n  undefined1 *local_7c;\n  undefined1 **local_78;\n  undefined **local_74;\n  undefined1 *local_70 [3];\n  undefined1 *local_64 [2];\n  undefined1 local_5c [16];\n  undefined1 *local_4c [2];\n  undefined1 local_44 [16];\n  undefined1 *local_34 [2];\n  undefined1 local_2c [24];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x12775d;\n  local_74 = &__DT_PLTGOT;\n  uVar2 = *(uint *)(*param_3 + 0x14);\n  uVar3 = *(uint *)(*param_3 + 0x20);\n  local_80 = (undefined1 *)\n             (uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18);\n  local_7c = (undefined1 *)\n             (uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18);\n  uVar2 = *(uint *)(*param_5 + 0x14);\n  local_78 = (undefined1 **)\n             (uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18);\n  local_70[0] = param_2;\n  piVar4 = (int *)FUN_003ac4d0(0x1c);\n  ppuVar9 = (undefined1 **)auStack_9c;\n  *piVar4 = param_1;\n  piVar4[4] = (int)local_7c;\n  piVar4[1] = (int)local_70[0];\n  piVar4[3] = (int)local_80;\n  piVar4[2] = (int)param_4;\n  *(undefined1 *)(piVar4 + 6) = 0;\n  piVar4[5] = (int)local_78;\n  local_78 = local_70;\n  uStack_a0 = 0x1277d3;\n  piVar5 = (int *)FUN_00110560();\n  if (*piVar5 != 0) {\n    ppuStack_a4 = local_74 + -0x601ca;\n    puStack_a8 = (undefined1 *)0x1ad6;\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0((int)local_74 + -0x182cba);\n  }\n  uStack_a0 = 0x1277e7;\n  puVar6 = (undefined4 *)FUN_00110560();\n  *puVar6 = piVar4;\n  local_78 = (undefined1 **)param_4;\n  if ((param_4 == (undefined1 *)0x0) || (*(undefined1 **)(param_1 + 0x28) <= param_4)) {\n    local_7c = *(undefined1 **)(param_1 + 4);\n    puStack_a8 = (undefined1 *)(param_1 + 0x90);\n    ppuStack_a4 = (undefined **)local_70[0];\n    local_84 = local_70[0];\n    FUN_00106d90(local_34);\n    local_80 = local_34[0];\n    uVar7 = gettext(local_74 + -0x5f8d0);\n                    /* try { // try from 00127844 to 00127848 has its CatchHandler @ 00127b4e */\n    FUN_0023b810(uVar7,local_80,local_84,local_78,local_7c);\n    ppuVar8 = (undefined1 **)&uStack_a0;\n    ppuVar9 = (undefined1 **)&uStack_a0;\n    if (local_34[0] != local_2c) {\nLAB_00127856:\n      *(undefined1 **)((int)ppuVar8 + -0x10) = local_34[0];\n      *(undefined4 *)((int)ppuVar8 + -0x14) = 0x127862;\n      FUN_003ae080();\n      ppuVar9 = ppuVar8;\n    }\n  }\n  else {\n    uStack_a0 = 0x12789a;\n    piVar5 = (int *)FUN_00110560();\n    if (*piVar5 == 0) {\n      uStack_a0 = 0x127afa;\n      puVar6 = (undefined4 *)FUN_00110560();\n      *puVar6 = piVar4;\n      goto LAB_00127869;\n    }\n    puVar1 = (undefined1 *)(param_1 + 0x90);\n    uStack_a0 = 0x1278b4;\n    piVar5 = (int *)FUN_00110560();\n    local_88 = *(undefined4 *)(param_1 + 4);\n    local_80 = *(undefined1 **)(*piVar5 + 4);\n    ppuStack_a4 = (undefined **)param_4;\n    local_78 = (undefined1 **)param_4;\n    puStack_a8 = puVar1;\n    FUN_00106d90(local_34);\n    local_84 = local_34[0];\n    puStack_a8 = local_80;\n                    /* try { // try from 001278e9 to 001278ed has its CatchHandler @ 00127b2b */\n    FUN_00106d90(local_4c,puVar1);\n    local_8c = local_4c[0];\n    local_7c = local_70[0];\n                    /* try { // try from 00127905 to 00127909 has its CatchHandler @ 00127b24 */\n    FUN_00106d90(local_64,puVar1,local_70[0]);\n    local_90 = local_64[0];\n    uVar7 = gettext(local_74 + -0x5f8c2);\n                    /* try { // try from 0012794a to 0012794e has its CatchHandler @ 00127b1d */\n    FUN_0023b810(uVar7,local_90,local_7c,local_8c,local_80,local_84,local_78,local_88);\n    if (local_64[0] != local_5c) {\n      FUN_003ae080(local_64[0]);\n    }\n    if (local_4c[0] != local_44) {\n      FUN_003ae080(local_4c[0]);\n    }\n    ppuVar8 = &puStack_a8;\n    ppuVar9 = &puStack_a8;\n    if (local_34[0] != local_2c) goto LAB_00127856;\n  }\n  *(undefined1 *)(piVar4 + 6) = 1;\nLAB_00127869:\n  if ((*(uint *)(*param_5 + 8) >> 0x18 & 2) == 0) {\n    local_80 = *(undefined1 **)(param_1 + 4);\n    *(undefined1 **)((int)ppuVar9 + -8) = param_4;\n    *(int *)((int)ppuVar9 + -0xc) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x10) = local_34;\n    local_78 = (undefined1 **)param_4;\n    *(undefined4 *)((int)ppuVar9 + -0x14) = 0x127a68;\n    FUN_00106d90();\n    puVar1 = local_70[0];\n    local_7c = local_34[0];\n    *(undefined1 **)((int)ppuVar9 + -0xc) = local_70[0];\n    *(int *)((int)ppuVar9 + -0x10) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x14) = local_4c;\n                    /* try { // try from 00127a79 to 00127a7d has its CatchHandler @ 00127b32 */\n    *(undefined4 *)((int)ppuVar9 + -0x18) = 0x127a7e;\n    FUN_00106d90();\n    local_84 = local_4c[0];\n    *(undefined ***)((int)ppuVar9 + -0x18) = local_74 + -0x5f8b0;\n    *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a95;\n    uVar7 = gettext();\n    *(undefined1 **)((int)ppuVar9 + -0x14) = local_80;\n    *(undefined1 ***)((int)ppuVar9 + -0x18) = local_78;\n    *(undefined1 **)((int)ppuVar9 + -0x1c) = local_7c;\n    *(undefined1 **)((int)ppuVar9 + -0x20) = puVar1;\n    *(undefined1 **)((int)ppuVar9 + -0x24) = local_84;\n    *(undefined4 *)((int)ppuVar9 + -0x28) = uVar7;\n                    /* try { // try from 00127aab to 00127aaf has its CatchHandler @ 00127b39 */\n    *(undefined4 *)((int)ppuVar9 + -0x2c) = 0x127ab0;\n    FUN_0023b810();\n    if (local_4c[0] != local_44) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127ac6;\n      FUN_003ae080();\n    }\n    if (local_34[0] != local_2c) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127adf;\n      FUN_003ae080();\n    }\n    *(undefined1 *)(piVar4 + 6) = 1;\n    return;\n  }\n  if ((*(uint *)(*param_5 + 8) & 0x4000000) == 0) {\n    local_7c = *(undefined1 **)(param_1 + 4);\n    *(undefined1 **)((int)ppuVar9 + -8) = param_4;\n    *(int *)((int)ppuVar9 + -0xc) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x10) = local_34;\n    *(undefined4 *)((int)ppuVar9 + -0x14) = 0x1279bd;\n    FUN_00106d90();\n    puVar1 = local_70[0];\n    local_78 = (undefined1 **)local_34[0];\n    *(undefined1 **)((int)ppuVar9 + -0xc) = local_70[0];\n    *(int *)((int)ppuVar9 + -0x10) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x14) = local_4c;\n                    /* try { // try from 001279ce to 001279d2 has its CatchHandler @ 00127b40 */\n    *(undefined4 *)((int)ppuVar9 + -0x18) = 0x1279d3;\n    FUN_00106d90();\n    local_80 = local_4c[0];\n    *(undefined ***)((int)ppuVar9 + -0x18) = local_74 + -0x5f89f;\n    *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x1279ea;\n    uVar7 = gettext();\n    *(undefined1 **)((int)ppuVar9 + -0x14) = local_7c;\n    *(undefined1 **)((int)ppuVar9 + -0x18) = param_4;\n    *(undefined1 ***)((int)ppuVar9 + -0x1c) = local_78;\n    *(undefined1 **)((int)ppuVar9 + -0x20) = puVar1;\n    *(undefined1 **)((int)ppuVar9 + -0x24) = local_80;\n    *(undefined4 *)((int)ppuVar9 + -0x28) = uVar7;\n                    /* try { // try from 001279fe to 00127a02 has its CatchHandler @ 00127b47 */\n    *(undefined4 *)((int)ppuVar9 + -0x2c) = 0x127a03;\n    FUN_0023b840();\n    if (local_4c[0] != local_44) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a19;\n      FUN_003ae080();\n    }\n    if (local_34[0] != local_2c) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a36;\n      FUN_003ae080();\n      return;\n    }\n  }\n  return;\n}\n\n" comment (function_definition "void __regparm3\nFUN_00127750(int param_1,undefined1 *param_2,int *param_3,undefined1 *param_4,int *param_5)\n\n{\n  undefined1 *puVar1;\n  uint uVar2;\n  uint uVar3;\n  int *piVar4;\n  int *piVar5;\n  undefined4 *puVar6;\n  undefined4 uVar7;\n  undefined1 **ppuVar8;\n  undefined1 **ppuVar9;\n  undefined1 *puStack_a8;\n  undefined **ppuStack_a4;\n  undefined4 uStack_a0;\n  undefined1 auStack_9c [12];\n  undefined1 *local_90;\n  undefined1 *local_8c;\n  undefined4 local_88;\n  undefined1 *local_84;\n  undefined1 *local_80;\n  undefined1 *local_7c;\n  undefined1 **local_78;\n  undefined **local_74;\n  undefined1 *local_70 [3];\n  undefined1 *local_64 [2];\n  undefined1 local_5c [16];\n  undefined1 *local_4c [2];\n  undefined1 local_44 [16];\n  undefined1 *local_34 [2];\n  undefined1 local_2c [24];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x12775d;\n  local_74 = &__DT_PLTGOT;\n  uVar2 = *(uint *)(*param_3 + 0x14);\n  uVar3 = *(uint *)(*param_3 + 0x20);\n  local_80 = (undefined1 *)\n             (uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18);\n  local_7c = (undefined1 *)\n             (uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18);\n  uVar2 = *(uint *)(*param_5 + 0x14);\n  local_78 = (undefined1 **)\n             (uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18);\n  local_70[0] = param_2;\n  piVar4 = (int *)FUN_003ac4d0(0x1c);\n  ppuVar9 = (undefined1 **)auStack_9c;\n  *piVar4 = param_1;\n  piVar4[4] = (int)local_7c;\n  piVar4[1] = (int)local_70[0];\n  piVar4[3] = (int)local_80;\n  piVar4[2] = (int)param_4;\n  *(undefined1 *)(piVar4 + 6) = 0;\n  piVar4[5] = (int)local_78;\n  local_78 = local_70;\n  uStack_a0 = 0x1277d3;\n  piVar5 = (int *)FUN_00110560();\n  if (*piVar5 != 0) {\n    ppuStack_a4 = local_74 + -0x601ca;\n    puStack_a8 = (undefined1 *)0x1ad6;\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0((int)local_74 + -0x182cba);\n  }\n  uStack_a0 = 0x1277e7;\n  puVar6 = (undefined4 *)FUN_00110560();\n  *puVar6 = piVar4;\n  local_78 = (undefined1 **)param_4;\n  if ((param_4 == (undefined1 *)0x0) || (*(undefined1 **)(param_1 + 0x28) <= param_4)) {\n    local_7c = *(undefined1 **)(param_1 + 4);\n    puStack_a8 = (undefined1 *)(param_1 + 0x90);\n    ppuStack_a4 = (undefined **)local_70[0];\n    local_84 = local_70[0];\n    FUN_00106d90(local_34);\n    local_80 = local_34[0];\n    uVar7 = gettext(local_74 + -0x5f8d0);\n                    /* try { // try from 00127844 to 00127848 has its CatchHandler @ 00127b4e */\n    FUN_0023b810(uVar7,local_80,local_84,local_78,local_7c);\n    ppuVar8 = (undefined1 **)&uStack_a0;\n    ppuVar9 = (undefined1 **)&uStack_a0;\n    if (local_34[0] != local_2c) {\nLAB_00127856:\n      *(undefined1 **)((int)ppuVar8 + -0x10) = local_34[0];\n      *(undefined4 *)((int)ppuVar8 + -0x14) = 0x127862;\n      FUN_003ae080();\n      ppuVar9 = ppuVar8;\n    }\n  }\n  else {\n    uStack_a0 = 0x12789a;\n    piVar5 = (int *)FUN_00110560();\n    if (*piVar5 == 0) {\n      uStack_a0 = 0x127afa;\n      puVar6 = (undefined4 *)FUN_00110560();\n      *puVar6 = piVar4;\n      goto LAB_00127869;\n    }\n    puVar1 = (undefined1 *)(param_1 + 0x90);\n    uStack_a0 = 0x1278b4;\n    piVar5 = (int *)FUN_00110560();\n    local_88 = *(undefined4 *)(param_1 + 4);\n    local_80 = *(undefined1 **)(*piVar5 + 4);\n    ppuStack_a4 = (undefined **)param_4;\n    local_78 = (undefined1 **)param_4;\n    puStack_a8 = puVar1;\n    FUN_00106d90(local_34);\n    local_84 = local_34[0];\n    puStack_a8 = local_80;\n                    /* try { // try from 001278e9 to 001278ed has its CatchHandler @ 00127b2b */\n    FUN_00106d90(local_4c,puVar1);\n    local_8c = local_4c[0];\n    local_7c = local_70[0];\n                    /* try { // try from 00127905 to 00127909 has its CatchHandler @ 00127b24 */\n    FUN_00106d90(local_64,puVar1,local_70[0]);\n    local_90 = local_64[0];\n    uVar7 = gettext(local_74 + -0x5f8c2);\n                    /* try { // try from 0012794a to 0012794e has its CatchHandler @ 00127b1d */\n    FUN_0023b810(uVar7,local_90,local_7c,local_8c,local_80,local_84,local_78,local_88);\n    if (local_64[0] != local_5c) {\n      FUN_003ae080(local_64[0]);\n    }\n    if (local_4c[0] != local_44) {\n      FUN_003ae080(local_4c[0]);\n    }\n    ppuVar8 = &puStack_a8;\n    ppuVar9 = &puStack_a8;\n    if (local_34[0] != local_2c) goto LAB_00127856;\n  }\n  *(undefined1 *)(piVar4 + 6) = 1;\nLAB_00127869:\n  if ((*(uint *)(*param_5 + 8) >> 0x18 & 2) == 0) {\n    local_80 = *(undefined1 **)(param_1 + 4);\n    *(undefined1 **)((int)ppuVar9 + -8) = param_4;\n    *(int *)((int)ppuVar9 + -0xc) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x10) = local_34;\n    local_78 = (undefined1 **)param_4;\n    *(undefined4 *)((int)ppuVar9 + -0x14) = 0x127a68;\n    FUN_00106d90();\n    puVar1 = local_70[0];\n    local_7c = local_34[0];\n    *(undefined1 **)((int)ppuVar9 + -0xc) = local_70[0];\n    *(int *)((int)ppuVar9 + -0x10) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x14) = local_4c;\n                    /* try { // try from 00127a79 to 00127a7d has its CatchHandler @ 00127b32 */\n    *(undefined4 *)((int)ppuVar9 + -0x18) = 0x127a7e;\n    FUN_00106d90();\n    local_84 = local_4c[0];\n    *(undefined ***)((int)ppuVar9 + -0x18) = local_74 + -0x5f8b0;\n    *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a95;\n    uVar7 = gettext();\n    *(undefined1 **)((int)ppuVar9 + -0x14) = local_80;\n    *(undefined1 ***)((int)ppuVar9 + -0x18) = local_78;\n    *(undefined1 **)((int)ppuVar9 + -0x1c) = local_7c;\n    *(undefined1 **)((int)ppuVar9 + -0x20) = puVar1;\n    *(undefined1 **)((int)ppuVar9 + -0x24) = local_84;\n    *(undefined4 *)((int)ppuVar9 + -0x28) = uVar7;\n                    /* try { // try from 00127aab to 00127aaf has its CatchHandler @ 00127b39 */\n    *(undefined4 *)((int)ppuVar9 + -0x2c) = 0x127ab0;\n    FUN_0023b810();\n    if (local_4c[0] != local_44) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127ac6;\n      FUN_003ae080();\n    }\n    if (local_34[0] != local_2c) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127adf;\n      FUN_003ae080();\n    }\n    *(undefined1 *)(piVar4 + 6) = 1;\n    return;\n  }\n  if ((*(uint *)(*param_5 + 8) & 0x4000000) == 0) {\n    local_7c = *(undefined1 **)(param_1 + 4);\n    *(undefined1 **)((int)ppuVar9 + -8) = param_4;\n    *(int *)((int)ppuVar9 + -0xc) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x10) = local_34;\n    *(undefined4 *)((int)ppuVar9 + -0x14) = 0x1279bd;\n    FUN_00106d90();\n    puVar1 = local_70[0];\n    local_78 = (undefined1 **)local_34[0];\n    *(undefined1 **)((int)ppuVar9 + -0xc) = local_70[0];\n    *(int *)((int)ppuVar9 + -0x10) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x14) = local_4c;\n                    /* try { // try from 001279ce to 001279d2 has its CatchHandler @ 00127b40 */\n    *(undefined4 *)((int)ppuVar9 + -0x18) = 0x1279d3;\n    FUN_00106d90();\n    local_80 = local_4c[0];\n    *(undefined ***)((int)ppuVar9 + -0x18) = local_74 + -0x5f89f;\n    *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x1279ea;\n    uVar7 = gettext();\n    *(undefined1 **)((int)ppuVar9 + -0x14) = local_7c;\n    *(undefined1 **)((int)ppuVar9 + -0x18) = param_4;\n    *(undefined1 ***)((int)ppuVar9 + -0x1c) = local_78;\n    *(undefined1 **)((int)ppuVar9 + -0x20) = puVar1;\n    *(undefined1 **)((int)ppuVar9 + -0x24) = local_80;\n    *(undefined4 *)((int)ppuVar9 + -0x28) = uVar7;\n                    /* try { // try from 001279fe to 00127a02 has its CatchHandler @ 00127b47 */\n    *(undefined4 *)((int)ppuVar9 + -0x2c) = 0x127a03;\n    FUN_0023b840();\n    if (local_4c[0] != local_44) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a19;\n      FUN_003ae080();\n    }\n    if (local_34[0] != local_2c) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a36;\n      FUN_003ae080();\n      return;\n    }\n  }\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_00127750(int param_1,undefined1 *param_2,int *param_3,undefined1 *param_4,int *param_5)" identifier (parameter_list "(int param_1,undefined1 *param_2,int *param_3,undefined1 *param_4,int *param_5)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined1 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "undefined1 *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "int *param_5" primitive_type (pointer_declarator "*param_5" * identifier)) ))) (compound_statement "{\n  undefined1 *puVar1;\n  uint uVar2;\n  uint uVar3;\n  int *piVar4;\n  int *piVar5;\n  undefined4 *puVar6;\n  undefined4 uVar7;\n  undefined1 **ppuVar8;\n  undefined1 **ppuVar9;\n  undefined1 *puStack_a8;\n  undefined **ppuStack_a4;\n  undefined4 uStack_a0;\n  undefined1 auStack_9c [12];\n  undefined1 *local_90;\n  undefined1 *local_8c;\n  undefined4 local_88;\n  undefined1 *local_84;\n  undefined1 *local_80;\n  undefined1 *local_7c;\n  undefined1 **local_78;\n  undefined **local_74;\n  undefined1 *local_70 [3];\n  undefined1 *local_64 [2];\n  undefined1 local_5c [16];\n  undefined1 *local_4c [2];\n  undefined1 local_44 [16];\n  undefined1 *local_34 [2];\n  undefined1 local_2c [24];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x12775d;\n  local_74 = &__DT_PLTGOT;\n  uVar2 = *(uint *)(*param_3 + 0x14);\n  uVar3 = *(uint *)(*param_3 + 0x20);\n  local_80 = (undefined1 *)\n             (uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18);\n  local_7c = (undefined1 *)\n             (uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18);\n  uVar2 = *(uint *)(*param_5 + 0x14);\n  local_78 = (undefined1 **)\n             (uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18);\n  local_70[0] = param_2;\n  piVar4 = (int *)FUN_003ac4d0(0x1c);\n  ppuVar9 = (undefined1 **)auStack_9c;\n  *piVar4 = param_1;\n  piVar4[4] = (int)local_7c;\n  piVar4[1] = (int)local_70[0];\n  piVar4[3] = (int)local_80;\n  piVar4[2] = (int)param_4;\n  *(undefined1 *)(piVar4 + 6) = 0;\n  piVar4[5] = (int)local_78;\n  local_78 = local_70;\n  uStack_a0 = 0x1277d3;\n  piVar5 = (int *)FUN_00110560();\n  if (*piVar5 != 0) {\n    ppuStack_a4 = local_74 + -0x601ca;\n    puStack_a8 = (undefined1 *)0x1ad6;\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0((int)local_74 + -0x182cba);\n  }\n  uStack_a0 = 0x1277e7;\n  puVar6 = (undefined4 *)FUN_00110560();\n  *puVar6 = piVar4;\n  local_78 = (undefined1 **)param_4;\n  if ((param_4 == (undefined1 *)0x0) || (*(undefined1 **)(param_1 + 0x28) <= param_4)) {\n    local_7c = *(undefined1 **)(param_1 + 4);\n    puStack_a8 = (undefined1 *)(param_1 + 0x90);\n    ppuStack_a4 = (undefined **)local_70[0];\n    local_84 = local_70[0];\n    FUN_00106d90(local_34);\n    local_80 = local_34[0];\n    uVar7 = gettext(local_74 + -0x5f8d0);\n                    /* try { // try from 00127844 to 00127848 has its CatchHandler @ 00127b4e */\n    FUN_0023b810(uVar7,local_80,local_84,local_78,local_7c);\n    ppuVar8 = (undefined1 **)&uStack_a0;\n    ppuVar9 = (undefined1 **)&uStack_a0;\n    if (local_34[0] != local_2c) {\nLAB_00127856:\n      *(undefined1 **)((int)ppuVar8 + -0x10) = local_34[0];\n      *(undefined4 *)((int)ppuVar8 + -0x14) = 0x127862;\n      FUN_003ae080();\n      ppuVar9 = ppuVar8;\n    }\n  }\n  else {\n    uStack_a0 = 0x12789a;\n    piVar5 = (int *)FUN_00110560();\n    if (*piVar5 == 0) {\n      uStack_a0 = 0x127afa;\n      puVar6 = (undefined4 *)FUN_00110560();\n      *puVar6 = piVar4;\n      goto LAB_00127869;\n    }\n    puVar1 = (undefined1 *)(param_1 + 0x90);\n    uStack_a0 = 0x1278b4;\n    piVar5 = (int *)FUN_00110560();\n    local_88 = *(undefined4 *)(param_1 + 4);\n    local_80 = *(undefined1 **)(*piVar5 + 4);\n    ppuStack_a4 = (undefined **)param_4;\n    local_78 = (undefined1 **)param_4;\n    puStack_a8 = puVar1;\n    FUN_00106d90(local_34);\n    local_84 = local_34[0];\n    puStack_a8 = local_80;\n                    /* try { // try from 001278e9 to 001278ed has its CatchHandler @ 00127b2b */\n    FUN_00106d90(local_4c,puVar1);\n    local_8c = local_4c[0];\n    local_7c = local_70[0];\n                    /* try { // try from 00127905 to 00127909 has its CatchHandler @ 00127b24 */\n    FUN_00106d90(local_64,puVar1,local_70[0]);\n    local_90 = local_64[0];\n    uVar7 = gettext(local_74 + -0x5f8c2);\n                    /* try { // try from 0012794a to 0012794e has its CatchHandler @ 00127b1d */\n    FUN_0023b810(uVar7,local_90,local_7c,local_8c,local_80,local_84,local_78,local_88);\n    if (local_64[0] != local_5c) {\n      FUN_003ae080(local_64[0]);\n    }\n    if (local_4c[0] != local_44) {\n      FUN_003ae080(local_4c[0]);\n    }\n    ppuVar8 = &puStack_a8;\n    ppuVar9 = &puStack_a8;\n    if (local_34[0] != local_2c) goto LAB_00127856;\n  }\n  *(undefined1 *)(piVar4 + 6) = 1;\nLAB_00127869:\n  if ((*(uint *)(*param_5 + 8) >> 0x18 & 2) == 0) {\n    local_80 = *(undefined1 **)(param_1 + 4);\n    *(undefined1 **)((int)ppuVar9 + -8) = param_4;\n    *(int *)((int)ppuVar9 + -0xc) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x10) = local_34;\n    local_78 = (undefined1 **)param_4;\n    *(undefined4 *)((int)ppuVar9 + -0x14) = 0x127a68;\n    FUN_00106d90();\n    puVar1 = local_70[0];\n    local_7c = local_34[0];\n    *(undefined1 **)((int)ppuVar9 + -0xc) = local_70[0];\n    *(int *)((int)ppuVar9 + -0x10) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x14) = local_4c;\n                    /* try { // try from 00127a79 to 00127a7d has its CatchHandler @ 00127b32 */\n    *(undefined4 *)((int)ppuVar9 + -0x18) = 0x127a7e;\n    FUN_00106d90();\n    local_84 = local_4c[0];\n    *(undefined ***)((int)ppuVar9 + -0x18) = local_74 + -0x5f8b0;\n    *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a95;\n    uVar7 = gettext();\n    *(undefined1 **)((int)ppuVar9 + -0x14) = local_80;\n    *(undefined1 ***)((int)ppuVar9 + -0x18) = local_78;\n    *(undefined1 **)((int)ppuVar9 + -0x1c) = local_7c;\n    *(undefined1 **)((int)ppuVar9 + -0x20) = puVar1;\n    *(undefined1 **)((int)ppuVar9 + -0x24) = local_84;\n    *(undefined4 *)((int)ppuVar9 + -0x28) = uVar7;\n                    /* try { // try from 00127aab to 00127aaf has its CatchHandler @ 00127b39 */\n    *(undefined4 *)((int)ppuVar9 + -0x2c) = 0x127ab0;\n    FUN_0023b810();\n    if (local_4c[0] != local_44) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127ac6;\n      FUN_003ae080();\n    }\n    if (local_34[0] != local_2c) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127adf;\n      FUN_003ae080();\n    }\n    *(undefined1 *)(piVar4 + 6) = 1;\n    return;\n  }\n  if ((*(uint *)(*param_5 + 8) & 0x4000000) == 0) {\n    local_7c = *(undefined1 **)(param_1 + 4);\n    *(undefined1 **)((int)ppuVar9 + -8) = param_4;\n    *(int *)((int)ppuVar9 + -0xc) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x10) = local_34;\n    *(undefined4 *)((int)ppuVar9 + -0x14) = 0x1279bd;\n    FUN_00106d90();\n    puVar1 = local_70[0];\n    local_78 = (undefined1 **)local_34[0];\n    *(undefined1 **)((int)ppuVar9 + -0xc) = local_70[0];\n    *(int *)((int)ppuVar9 + -0x10) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x14) = local_4c;\n                    /* try { // try from 001279ce to 001279d2 has its CatchHandler @ 00127b40 */\n    *(undefined4 *)((int)ppuVar9 + -0x18) = 0x1279d3;\n    FUN_00106d90();\n    local_80 = local_4c[0];\n    *(undefined ***)((int)ppuVar9 + -0x18) = local_74 + -0x5f89f;\n    *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x1279ea;\n    uVar7 = gettext();\n    *(undefined1 **)((int)ppuVar9 + -0x14) = local_7c;\n    *(undefined1 **)((int)ppuVar9 + -0x18) = param_4;\n    *(undefined1 ***)((int)ppuVar9 + -0x1c) = local_78;\n    *(undefined1 **)((int)ppuVar9 + -0x20) = puVar1;\n    *(undefined1 **)((int)ppuVar9 + -0x24) = local_80;\n    *(undefined4 *)((int)ppuVar9 + -0x28) = uVar7;\n                    /* try { // try from 001279fe to 00127a02 has its CatchHandler @ 00127b47 */\n    *(undefined4 *)((int)ppuVar9 + -0x2c) = 0x127a03;\n    FUN_0023b840();\n    if (local_4c[0] != local_44) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a19;\n      FUN_003ae080();\n    }\n    if (local_34[0] != local_2c) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a36;\n      FUN_003ae080();\n      return;\n    }\n  }\n  return;\n}" { (declaration "undefined1 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "undefined1 **ppuVar8;" type_identifier (pointer_declarator "**ppuVar8" * (pointer_declarator "*ppuVar8" * identifier)) ;) (declaration "undefined1 **ppuVar9;" type_identifier (pointer_declarator "**ppuVar9" * (pointer_declarator "*ppuVar9" * identifier)) ;) (declaration "undefined1 *puStack_a8;" type_identifier (pointer_declarator "*puStack_a8" * identifier) ;) (declaration "undefined **ppuStack_a4;" type_identifier (pointer_declarator "**ppuStack_a4" * (pointer_declarator "*ppuStack_a4" * identifier)) ;) (declaration "undefined4 uStack_a0;" type_identifier identifier ;) (declaration "undefined1 auStack_9c [12];" type_identifier (array_declarator "auStack_9c [12]" identifier [ number_literal ]) ;) (declaration "undefined1 *local_90;" type_identifier (pointer_declarator "*local_90" * identifier) ;) (declaration "undefined1 *local_8c;" type_identifier (pointer_declarator "*local_8c" * identifier) ;) (declaration "undefined4 local_88;" type_identifier identifier ;) (declaration "undefined1 *local_84;" type_identifier (pointer_declarator "*local_84" * identifier) ;) (declaration "undefined1 *local_80;" type_identifier (pointer_declarator "*local_80" * identifier) ;) (declaration "undefined1 *local_7c;" type_identifier (pointer_declarator "*local_7c" * identifier) ;) (declaration "undefined1 **local_78;" type_identifier (pointer_declarator "**local_78" * (pointer_declarator "*local_78" * identifier)) ;) (declaration "undefined **local_74;" type_identifier (pointer_declarator "**local_74" * (pointer_declarator "*local_74" * identifier)) ;) (declaration "undefined1 *local_70 [3];" type_identifier (pointer_declarator "*local_70 [3]" * (array_declarator "local_70 [3]" identifier [ number_literal ])) ;) (declaration "undefined1 *local_64 [2];" type_identifier (pointer_declarator "*local_64 [2]" * (array_declarator "local_64 [2]" identifier [ number_literal ])) ;) (declaration "undefined1 local_5c [16];" type_identifier (array_declarator "local_5c [16]" identifier [ number_literal ]) ;) (declaration "undefined1 *local_4c [2];" type_identifier (pointer_declarator "*local_4c [2]" * (array_declarator "local_4c [2]" identifier [ number_literal ])) ;) (declaration "undefined1 local_44 [16];" type_identifier (array_declarator "local_44 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 *local_34 [2];" type_identifier (pointer_declarator "*local_34 [2]" * (array_declarator "local_34 [2]" identifier [ number_literal ])) ;) (declaration "undefined1 local_2c [24];" type_identifier (array_declarator "local_2c [24]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x12775d;" (assignment_expression "uStack_14 = 0x12775d" identifier = number_literal) ;) (expression_statement "local_74 = &__DT_PLTGOT;" (assignment_expression "local_74 = &__DT_PLTGOT" identifier = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (expression_statement "uVar2 = *(uint *)(*param_3 + 0x14);" (assignment_expression "uVar2 = *(uint *)(*param_3 + 0x14)" identifier = (pointer_expression "*(uint *)(*param_3 + 0x14)" * (cast_expression "(uint *)(*param_3 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_3 + 0x14)" ( (binary_expression "*param_3 + 0x14" (pointer_expression "*param_3" * identifier) + number_literal) ))))) ;) (expression_statement "uVar3 = *(uint *)(*param_3 + 0x20);" (assignment_expression "uVar3 = *(uint *)(*param_3 + 0x20)" identifier = (pointer_expression "*(uint *)(*param_3 + 0x20)" * (cast_expression "(uint *)(*param_3 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_3 + 0x20)" ( (binary_expression "*param_3 + 0x20" (pointer_expression "*param_3" * identifier) + number_literal) ))))) ;) (expression_statement "local_80 = (undefined1 *)\n             (uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18);" (assignment_expression "local_80 = (undefined1 *)\n             (uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18)" identifier = (cast_expression "(undefined1 *)\n             (uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18)" ( (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8" (binary_expression "uVar2 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar2 & 0xff0000) >> 8" (parenthesized_expression "(uVar2 & 0xff0000)" ( (binary_expression "uVar2 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff00) << 8" (parenthesized_expression "(uVar2 & 0xff00)" ( (binary_expression "uVar2 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar2 << 0x18" identifier << number_literal)) )))) ;) (expression_statement "local_7c = (undefined1 *)\n             (uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18);" (assignment_expression "local_7c = (undefined1 *)\n             (uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18)" identifier = (cast_expression "(undefined1 *)\n             (uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18)" ( (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18" (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8" (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8" (binary_expression "uVar3 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar3 & 0xff0000) >> 8" (parenthesized_expression "(uVar3 & 0xff0000)" ( (binary_expression "uVar3 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar3 & 0xff00) << 8" (parenthesized_expression "(uVar3 & 0xff00)" ( (binary_expression "uVar3 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar3 << 0x18" identifier << number_literal)) )))) ;) (expression_statement "uVar2 = *(uint *)(*param_5 + 0x14);" (assignment_expression "uVar2 = *(uint *)(*param_5 + 0x14)" identifier = (pointer_expression "*(uint *)(*param_5 + 0x14)" * (cast_expression "(uint *)(*param_5 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_5 + 0x14)" ( (binary_expression "*param_5 + 0x14" (pointer_expression "*param_5" * identifier) + number_literal) ))))) ;) (expression_statement "local_78 = (undefined1 **)\n             (uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18);" (assignment_expression "local_78 = (undefined1 **)\n             (uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18)" identifier = (cast_expression "(undefined1 **)\n             (uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18)" ( (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8" (binary_expression "uVar2 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar2 & 0xff0000) >> 8" (parenthesized_expression "(uVar2 & 0xff0000)" ( (binary_expression "uVar2 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff00) << 8" (parenthesized_expression "(uVar2 & 0xff00)" ( (binary_expression "uVar2 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar2 << 0x18" identifier << number_literal)) )))) ;) (expression_statement "local_70[0] = param_2;" (assignment_expression "local_70[0] = param_2" (subscript_expression "local_70[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar4 = (int *)FUN_003ac4d0(0x1c);" (assignment_expression "piVar4 = (int *)FUN_003ac4d0(0x1c)" identifier = (cast_expression "(int *)FUN_003ac4d0(0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_003ac4d0(0x1c)" identifier (argument_list "(0x1c)" ( number_literal ))))) ;) (expression_statement "ppuVar9 = (undefined1 **)auStack_9c;" (assignment_expression "ppuVar9 = (undefined1 **)auStack_9c" identifier = (cast_expression "(undefined1 **)auStack_9c" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "*piVar4 = param_1;" (assignment_expression "*piVar4 = param_1" (pointer_expression "*piVar4" * identifier) = identifier) ;) (expression_statement "piVar4[4] = (int)local_7c;" (assignment_expression "piVar4[4] = (int)local_7c" (subscript_expression "piVar4[4]" identifier [ number_literal ]) = (cast_expression "(int)local_7c" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar4[1] = (int)local_70[0];" (assignment_expression "piVar4[1] = (int)local_70[0]" (subscript_expression "piVar4[1]" identifier [ number_literal ]) = (cast_expression "(int)local_70[0]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_70[0]" identifier [ number_literal ]))) ;) (expression_statement "piVar4[3] = (int)local_80;" (assignment_expression "piVar4[3] = (int)local_80" (subscript_expression "piVar4[3]" identifier [ number_literal ]) = (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar4[2] = (int)param_4;" (assignment_expression "piVar4[2] = (int)param_4" (subscript_expression "piVar4[2]" identifier [ number_literal ]) = (cast_expression "(int)param_4" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*(undefined1 *)(piVar4 + 6) = 0;" (assignment_expression "*(undefined1 *)(piVar4 + 6) = 0" (pointer_expression "*(undefined1 *)(piVar4 + 6)" * (cast_expression "(undefined1 *)(piVar4 + 6)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 6)" ( (binary_expression "piVar4 + 6" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar4[5] = (int)local_78;" (assignment_expression "piVar4[5] = (int)local_78" (subscript_expression "piVar4[5]" identifier [ number_literal ]) = (cast_expression "(int)local_78" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "local_78 = local_70;" (assignment_expression "local_78 = local_70" identifier = identifier) ;) (expression_statement "uStack_a0 = 0x1277d3;" (assignment_expression "uStack_a0 = 0x1277d3" identifier = number_literal) ;) (expression_statement "piVar5 = (int *)FUN_00110560();" (assignment_expression "piVar5 = (int *)FUN_00110560()" identifier = (cast_expression "(int *)FUN_00110560()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00110560()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (*piVar5 != 0) {\n    ppuStack_a4 = local_74 + -0x601ca;\n    puStack_a8 = (undefined1 *)0x1ad6;\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0((int)local_74 + -0x182cba);\n  }" if (parenthesized_expression "(*piVar5 != 0)" ( (binary_expression "*piVar5 != 0" (pointer_expression "*piVar5" * identifier) != number_literal) )) (compound_statement "{\n    ppuStack_a4 = local_74 + -0x601ca;\n    puStack_a8 = (undefined1 *)0x1ad6;\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0((int)local_74 + -0x182cba);\n  }" { (expression_statement "ppuStack_a4 = local_74 + -0x601ca;" (assignment_expression "ppuStack_a4 = local_74 + -0x601ca" identifier = (binary_expression "local_74 + -0x601ca" identifier + number_literal)) ;) (expression_statement "puStack_a8 = (undefined1 *)0x1ad6;" (assignment_expression "puStack_a8 = (undefined1 *)0x1ad6" identifier = (cast_expression "(undefined1 *)0x1ad6" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) comment (expression_statement "FUN_002446e0((int)local_74 + -0x182cba);" (call_expression "FUN_002446e0((int)local_74 + -0x182cba)" identifier (argument_list "((int)local_74 + -0x182cba)" ( (binary_expression "(int)local_74 + -0x182cba" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) ;) })) (expression_statement "uStack_a0 = 0x1277e7;" (assignment_expression "uStack_a0 = 0x1277e7" identifier = number_literal) ;) (expression_statement "puVar6 = (undefined4 *)FUN_00110560();" (assignment_expression "puVar6 = (undefined4 *)FUN_00110560()" identifier = (cast_expression "(undefined4 *)FUN_00110560()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00110560()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*puVar6 = piVar4;" (assignment_expression "*puVar6 = piVar4" (pointer_expression "*puVar6" * identifier) = identifier) ;) (expression_statement "local_78 = (undefined1 **)param_4;" (assignment_expression "local_78 = (undefined1 **)param_4" identifier = (cast_expression "(undefined1 **)param_4" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (if_statement "if ((param_4 == (undefined1 *)0x0) || (*(undefined1 **)(param_1 + 0x28) <= param_4)) {\n    local_7c = *(undefined1 **)(param_1 + 4);\n    puStack_a8 = (undefined1 *)(param_1 + 0x90);\n    ppuStack_a4 = (undefined **)local_70[0];\n    local_84 = local_70[0];\n    FUN_00106d90(local_34);\n    local_80 = local_34[0];\n    uVar7 = gettext(local_74 + -0x5f8d0);\n                    /* try { // try from 00127844 to 00127848 has its CatchHandler @ 00127b4e */\n    FUN_0023b810(uVar7,local_80,local_84,local_78,local_7c);\n    ppuVar8 = (undefined1 **)&uStack_a0;\n    ppuVar9 = (undefined1 **)&uStack_a0;\n    if (local_34[0] != local_2c) {\nLAB_00127856:\n      *(undefined1 **)((int)ppuVar8 + -0x10) = local_34[0];\n      *(undefined4 *)((int)ppuVar8 + -0x14) = 0x127862;\n      FUN_003ae080();\n      ppuVar9 = ppuVar8;\n    }\n  }\n  else {\n    uStack_a0 = 0x12789a;\n    piVar5 = (int *)FUN_00110560();\n    if (*piVar5 == 0) {\n      uStack_a0 = 0x127afa;\n      puVar6 = (undefined4 *)FUN_00110560();\n      *puVar6 = piVar4;\n      goto LAB_00127869;\n    }\n    puVar1 = (undefined1 *)(param_1 + 0x90);\n    uStack_a0 = 0x1278b4;\n    piVar5 = (int *)FUN_00110560();\n    local_88 = *(undefined4 *)(param_1 + 4);\n    local_80 = *(undefined1 **)(*piVar5 + 4);\n    ppuStack_a4 = (undefined **)param_4;\n    local_78 = (undefined1 **)param_4;\n    puStack_a8 = puVar1;\n    FUN_00106d90(local_34);\n    local_84 = local_34[0];\n    puStack_a8 = local_80;\n                    /* try { // try from 001278e9 to 001278ed has its CatchHandler @ 00127b2b */\n    FUN_00106d90(local_4c,puVar1);\n    local_8c = local_4c[0];\n    local_7c = local_70[0];\n                    /* try { // try from 00127905 to 00127909 has its CatchHandler @ 00127b24 */\n    FUN_00106d90(local_64,puVar1,local_70[0]);\n    local_90 = local_64[0];\n    uVar7 = gettext(local_74 + -0x5f8c2);\n                    /* try { // try from 0012794a to 0012794e has its CatchHandler @ 00127b1d */\n    FUN_0023b810(uVar7,local_90,local_7c,local_8c,local_80,local_84,local_78,local_88);\n    if (local_64[0] != local_5c) {\n      FUN_003ae080(local_64[0]);\n    }\n    if (local_4c[0] != local_44) {\n      FUN_003ae080(local_4c[0]);\n    }\n    ppuVar8 = &puStack_a8;\n    ppuVar9 = &puStack_a8;\n    if (local_34[0] != local_2c) goto LAB_00127856;\n  }" if (parenthesized_expression "((param_4 == (undefined1 *)0x0) || (*(undefined1 **)(param_1 + 0x28) <= param_4))" ( (binary_expression "(param_4 == (undefined1 *)0x0) || (*(undefined1 **)(param_1 + 0x28) <= param_4)" (parenthesized_expression "(param_4 == (undefined1 *)0x0)" ( (binary_expression "param_4 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(*(undefined1 **)(param_1 + 0x28) <= param_4)" ( (binary_expression "*(undefined1 **)(param_1 + 0x28) <= param_4" (pointer_expression "*(undefined1 **)(param_1 + 0x28)" * (cast_expression "(undefined1 **)(param_1 + 0x28)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) <= identifier) ))) )) (compound_statement "{\n    local_7c = *(undefined1 **)(param_1 + 4);\n    puStack_a8 = (undefined1 *)(param_1 + 0x90);\n    ppuStack_a4 = (undefined **)local_70[0];\n    local_84 = local_70[0];\n    FUN_00106d90(local_34);\n    local_80 = local_34[0];\n    uVar7 = gettext(local_74 + -0x5f8d0);\n                    /* try { // try from 00127844 to 00127848 has its CatchHandler @ 00127b4e */\n    FUN_0023b810(uVar7,local_80,local_84,local_78,local_7c);\n    ppuVar8 = (undefined1 **)&uStack_a0;\n    ppuVar9 = (undefined1 **)&uStack_a0;\n    if (local_34[0] != local_2c) {\nLAB_00127856:\n      *(undefined1 **)((int)ppuVar8 + -0x10) = local_34[0];\n      *(undefined4 *)((int)ppuVar8 + -0x14) = 0x127862;\n      FUN_003ae080();\n      ppuVar9 = ppuVar8;\n    }\n  }" { (expression_statement "local_7c = *(undefined1 **)(param_1 + 4);" (assignment_expression "local_7c = *(undefined1 **)(param_1 + 4)" identifier = (pointer_expression "*(undefined1 **)(param_1 + 4)" * (cast_expression "(undefined1 **)(param_1 + 4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "puStack_a8 = (undefined1 *)(param_1 + 0x90);" (assignment_expression "puStack_a8 = (undefined1 *)(param_1 + 0x90)" identifier = (cast_expression "(undefined1 *)(param_1 + 0x90)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x90)" ( (binary_expression "param_1 + 0x90" identifier + number_literal) )))) ;) (expression_statement "ppuStack_a4 = (undefined **)local_70[0];" (assignment_expression "ppuStack_a4 = (undefined **)local_70[0]" identifier = (cast_expression "(undefined **)local_70[0]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "local_70[0]" identifier [ number_literal ]))) ;) (expression_statement "local_84 = local_70[0];" (assignment_expression "local_84 = local_70[0]" identifier = (subscript_expression "local_70[0]" identifier [ number_literal ])) ;) (expression_statement "FUN_00106d90(local_34);" (call_expression "FUN_00106d90(local_34)" identifier (argument_list "(local_34)" ( identifier ))) ;) (expression_statement "local_80 = local_34[0];" (assignment_expression "local_80 = local_34[0]" identifier = (subscript_expression "local_34[0]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = gettext(local_74 + -0x5f8d0);" (assignment_expression "uVar7 = gettext(local_74 + -0x5f8d0)" identifier = (call_expression "gettext(local_74 + -0x5f8d0)" identifier (argument_list "(local_74 + -0x5f8d0)" ( (binary_expression "local_74 + -0x5f8d0" identifier + number_literal) )))) ;) comment (expression_statement "FUN_0023b810(uVar7,local_80,local_84,local_78,local_7c);" (call_expression "FUN_0023b810(uVar7,local_80,local_84,local_78,local_7c)" identifier (argument_list "(uVar7,local_80,local_84,local_78,local_7c)" ( identifier , identifier , identifier , identifier , identifier ))) ;) (expression_statement "ppuVar8 = (undefined1 **)&uStack_a0;" (assignment_expression "ppuVar8 = (undefined1 **)&uStack_a0" identifier = (cast_expression "(undefined1 **)&uStack_a0" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&uStack_a0" & identifier))) ;) (expression_statement "ppuVar9 = (undefined1 **)&uStack_a0;" (assignment_expression "ppuVar9 = (undefined1 **)&uStack_a0" identifier = (cast_expression "(undefined1 **)&uStack_a0" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&uStack_a0" & identifier))) ;) (if_statement "if (local_34[0] != local_2c) {\nLAB_00127856:\n      *(undefined1 **)((int)ppuVar8 + -0x10) = local_34[0];\n      *(undefined4 *)((int)ppuVar8 + -0x14) = 0x127862;\n      FUN_003ae080();\n      ppuVar9 = ppuVar8;\n    }" if (parenthesized_expression "(local_34[0] != local_2c)" ( (binary_expression "local_34[0] != local_2c" (subscript_expression "local_34[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\nLAB_00127856:\n      *(undefined1 **)((int)ppuVar8 + -0x10) = local_34[0];\n      *(undefined4 *)((int)ppuVar8 + -0x14) = 0x127862;\n      FUN_003ae080();\n      ppuVar9 = ppuVar8;\n    }" { (labeled_statement "LAB_00127856:\n      *(undefined1 **)((int)ppuVar8 + -0x10) = local_34[0];" statement_identifier : (expression_statement "*(undefined1 **)((int)ppuVar8 + -0x10) = local_34[0];" (assignment_expression "*(undefined1 **)((int)ppuVar8 + -0x10) = local_34[0]" (pointer_expression "*(undefined1 **)((int)ppuVar8 + -0x10)" * (cast_expression "(undefined1 **)((int)ppuVar8 + -0x10)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar8 + -0x10)" ( (binary_expression "(int)ppuVar8 + -0x10" (cast_expression "(int)ppuVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "local_34[0]" identifier [ number_literal ])) ;)) (expression_statement "*(undefined4 *)((int)ppuVar8 + -0x14) = 0x127862;" (assignment_expression "*(undefined4 *)((int)ppuVar8 + -0x14) = 0x127862" (pointer_expression "*(undefined4 *)((int)ppuVar8 + -0x14)" * (cast_expression "(undefined4 *)((int)ppuVar8 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar8 + -0x14)" ( (binary_expression "(int)ppuVar8 + -0x14" (cast_expression "(int)ppuVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppuVar9 = ppuVar8;" (assignment_expression "ppuVar9 = ppuVar8" identifier = identifier) ;) })) }) (else_clause "else {\n    uStack_a0 = 0x12789a;\n    piVar5 = (int *)FUN_00110560();\n    if (*piVar5 == 0) {\n      uStack_a0 = 0x127afa;\n      puVar6 = (undefined4 *)FUN_00110560();\n      *puVar6 = piVar4;\n      goto LAB_00127869;\n    }\n    puVar1 = (undefined1 *)(param_1 + 0x90);\n    uStack_a0 = 0x1278b4;\n    piVar5 = (int *)FUN_00110560();\n    local_88 = *(undefined4 *)(param_1 + 4);\n    local_80 = *(undefined1 **)(*piVar5 + 4);\n    ppuStack_a4 = (undefined **)param_4;\n    local_78 = (undefined1 **)param_4;\n    puStack_a8 = puVar1;\n    FUN_00106d90(local_34);\n    local_84 = local_34[0];\n    puStack_a8 = local_80;\n                    /* try { // try from 001278e9 to 001278ed has its CatchHandler @ 00127b2b */\n    FUN_00106d90(local_4c,puVar1);\n    local_8c = local_4c[0];\n    local_7c = local_70[0];\n                    /* try { // try from 00127905 to 00127909 has its CatchHandler @ 00127b24 */\n    FUN_00106d90(local_64,puVar1,local_70[0]);\n    local_90 = local_64[0];\n    uVar7 = gettext(local_74 + -0x5f8c2);\n                    /* try { // try from 0012794a to 0012794e has its CatchHandler @ 00127b1d */\n    FUN_0023b810(uVar7,local_90,local_7c,local_8c,local_80,local_84,local_78,local_88);\n    if (local_64[0] != local_5c) {\n      FUN_003ae080(local_64[0]);\n    }\n    if (local_4c[0] != local_44) {\n      FUN_003ae080(local_4c[0]);\n    }\n    ppuVar8 = &puStack_a8;\n    ppuVar9 = &puStack_a8;\n    if (local_34[0] != local_2c) goto LAB_00127856;\n  }" else (compound_statement "{\n    uStack_a0 = 0x12789a;\n    piVar5 = (int *)FUN_00110560();\n    if (*piVar5 == 0) {\n      uStack_a0 = 0x127afa;\n      puVar6 = (undefined4 *)FUN_00110560();\n      *puVar6 = piVar4;\n      goto LAB_00127869;\n    }\n    puVar1 = (undefined1 *)(param_1 + 0x90);\n    uStack_a0 = 0x1278b4;\n    piVar5 = (int *)FUN_00110560();\n    local_88 = *(undefined4 *)(param_1 + 4);\n    local_80 = *(undefined1 **)(*piVar5 + 4);\n    ppuStack_a4 = (undefined **)param_4;\n    local_78 = (undefined1 **)param_4;\n    puStack_a8 = puVar1;\n    FUN_00106d90(local_34);\n    local_84 = local_34[0];\n    puStack_a8 = local_80;\n                    /* try { // try from 001278e9 to 001278ed has its CatchHandler @ 00127b2b */\n    FUN_00106d90(local_4c,puVar1);\n    local_8c = local_4c[0];\n    local_7c = local_70[0];\n                    /* try { // try from 00127905 to 00127909 has its CatchHandler @ 00127b24 */\n    FUN_00106d90(local_64,puVar1,local_70[0]);\n    local_90 = local_64[0];\n    uVar7 = gettext(local_74 + -0x5f8c2);\n                    /* try { // try from 0012794a to 0012794e has its CatchHandler @ 00127b1d */\n    FUN_0023b810(uVar7,local_90,local_7c,local_8c,local_80,local_84,local_78,local_88);\n    if (local_64[0] != local_5c) {\n      FUN_003ae080(local_64[0]);\n    }\n    if (local_4c[0] != local_44) {\n      FUN_003ae080(local_4c[0]);\n    }\n    ppuVar8 = &puStack_a8;\n    ppuVar9 = &puStack_a8;\n    if (local_34[0] != local_2c) goto LAB_00127856;\n  }" { (expression_statement "uStack_a0 = 0x12789a;" (assignment_expression "uStack_a0 = 0x12789a" identifier = number_literal) ;) (expression_statement "piVar5 = (int *)FUN_00110560();" (assignment_expression "piVar5 = (int *)FUN_00110560()" identifier = (cast_expression "(int *)FUN_00110560()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00110560()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (*piVar5 == 0) {\n      uStack_a0 = 0x127afa;\n      puVar6 = (undefined4 *)FUN_00110560();\n      *puVar6 = piVar4;\n      goto LAB_00127869;\n    }" if (parenthesized_expression "(*piVar5 == 0)" ( (binary_expression "*piVar5 == 0" (pointer_expression "*piVar5" * identifier) == number_literal) )) (compound_statement "{\n      uStack_a0 = 0x127afa;\n      puVar6 = (undefined4 *)FUN_00110560();\n      *puVar6 = piVar4;\n      goto LAB_00127869;\n    }" { (expression_statement "uStack_a0 = 0x127afa;" (assignment_expression "uStack_a0 = 0x127afa" identifier = number_literal) ;) (expression_statement "puVar6 = (undefined4 *)FUN_00110560();" (assignment_expression "puVar6 = (undefined4 *)FUN_00110560()" identifier = (cast_expression "(undefined4 *)FUN_00110560()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00110560()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*puVar6 = piVar4;" (assignment_expression "*puVar6 = piVar4" (pointer_expression "*puVar6" * identifier) = identifier) ;) (goto_statement "goto LAB_00127869;" goto statement_identifier ;) })) (expression_statement "puVar1 = (undefined1 *)(param_1 + 0x90);" (assignment_expression "puVar1 = (undefined1 *)(param_1 + 0x90)" identifier = (cast_expression "(undefined1 *)(param_1 + 0x90)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x90)" ( (binary_expression "param_1 + 0x90" identifier + number_literal) )))) ;) (expression_statement "uStack_a0 = 0x1278b4;" (assignment_expression "uStack_a0 = 0x1278b4" identifier = number_literal) ;) (expression_statement "piVar5 = (int *)FUN_00110560();" (assignment_expression "piVar5 = (int *)FUN_00110560()" identifier = (cast_expression "(int *)FUN_00110560()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00110560()" identifier (argument_list "()" ( ))))) ;) (expression_statement "local_88 = *(undefined4 *)(param_1 + 4);" (assignment_expression "local_88 = *(undefined4 *)(param_1 + 4)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "local_80 = *(undefined1 **)(*piVar5 + 4);" (assignment_expression "local_80 = *(undefined1 **)(*piVar5 + 4)" identifier = (pointer_expression "*(undefined1 **)(*piVar5 + 4)" * (cast_expression "(undefined1 **)(*piVar5 + 4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar5 + 4)" ( (binary_expression "*piVar5 + 4" (pointer_expression "*piVar5" * identifier) + number_literal) ))))) ;) (expression_statement "ppuStack_a4 = (undefined **)param_4;" (assignment_expression "ppuStack_a4 = (undefined **)param_4" identifier = (cast_expression "(undefined **)param_4" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "local_78 = (undefined1 **)param_4;" (assignment_expression "local_78 = (undefined1 **)param_4" identifier = (cast_expression "(undefined1 **)param_4" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "puStack_a8 = puVar1;" (assignment_expression "puStack_a8 = puVar1" identifier = identifier) ;) (expression_statement "FUN_00106d90(local_34);" (call_expression "FUN_00106d90(local_34)" identifier (argument_list "(local_34)" ( identifier ))) ;) (expression_statement "local_84 = local_34[0];" (assignment_expression "local_84 = local_34[0]" identifier = (subscript_expression "local_34[0]" identifier [ number_literal ])) ;) (expression_statement "puStack_a8 = local_80;" (assignment_expression "puStack_a8 = local_80" identifier = identifier) ;) comment (expression_statement "FUN_00106d90(local_4c,puVar1);" (call_expression "FUN_00106d90(local_4c,puVar1)" identifier (argument_list "(local_4c,puVar1)" ( identifier , identifier ))) ;) (expression_statement "local_8c = local_4c[0];" (assignment_expression "local_8c = local_4c[0]" identifier = (subscript_expression "local_4c[0]" identifier [ number_literal ])) ;) (expression_statement "local_7c = local_70[0];" (assignment_expression "local_7c = local_70[0]" identifier = (subscript_expression "local_70[0]" identifier [ number_literal ])) ;) comment (expression_statement "FUN_00106d90(local_64,puVar1,local_70[0]);" (call_expression "FUN_00106d90(local_64,puVar1,local_70[0])" identifier (argument_list "(local_64,puVar1,local_70[0])" ( identifier , identifier , (subscript_expression "local_70[0]" identifier [ number_literal ]) ))) ;) (expression_statement "local_90 = local_64[0];" (assignment_expression "local_90 = local_64[0]" identifier = (subscript_expression "local_64[0]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = gettext(local_74 + -0x5f8c2);" (assignment_expression "uVar7 = gettext(local_74 + -0x5f8c2)" identifier = (call_expression "gettext(local_74 + -0x5f8c2)" identifier (argument_list "(local_74 + -0x5f8c2)" ( (binary_expression "local_74 + -0x5f8c2" identifier + number_literal) )))) ;) comment (expression_statement "FUN_0023b810(uVar7,local_90,local_7c,local_8c,local_80,local_84,local_78,local_88);" (call_expression "FUN_0023b810(uVar7,local_90,local_7c,local_8c,local_80,local_84,local_78,local_88)" identifier (argument_list "(uVar7,local_90,local_7c,local_8c,local_80,local_84,local_78,local_88)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (if_statement "if (local_64[0] != local_5c) {\n      FUN_003ae080(local_64[0]);\n    }" if (parenthesized_expression "(local_64[0] != local_5c)" ( (binary_expression "local_64[0] != local_5c" (subscript_expression "local_64[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n      FUN_003ae080(local_64[0]);\n    }" { (expression_statement "FUN_003ae080(local_64[0]);" (call_expression "FUN_003ae080(local_64[0])" identifier (argument_list "(local_64[0])" ( (subscript_expression "local_64[0]" identifier [ number_literal ]) ))) ;) })) (if_statement "if (local_4c[0] != local_44) {\n      FUN_003ae080(local_4c[0]);\n    }" if (parenthesized_expression "(local_4c[0] != local_44)" ( (binary_expression "local_4c[0] != local_44" (subscript_expression "local_4c[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n      FUN_003ae080(local_4c[0]);\n    }" { (expression_statement "FUN_003ae080(local_4c[0]);" (call_expression "FUN_003ae080(local_4c[0])" identifier (argument_list "(local_4c[0])" ( (subscript_expression "local_4c[0]" identifier [ number_literal ]) ))) ;) })) (expression_statement "ppuVar8 = &puStack_a8;" (assignment_expression "ppuVar8 = &puStack_a8" identifier = (pointer_expression "&puStack_a8" & identifier)) ;) (expression_statement "ppuVar9 = &puStack_a8;" (assignment_expression "ppuVar9 = &puStack_a8" identifier = (pointer_expression "&puStack_a8" & identifier)) ;) (if_statement "if (local_34[0] != local_2c) goto LAB_00127856;" if (parenthesized_expression "(local_34[0] != local_2c)" ( (binary_expression "local_34[0] != local_2c" (subscript_expression "local_34[0]" identifier [ number_literal ]) != identifier) )) (goto_statement "goto LAB_00127856;" goto statement_identifier ;)) }))) (expression_statement "*(undefined1 *)(piVar4 + 6) = 1;" (assignment_expression "*(undefined1 *)(piVar4 + 6) = 1" (pointer_expression "*(undefined1 *)(piVar4 + 6)" * (cast_expression "(undefined1 *)(piVar4 + 6)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 6)" ( (binary_expression "piVar4 + 6" identifier + number_literal) )))) = number_literal) ;) (labeled_statement "LAB_00127869:\n  if ((*(uint *)(*param_5 + 8) >> 0x18 & 2) == 0) {\n    local_80 = *(undefined1 **)(param_1 + 4);\n    *(undefined1 **)((int)ppuVar9 + -8) = param_4;\n    *(int *)((int)ppuVar9 + -0xc) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x10) = local_34;\n    local_78 = (undefined1 **)param_4;\n    *(undefined4 *)((int)ppuVar9 + -0x14) = 0x127a68;\n    FUN_00106d90();\n    puVar1 = local_70[0];\n    local_7c = local_34[0];\n    *(undefined1 **)((int)ppuVar9 + -0xc) = local_70[0];\n    *(int *)((int)ppuVar9 + -0x10) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x14) = local_4c;\n                    /* try { // try from 00127a79 to 00127a7d has its CatchHandler @ 00127b32 */\n    *(undefined4 *)((int)ppuVar9 + -0x18) = 0x127a7e;\n    FUN_00106d90();\n    local_84 = local_4c[0];\n    *(undefined ***)((int)ppuVar9 + -0x18) = local_74 + -0x5f8b0;\n    *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a95;\n    uVar7 = gettext();\n    *(undefined1 **)((int)ppuVar9 + -0x14) = local_80;\n    *(undefined1 ***)((int)ppuVar9 + -0x18) = local_78;\n    *(undefined1 **)((int)ppuVar9 + -0x1c) = local_7c;\n    *(undefined1 **)((int)ppuVar9 + -0x20) = puVar1;\n    *(undefined1 **)((int)ppuVar9 + -0x24) = local_84;\n    *(undefined4 *)((int)ppuVar9 + -0x28) = uVar7;\n                    /* try { // try from 00127aab to 00127aaf has its CatchHandler @ 00127b39 */\n    *(undefined4 *)((int)ppuVar9 + -0x2c) = 0x127ab0;\n    FUN_0023b810();\n    if (local_4c[0] != local_44) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127ac6;\n      FUN_003ae080();\n    }\n    if (local_34[0] != local_2c) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127adf;\n      FUN_003ae080();\n    }\n    *(undefined1 *)(piVar4 + 6) = 1;\n    return;\n  }" statement_identifier : (if_statement "if ((*(uint *)(*param_5 + 8) >> 0x18 & 2) == 0) {\n    local_80 = *(undefined1 **)(param_1 + 4);\n    *(undefined1 **)((int)ppuVar9 + -8) = param_4;\n    *(int *)((int)ppuVar9 + -0xc) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x10) = local_34;\n    local_78 = (undefined1 **)param_4;\n    *(undefined4 *)((int)ppuVar9 + -0x14) = 0x127a68;\n    FUN_00106d90();\n    puVar1 = local_70[0];\n    local_7c = local_34[0];\n    *(undefined1 **)((int)ppuVar9 + -0xc) = local_70[0];\n    *(int *)((int)ppuVar9 + -0x10) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x14) = local_4c;\n                    /* try { // try from 00127a79 to 00127a7d has its CatchHandler @ 00127b32 */\n    *(undefined4 *)((int)ppuVar9 + -0x18) = 0x127a7e;\n    FUN_00106d90();\n    local_84 = local_4c[0];\n    *(undefined ***)((int)ppuVar9 + -0x18) = local_74 + -0x5f8b0;\n    *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a95;\n    uVar7 = gettext();\n    *(undefined1 **)((int)ppuVar9 + -0x14) = local_80;\n    *(undefined1 ***)((int)ppuVar9 + -0x18) = local_78;\n    *(undefined1 **)((int)ppuVar9 + -0x1c) = local_7c;\n    *(undefined1 **)((int)ppuVar9 + -0x20) = puVar1;\n    *(undefined1 **)((int)ppuVar9 + -0x24) = local_84;\n    *(undefined4 *)((int)ppuVar9 + -0x28) = uVar7;\n                    /* try { // try from 00127aab to 00127aaf has its CatchHandler @ 00127b39 */\n    *(undefined4 *)((int)ppuVar9 + -0x2c) = 0x127ab0;\n    FUN_0023b810();\n    if (local_4c[0] != local_44) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127ac6;\n      FUN_003ae080();\n    }\n    if (local_34[0] != local_2c) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127adf;\n      FUN_003ae080();\n    }\n    *(undefined1 *)(piVar4 + 6) = 1;\n    return;\n  }" if (parenthesized_expression "((*(uint *)(*param_5 + 8) >> 0x18 & 2) == 0)" ( (binary_expression "(*(uint *)(*param_5 + 8) >> 0x18 & 2) == 0" (parenthesized_expression "(*(uint *)(*param_5 + 8) >> 0x18 & 2)" ( (binary_expression "*(uint *)(*param_5 + 8) >> 0x18 & 2" (binary_expression "*(uint *)(*param_5 + 8) >> 0x18" (pointer_expression "*(uint *)(*param_5 + 8)" * (cast_expression "(uint *)(*param_5 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_5 + 8)" ( (binary_expression "*param_5 + 8" (pointer_expression "*param_5" * identifier) + number_literal) )))) >> number_literal) & number_literal) )) == number_literal) )) (compound_statement "{\n    local_80 = *(undefined1 **)(param_1 + 4);\n    *(undefined1 **)((int)ppuVar9 + -8) = param_4;\n    *(int *)((int)ppuVar9 + -0xc) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x10) = local_34;\n    local_78 = (undefined1 **)param_4;\n    *(undefined4 *)((int)ppuVar9 + -0x14) = 0x127a68;\n    FUN_00106d90();\n    puVar1 = local_70[0];\n    local_7c = local_34[0];\n    *(undefined1 **)((int)ppuVar9 + -0xc) = local_70[0];\n    *(int *)((int)ppuVar9 + -0x10) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x14) = local_4c;\n                    /* try { // try from 00127a79 to 00127a7d has its CatchHandler @ 00127b32 */\n    *(undefined4 *)((int)ppuVar9 + -0x18) = 0x127a7e;\n    FUN_00106d90();\n    local_84 = local_4c[0];\n    *(undefined ***)((int)ppuVar9 + -0x18) = local_74 + -0x5f8b0;\n    *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a95;\n    uVar7 = gettext();\n    *(undefined1 **)((int)ppuVar9 + -0x14) = local_80;\n    *(undefined1 ***)((int)ppuVar9 + -0x18) = local_78;\n    *(undefined1 **)((int)ppuVar9 + -0x1c) = local_7c;\n    *(undefined1 **)((int)ppuVar9 + -0x20) = puVar1;\n    *(undefined1 **)((int)ppuVar9 + -0x24) = local_84;\n    *(undefined4 *)((int)ppuVar9 + -0x28) = uVar7;\n                    /* try { // try from 00127aab to 00127aaf has its CatchHandler @ 00127b39 */\n    *(undefined4 *)((int)ppuVar9 + -0x2c) = 0x127ab0;\n    FUN_0023b810();\n    if (local_4c[0] != local_44) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127ac6;\n      FUN_003ae080();\n    }\n    if (local_34[0] != local_2c) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127adf;\n      FUN_003ae080();\n    }\n    *(undefined1 *)(piVar4 + 6) = 1;\n    return;\n  }" { (expression_statement "local_80 = *(undefined1 **)(param_1 + 4);" (assignment_expression "local_80 = *(undefined1 **)(param_1 + 4)" identifier = (pointer_expression "*(undefined1 **)(param_1 + 4)" * (cast_expression "(undefined1 **)(param_1 + 4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 **)((int)ppuVar9 + -8) = param_4;" (assignment_expression "*(undefined1 **)((int)ppuVar9 + -8) = param_4" (pointer_expression "*(undefined1 **)((int)ppuVar9 + -8)" * (cast_expression "(undefined1 **)((int)ppuVar9 + -8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar9 + -8)" ( (binary_expression "(int)ppuVar9 + -8" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)ppuVar9 + -0xc) = param_1 + 0x90;" (assignment_expression "*(int *)((int)ppuVar9 + -0xc) = param_1 + 0x90" (pointer_expression "*(int *)((int)ppuVar9 + -0xc)" * (cast_expression "(int *)((int)ppuVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar9 + -0xc)" ( (binary_expression "(int)ppuVar9 + -0xc" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "param_1 + 0x90" identifier + number_literal)) ;) (expression_statement "*(undefined1 ***)((int)ppuVar9 + -0x10) = local_34;" (assignment_expression "*(undefined1 ***)((int)ppuVar9 + -0x10) = local_34" (pointer_expression "*(undefined1 ***)((int)ppuVar9 + -0x10)" * (cast_expression "(undefined1 ***)((int)ppuVar9 + -0x10)" ( (type_descriptor "undefined1 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppuVar9 + -0x10)" ( (binary_expression "(int)ppuVar9 + -0x10" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "local_78 = (undefined1 **)param_4;" (assignment_expression "local_78 = (undefined1 **)param_4" identifier = (cast_expression "(undefined1 **)param_4" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "*(undefined4 *)((int)ppuVar9 + -0x14) = 0x127a68;" (assignment_expression "*(undefined4 *)((int)ppuVar9 + -0x14) = 0x127a68" (pointer_expression "*(undefined4 *)((int)ppuVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)ppuVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar9 + -0x14)" ( (binary_expression "(int)ppuVar9 + -0x14" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00106d90();" (call_expression "FUN_00106d90()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar1 = local_70[0];" (assignment_expression "puVar1 = local_70[0]" identifier = (subscript_expression "local_70[0]" identifier [ number_literal ])) ;) (expression_statement "local_7c = local_34[0];" (assignment_expression "local_7c = local_34[0]" identifier = (subscript_expression "local_34[0]" identifier [ number_literal ])) ;) (expression_statement "*(undefined1 **)((int)ppuVar9 + -0xc) = local_70[0];" (assignment_expression "*(undefined1 **)((int)ppuVar9 + -0xc) = local_70[0]" (pointer_expression "*(undefined1 **)((int)ppuVar9 + -0xc)" * (cast_expression "(undefined1 **)((int)ppuVar9 + -0xc)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar9 + -0xc)" ( (binary_expression "(int)ppuVar9 + -0xc" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "local_70[0]" identifier [ number_literal ])) ;) (expression_statement "*(int *)((int)ppuVar9 + -0x10) = param_1 + 0x90;" (assignment_expression "*(int *)((int)ppuVar9 + -0x10) = param_1 + 0x90" (pointer_expression "*(int *)((int)ppuVar9 + -0x10)" * (cast_expression "(int *)((int)ppuVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar9 + -0x10)" ( (binary_expression "(int)ppuVar9 + -0x10" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "param_1 + 0x90" identifier + number_literal)) ;) (expression_statement "*(undefined1 ***)((int)ppuVar9 + -0x14) = local_4c;" (assignment_expression "*(undefined1 ***)((int)ppuVar9 + -0x14) = local_4c" (pointer_expression "*(undefined1 ***)((int)ppuVar9 + -0x14)" * (cast_expression "(undefined1 ***)((int)ppuVar9 + -0x14)" ( (type_descriptor "undefined1 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppuVar9 + -0x14)" ( (binary_expression "(int)ppuVar9 + -0x14" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)((int)ppuVar9 + -0x18) = 0x127a7e;" (assignment_expression "*(undefined4 *)((int)ppuVar9 + -0x18) = 0x127a7e" (pointer_expression "*(undefined4 *)((int)ppuVar9 + -0x18)" * (cast_expression "(undefined4 *)((int)ppuVar9 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar9 + -0x18)" ( (binary_expression "(int)ppuVar9 + -0x18" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00106d90();" (call_expression "FUN_00106d90()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_84 = local_4c[0];" (assignment_expression "local_84 = local_4c[0]" identifier = (subscript_expression "local_4c[0]" identifier [ number_literal ])) ;) (expression_statement "*(undefined ***)((int)ppuVar9 + -0x18) = local_74 + -0x5f8b0;" (assignment_expression "*(undefined ***)((int)ppuVar9 + -0x18) = local_74 + -0x5f8b0" (pointer_expression "*(undefined ***)((int)ppuVar9 + -0x18)" * (cast_expression "(undefined ***)((int)ppuVar9 + -0x18)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppuVar9 + -0x18)" ( (binary_expression "(int)ppuVar9 + -0x18" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_74 + -0x5f8b0" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a95;" (assignment_expression "*(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a95" (pointer_expression "*(undefined4 *)((int)ppuVar9 + -0x1c)" * (cast_expression "(undefined4 *)((int)ppuVar9 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar9 + -0x1c)" ( (binary_expression "(int)ppuVar9 + -0x1c" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar7 = gettext();" (assignment_expression "uVar7 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined1 **)((int)ppuVar9 + -0x14) = local_80;" (assignment_expression "*(undefined1 **)((int)ppuVar9 + -0x14) = local_80" (pointer_expression "*(undefined1 **)((int)ppuVar9 + -0x14)" * (cast_expression "(undefined1 **)((int)ppuVar9 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar9 + -0x14)" ( (binary_expression "(int)ppuVar9 + -0x14" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 ***)((int)ppuVar9 + -0x18) = local_78;" (assignment_expression "*(undefined1 ***)((int)ppuVar9 + -0x18) = local_78" (pointer_expression "*(undefined1 ***)((int)ppuVar9 + -0x18)" * (cast_expression "(undefined1 ***)((int)ppuVar9 + -0x18)" ( (type_descriptor "undefined1 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppuVar9 + -0x18)" ( (binary_expression "(int)ppuVar9 + -0x18" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)((int)ppuVar9 + -0x1c) = local_7c;" (assignment_expression "*(undefined1 **)((int)ppuVar9 + -0x1c) = local_7c" (pointer_expression "*(undefined1 **)((int)ppuVar9 + -0x1c)" * (cast_expression "(undefined1 **)((int)ppuVar9 + -0x1c)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar9 + -0x1c)" ( (binary_expression "(int)ppuVar9 + -0x1c" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)((int)ppuVar9 + -0x20) = puVar1;" (assignment_expression "*(undefined1 **)((int)ppuVar9 + -0x20) = puVar1" (pointer_expression "*(undefined1 **)((int)ppuVar9 + -0x20)" * (cast_expression "(undefined1 **)((int)ppuVar9 + -0x20)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar9 + -0x20)" ( (binary_expression "(int)ppuVar9 + -0x20" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)((int)ppuVar9 + -0x24) = local_84;" (assignment_expression "*(undefined1 **)((int)ppuVar9 + -0x24) = local_84" (pointer_expression "*(undefined1 **)((int)ppuVar9 + -0x24)" * (cast_expression "(undefined1 **)((int)ppuVar9 + -0x24)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar9 + -0x24)" ( (binary_expression "(int)ppuVar9 + -0x24" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppuVar9 + -0x28) = uVar7;" (assignment_expression "*(undefined4 *)((int)ppuVar9 + -0x28) = uVar7" (pointer_expression "*(undefined4 *)((int)ppuVar9 + -0x28)" * (cast_expression "(undefined4 *)((int)ppuVar9 + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar9 + -0x28)" ( (binary_expression "(int)ppuVar9 + -0x28" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)((int)ppuVar9 + -0x2c) = 0x127ab0;" (assignment_expression "*(undefined4 *)((int)ppuVar9 + -0x2c) = 0x127ab0" (pointer_expression "*(undefined4 *)((int)ppuVar9 + -0x2c)" * (cast_expression "(undefined4 *)((int)ppuVar9 + -0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar9 + -0x2c)" ( (binary_expression "(int)ppuVar9 + -0x2c" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b810();" (call_expression "FUN_0023b810()" identifier (argument_list "()" ( ))) ;) (if_statement "if (local_4c[0] != local_44) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127ac6;\n      FUN_003ae080();\n    }" if (parenthesized_expression "(local_4c[0] != local_44)" ( (binary_expression "local_4c[0] != local_44" (subscript_expression "local_4c[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127ac6;\n      FUN_003ae080();\n    }" { (expression_statement "*(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0];" (assignment_expression "*(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0]" (pointer_expression "*(undefined1 **)((int)ppuVar9 + -0x18)" * (cast_expression "(undefined1 **)((int)ppuVar9 + -0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar9 + -0x18)" ( (binary_expression "(int)ppuVar9 + -0x18" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "local_4c[0]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127ac6;" (assignment_expression "*(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127ac6" (pointer_expression "*(undefined4 *)((int)ppuVar9 + -0x1c)" * (cast_expression "(undefined4 *)((int)ppuVar9 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar9 + -0x1c)" ( (binary_expression "(int)ppuVar9 + -0x1c" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_34[0] != local_2c) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127adf;\n      FUN_003ae080();\n    }" if (parenthesized_expression "(local_34[0] != local_2c)" ( (binary_expression "local_34[0] != local_2c" (subscript_expression "local_34[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127adf;\n      FUN_003ae080();\n    }" { (expression_statement "*(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0];" (assignment_expression "*(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0]" (pointer_expression "*(undefined1 **)((int)ppuVar9 + -0x18)" * (cast_expression "(undefined1 **)((int)ppuVar9 + -0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar9 + -0x18)" ( (binary_expression "(int)ppuVar9 + -0x18" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "local_34[0]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127adf;" (assignment_expression "*(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127adf" (pointer_expression "*(undefined4 *)((int)ppuVar9 + -0x1c)" * (cast_expression "(undefined4 *)((int)ppuVar9 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar9 + -0x1c)" ( (binary_expression "(int)ppuVar9 + -0x1c" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(undefined1 *)(piVar4 + 6) = 1;" (assignment_expression "*(undefined1 *)(piVar4 + 6) = 1" (pointer_expression "*(undefined1 *)(piVar4 + 6)" * (cast_expression "(undefined1 *)(piVar4 + 6)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 6)" ( (binary_expression "piVar4 + 6" identifier + number_literal) )))) = number_literal) ;) (return_statement "return;" return ;) }))) (if_statement "if ((*(uint *)(*param_5 + 8) & 0x4000000) == 0) {\n    local_7c = *(undefined1 **)(param_1 + 4);\n    *(undefined1 **)((int)ppuVar9 + -8) = param_4;\n    *(int *)((int)ppuVar9 + -0xc) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x10) = local_34;\n    *(undefined4 *)((int)ppuVar9 + -0x14) = 0x1279bd;\n    FUN_00106d90();\n    puVar1 = local_70[0];\n    local_78 = (undefined1 **)local_34[0];\n    *(undefined1 **)((int)ppuVar9 + -0xc) = local_70[0];\n    *(int *)((int)ppuVar9 + -0x10) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x14) = local_4c;\n                    /* try { // try from 001279ce to 001279d2 has its CatchHandler @ 00127b40 */\n    *(undefined4 *)((int)ppuVar9 + -0x18) = 0x1279d3;\n    FUN_00106d90();\n    local_80 = local_4c[0];\n    *(undefined ***)((int)ppuVar9 + -0x18) = local_74 + -0x5f89f;\n    *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x1279ea;\n    uVar7 = gettext();\n    *(undefined1 **)((int)ppuVar9 + -0x14) = local_7c;\n    *(undefined1 **)((int)ppuVar9 + -0x18) = param_4;\n    *(undefined1 ***)((int)ppuVar9 + -0x1c) = local_78;\n    *(undefined1 **)((int)ppuVar9 + -0x20) = puVar1;\n    *(undefined1 **)((int)ppuVar9 + -0x24) = local_80;\n    *(undefined4 *)((int)ppuVar9 + -0x28) = uVar7;\n                    /* try { // try from 001279fe to 00127a02 has its CatchHandler @ 00127b47 */\n    *(undefined4 *)((int)ppuVar9 + -0x2c) = 0x127a03;\n    FUN_0023b840();\n    if (local_4c[0] != local_44) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a19;\n      FUN_003ae080();\n    }\n    if (local_34[0] != local_2c) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a36;\n      FUN_003ae080();\n      return;\n    }\n  }" if (parenthesized_expression "((*(uint *)(*param_5 + 8) & 0x4000000) == 0)" ( (binary_expression "(*(uint *)(*param_5 + 8) & 0x4000000) == 0" (parenthesized_expression "(*(uint *)(*param_5 + 8) & 0x4000000)" ( (binary_expression "*(uint *)(*param_5 + 8) & 0x4000000" (pointer_expression "*(uint *)(*param_5 + 8)" * (cast_expression "(uint *)(*param_5 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_5 + 8)" ( (binary_expression "*param_5 + 8" (pointer_expression "*param_5" * identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n    local_7c = *(undefined1 **)(param_1 + 4);\n    *(undefined1 **)((int)ppuVar9 + -8) = param_4;\n    *(int *)((int)ppuVar9 + -0xc) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x10) = local_34;\n    *(undefined4 *)((int)ppuVar9 + -0x14) = 0x1279bd;\n    FUN_00106d90();\n    puVar1 = local_70[0];\n    local_78 = (undefined1 **)local_34[0];\n    *(undefined1 **)((int)ppuVar9 + -0xc) = local_70[0];\n    *(int *)((int)ppuVar9 + -0x10) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x14) = local_4c;\n                    /* try { // try from 001279ce to 001279d2 has its CatchHandler @ 00127b40 */\n    *(undefined4 *)((int)ppuVar9 + -0x18) = 0x1279d3;\n    FUN_00106d90();\n    local_80 = local_4c[0];\n    *(undefined ***)((int)ppuVar9 + -0x18) = local_74 + -0x5f89f;\n    *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x1279ea;\n    uVar7 = gettext();\n    *(undefined1 **)((int)ppuVar9 + -0x14) = local_7c;\n    *(undefined1 **)((int)ppuVar9 + -0x18) = param_4;\n    *(undefined1 ***)((int)ppuVar9 + -0x1c) = local_78;\n    *(undefined1 **)((int)ppuVar9 + -0x20) = puVar1;\n    *(undefined1 **)((int)ppuVar9 + -0x24) = local_80;\n    *(undefined4 *)((int)ppuVar9 + -0x28) = uVar7;\n                    /* try { // try from 001279fe to 00127a02 has its CatchHandler @ 00127b47 */\n    *(undefined4 *)((int)ppuVar9 + -0x2c) = 0x127a03;\n    FUN_0023b840();\n    if (local_4c[0] != local_44) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a19;\n      FUN_003ae080();\n    }\n    if (local_34[0] != local_2c) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a36;\n      FUN_003ae080();\n      return;\n    }\n  }" { (expression_statement "local_7c = *(undefined1 **)(param_1 + 4);" (assignment_expression "local_7c = *(undefined1 **)(param_1 + 4)" identifier = (pointer_expression "*(undefined1 **)(param_1 + 4)" * (cast_expression "(undefined1 **)(param_1 + 4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 **)((int)ppuVar9 + -8) = param_4;" (assignment_expression "*(undefined1 **)((int)ppuVar9 + -8) = param_4" (pointer_expression "*(undefined1 **)((int)ppuVar9 + -8)" * (cast_expression "(undefined1 **)((int)ppuVar9 + -8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar9 + -8)" ( (binary_expression "(int)ppuVar9 + -8" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)ppuVar9 + -0xc) = param_1 + 0x90;" (assignment_expression "*(int *)((int)ppuVar9 + -0xc) = param_1 + 0x90" (pointer_expression "*(int *)((int)ppuVar9 + -0xc)" * (cast_expression "(int *)((int)ppuVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar9 + -0xc)" ( (binary_expression "(int)ppuVar9 + -0xc" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "param_1 + 0x90" identifier + number_literal)) ;) (expression_statement "*(undefined1 ***)((int)ppuVar9 + -0x10) = local_34;" (assignment_expression "*(undefined1 ***)((int)ppuVar9 + -0x10) = local_34" (pointer_expression "*(undefined1 ***)((int)ppuVar9 + -0x10)" * (cast_expression "(undefined1 ***)((int)ppuVar9 + -0x10)" ( (type_descriptor "undefined1 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppuVar9 + -0x10)" ( (binary_expression "(int)ppuVar9 + -0x10" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppuVar9 + -0x14) = 0x1279bd;" (assignment_expression "*(undefined4 *)((int)ppuVar9 + -0x14) = 0x1279bd" (pointer_expression "*(undefined4 *)((int)ppuVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)ppuVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar9 + -0x14)" ( (binary_expression "(int)ppuVar9 + -0x14" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00106d90();" (call_expression "FUN_00106d90()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar1 = local_70[0];" (assignment_expression "puVar1 = local_70[0]" identifier = (subscript_expression "local_70[0]" identifier [ number_literal ])) ;) (expression_statement "local_78 = (undefined1 **)local_34[0];" (assignment_expression "local_78 = (undefined1 **)local_34[0]" identifier = (cast_expression "(undefined1 **)local_34[0]" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "local_34[0]" identifier [ number_literal ]))) ;) (expression_statement "*(undefined1 **)((int)ppuVar9 + -0xc) = local_70[0];" (assignment_expression "*(undefined1 **)((int)ppuVar9 + -0xc) = local_70[0]" (pointer_expression "*(undefined1 **)((int)ppuVar9 + -0xc)" * (cast_expression "(undefined1 **)((int)ppuVar9 + -0xc)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar9 + -0xc)" ( (binary_expression "(int)ppuVar9 + -0xc" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "local_70[0]" identifier [ number_literal ])) ;) (expression_statement "*(int *)((int)ppuVar9 + -0x10) = param_1 + 0x90;" (assignment_expression "*(int *)((int)ppuVar9 + -0x10) = param_1 + 0x90" (pointer_expression "*(int *)((int)ppuVar9 + -0x10)" * (cast_expression "(int *)((int)ppuVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar9 + -0x10)" ( (binary_expression "(int)ppuVar9 + -0x10" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "param_1 + 0x90" identifier + number_literal)) ;) (expression_statement "*(undefined1 ***)((int)ppuVar9 + -0x14) = local_4c;" (assignment_expression "*(undefined1 ***)((int)ppuVar9 + -0x14) = local_4c" (pointer_expression "*(undefined1 ***)((int)ppuVar9 + -0x14)" * (cast_expression "(undefined1 ***)((int)ppuVar9 + -0x14)" ( (type_descriptor "undefined1 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppuVar9 + -0x14)" ( (binary_expression "(int)ppuVar9 + -0x14" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)((int)ppuVar9 + -0x18) = 0x1279d3;" (assignment_expression "*(undefined4 *)((int)ppuVar9 + -0x18) = 0x1279d3" (pointer_expression "*(undefined4 *)((int)ppuVar9 + -0x18)" * (cast_expression "(undefined4 *)((int)ppuVar9 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar9 + -0x18)" ( (binary_expression "(int)ppuVar9 + -0x18" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00106d90();" (call_expression "FUN_00106d90()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_80 = local_4c[0];" (assignment_expression "local_80 = local_4c[0]" identifier = (subscript_expression "local_4c[0]" identifier [ number_literal ])) ;) (expression_statement "*(undefined ***)((int)ppuVar9 + -0x18) = local_74 + -0x5f89f;" (assignment_expression "*(undefined ***)((int)ppuVar9 + -0x18) = local_74 + -0x5f89f" (pointer_expression "*(undefined ***)((int)ppuVar9 + -0x18)" * (cast_expression "(undefined ***)((int)ppuVar9 + -0x18)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppuVar9 + -0x18)" ( (binary_expression "(int)ppuVar9 + -0x18" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_74 + -0x5f89f" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)ppuVar9 + -0x1c) = 0x1279ea;" (assignment_expression "*(undefined4 *)((int)ppuVar9 + -0x1c) = 0x1279ea" (pointer_expression "*(undefined4 *)((int)ppuVar9 + -0x1c)" * (cast_expression "(undefined4 *)((int)ppuVar9 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar9 + -0x1c)" ( (binary_expression "(int)ppuVar9 + -0x1c" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar7 = gettext();" (assignment_expression "uVar7 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined1 **)((int)ppuVar9 + -0x14) = local_7c;" (assignment_expression "*(undefined1 **)((int)ppuVar9 + -0x14) = local_7c" (pointer_expression "*(undefined1 **)((int)ppuVar9 + -0x14)" * (cast_expression "(undefined1 **)((int)ppuVar9 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar9 + -0x14)" ( (binary_expression "(int)ppuVar9 + -0x14" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)((int)ppuVar9 + -0x18) = param_4;" (assignment_expression "*(undefined1 **)((int)ppuVar9 + -0x18) = param_4" (pointer_expression "*(undefined1 **)((int)ppuVar9 + -0x18)" * (cast_expression "(undefined1 **)((int)ppuVar9 + -0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar9 + -0x18)" ( (binary_expression "(int)ppuVar9 + -0x18" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 ***)((int)ppuVar9 + -0x1c) = local_78;" (assignment_expression "*(undefined1 ***)((int)ppuVar9 + -0x1c) = local_78" (pointer_expression "*(undefined1 ***)((int)ppuVar9 + -0x1c)" * (cast_expression "(undefined1 ***)((int)ppuVar9 + -0x1c)" ( (type_descriptor "undefined1 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppuVar9 + -0x1c)" ( (binary_expression "(int)ppuVar9 + -0x1c" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)((int)ppuVar9 + -0x20) = puVar1;" (assignment_expression "*(undefined1 **)((int)ppuVar9 + -0x20) = puVar1" (pointer_expression "*(undefined1 **)((int)ppuVar9 + -0x20)" * (cast_expression "(undefined1 **)((int)ppuVar9 + -0x20)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar9 + -0x20)" ( (binary_expression "(int)ppuVar9 + -0x20" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)((int)ppuVar9 + -0x24) = local_80;" (assignment_expression "*(undefined1 **)((int)ppuVar9 + -0x24) = local_80" (pointer_expression "*(undefined1 **)((int)ppuVar9 + -0x24)" * (cast_expression "(undefined1 **)((int)ppuVar9 + -0x24)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar9 + -0x24)" ( (binary_expression "(int)ppuVar9 + -0x24" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppuVar9 + -0x28) = uVar7;" (assignment_expression "*(undefined4 *)((int)ppuVar9 + -0x28) = uVar7" (pointer_expression "*(undefined4 *)((int)ppuVar9 + -0x28)" * (cast_expression "(undefined4 *)((int)ppuVar9 + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar9 + -0x28)" ( (binary_expression "(int)ppuVar9 + -0x28" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)((int)ppuVar9 + -0x2c) = 0x127a03;" (assignment_expression "*(undefined4 *)((int)ppuVar9 + -0x2c) = 0x127a03" (pointer_expression "*(undefined4 *)((int)ppuVar9 + -0x2c)" * (cast_expression "(undefined4 *)((int)ppuVar9 + -0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar9 + -0x2c)" ( (binary_expression "(int)ppuVar9 + -0x2c" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b840();" (call_expression "FUN_0023b840()" identifier (argument_list "()" ( ))) ;) (if_statement "if (local_4c[0] != local_44) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a19;\n      FUN_003ae080();\n    }" if (parenthesized_expression "(local_4c[0] != local_44)" ( (binary_expression "local_4c[0] != local_44" (subscript_expression "local_4c[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a19;\n      FUN_003ae080();\n    }" { (expression_statement "*(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0];" (assignment_expression "*(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0]" (pointer_expression "*(undefined1 **)((int)ppuVar9 + -0x18)" * (cast_expression "(undefined1 **)((int)ppuVar9 + -0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar9 + -0x18)" ( (binary_expression "(int)ppuVar9 + -0x18" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "local_4c[0]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a19;" (assignment_expression "*(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a19" (pointer_expression "*(undefined4 *)((int)ppuVar9 + -0x1c)" * (cast_expression "(undefined4 *)((int)ppuVar9 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar9 + -0x1c)" ( (binary_expression "(int)ppuVar9 + -0x1c" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_34[0] != local_2c) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a36;\n      FUN_003ae080();\n      return;\n    }" if (parenthesized_expression "(local_34[0] != local_2c)" ( (binary_expression "local_34[0] != local_2c" (subscript_expression "local_34[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a36;\n      FUN_003ae080();\n      return;\n    }" { (expression_statement "*(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0];" (assignment_expression "*(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0]" (pointer_expression "*(undefined1 **)((int)ppuVar9 + -0x18)" * (cast_expression "(undefined1 **)((int)ppuVar9 + -0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar9 + -0x18)" ( (binary_expression "(int)ppuVar9 + -0x18" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "local_34[0]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a36;" (assignment_expression "*(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a36" (pointer_expression "*(undefined4 *)((int)ppuVar9 + -0x1c)" * (cast_expression "(undefined4 *)((int)ppuVar9 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar9 + -0x1c)" ( (binary_expression "(int)ppuVar9 + -0x1c" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) })) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Enum "<anon>": Some values do not have unique names */\n/* DWARF original prototype: void make_exidx_input_section(Arm_relobj<true> * this, uint shndx,\n   Shdr<32,_true> * shdr, uint text_shndx, Shdr<32,_true> * text_shdr) */\n\nvoid __thiscall\nanon_unknown.dwarf_91258a::Arm_relobj<true>::make_exidx_input_section\n          (Arm_relobj<true> *this,uint shndx,Shdr<32,_true> *shdr,uint text_shndx,\n          Shdr<32,_true> *text_shdr)\n\n{\n}\n\n" comment comment comment (function_definition "void __thiscall\nanon_unknown.dwarf_91258a::Arm_relobj<true>::make_exidx_input_section\n          (Arm_relobj<true> *this,uint shndx,Shdr<32,_true> *shdr,uint text_shndx,\n          Shdr<32,_true> *text_shdr)\n\n{\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "anon_unknown.dwarf_91258a::Arm_relobj<true>::" identifier . identifier : : identifier < true > : :) (function_declarator "make_exidx_input_section\n          (Arm_relobj<true> *this,uint shndx,Shdr<32,_true> *shdr,uint text_shndx,\n          Shdr<32,_true> *text_shdr)" identifier (parameter_list "(Arm_relobj<true> *this,uint shndx,Shdr<32,_true> *shdr,uint text_shndx,\n          Shdr<32,_true> *text_shdr)" ( (parameter_declaration "Arm_relobj<true> *this" type_identifier (ERROR "<true>" < true >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "uint shndx" type_identifier identifier) , (parameter_declaration "Shdr" type_identifier) (ERROR "<32" < number_literal) , (parameter_declaration "_true> *shdr" type_identifier (ERROR ">" >) (pointer_declarator "*shdr" * identifier)) , (parameter_declaration "uint text_shndx" type_identifier identifier) , (parameter_declaration "Shdr" type_identifier) (ERROR "<32" < number_literal) , (parameter_declaration "_true> *text_shdr" type_identifier (ERROR ">" >) (pointer_declarator "*text_shdr" * identifier)) ))) (compound_statement "{\n}" { })))
(translation_unit "void __regparm3\nFUN_00127750(int param_1,undefined1 *param_2,int *param_3,undefined1 *param_4,int *param_5)\n\n{\n  undefined1 *puVar1;\n  uint uVar2;\n  uint uVar3;\n  int *piVar4;\n  int *piVar5;\n  undefined4 *puVar6;\n  undefined4 uVar7;\n  undefined1 **ppuVar8;\n  undefined1 **ppuVar9;\n  undefined1 *puStack_a8;\n  undefined **ppuStack_a4;\n  undefined4 uStack_a0;\n  undefined1 auStack_9c [12];\n  undefined1 *local_90;\n  undefined1 *local_8c;\n  undefined4 local_88;\n  undefined1 *local_84;\n  undefined1 *local_80;\n  undefined1 *local_7c;\n  undefined1 **local_78;\n  undefined **local_74;\n  undefined1 *local_70 [3];\n  undefined1 *local_64 [2];\n  undefined1 local_5c [16];\n  undefined1 *local_4c [2];\n  undefined1 local_44 [16];\n  undefined1 *local_34 [2];\n  undefined1 local_2c [24];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x12775d;\n  local_74 = &__DT_PLTGOT;\n  uVar2 = *(uint *)(*param_3 + 0x14);\n  uVar3 = *(uint *)(*param_3 + 0x20);\n  local_80 = (undefined1 *)\n             (uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18);\n  local_7c = (undefined1 *)\n             (uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18);\n  uVar2 = *(uint *)(*param_5 + 0x14);\n  local_78 = (undefined1 **)\n             (uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18);\n  local_70[0] = param_2;\n  piVar4 = (int *)FUN_003ac4d0(0x1c);\n  ppuVar9 = (undefined1 **)auStack_9c;\n  *piVar4 = param_1;\n  piVar4[4] = (int)local_7c;\n  piVar4[1] = (int)local_70[0];\n  piVar4[3] = (int)local_80;\n  piVar4[2] = (int)param_4;\n  *(undefined1 *)(piVar4 + 6) = 0;\n  piVar4[5] = (int)local_78;\n  local_78 = local_70;\n  uStack_a0 = 0x1277d3;\n  piVar5 = (int *)FUN_00110560();\n  if (*piVar5 != 0) {\n    ppuStack_a4 = local_74 + -0x601ca;\n    puStack_a8 = (undefined1 *)0x1ad6;\n                    \n    FUN_002446e0((int)local_74 + -0x182cba);\n  }\n  uStack_a0 = 0x1277e7;\n  puVar6 = (undefined4 *)FUN_00110560();\n  *puVar6 = piVar4;\n  local_78 = (undefined1 **)param_4;\n  if ((param_4 == (undefined1 *)0x0) || (*(undefined1 **)(param_1 + 0x28) <= param_4)) {\n    local_7c = *(undefined1 **)(param_1 + 4);\n    puStack_a8 = (undefined1 *)(param_1 + 0x90);\n    ppuStack_a4 = (undefined **)local_70[0];\n    local_84 = local_70[0];\n    FUN_00106d90(local_34);\n    local_80 = local_34[0];\n    uVar7 = gettext(local_74 + -0x5f8d0);\n                    \n    FUN_0023b810(uVar7,local_80,local_84,local_78,local_7c);\n    ppuVar8 = (undefined1 **)&uStack_a0;\n    ppuVar9 = (undefined1 **)&uStack_a0;\n    if (local_34[0] != local_2c) {\nLAB_00127856:\n      *(undefined1 **)((int)ppuVar8 + -0x10) = local_34[0];\n      *(undefined4 *)((int)ppuVar8 + -0x14) = 0x127862;\n      FUN_003ae080();\n      ppuVar9 = ppuVar8;\n    }\n  }\n  else {\n    uStack_a0 = 0x12789a;\n    piVar5 = (int *)FUN_00110560();\n    if (*piVar5 == 0) {\n      uStack_a0 = 0x127afa;\n      puVar6 = (undefined4 *)FUN_00110560();\n      *puVar6 = piVar4;\n      goto LAB_00127869;\n    }\n    puVar1 = (undefined1 *)(param_1 + 0x90);\n    uStack_a0 = 0x1278b4;\n    piVar5 = (int *)FUN_00110560();\n    local_88 = *(undefined4 *)(param_1 + 4);\n    local_80 = *(undefined1 **)(*piVar5 + 4);\n    ppuStack_a4 = (undefined **)param_4;\n    local_78 = (undefined1 **)param_4;\n    puStack_a8 = puVar1;\n    FUN_00106d90(local_34);\n    local_84 = local_34[0];\n    puStack_a8 = local_80;\n                    \n    FUN_00106d90(local_4c,puVar1);\n    local_8c = local_4c[0];\n    local_7c = local_70[0];\n                    \n    FUN_00106d90(local_64,puVar1,local_70[0]);\n    local_90 = local_64[0];\n    uVar7 = gettext(local_74 + -0x5f8c2);\n                    \n    FUN_0023b810(uVar7,local_90,local_7c,local_8c,local_80,local_84,local_78,local_88);\n    if (local_64[0] != local_5c) {\n      FUN_003ae080(local_64[0]);\n    }\n    if (local_4c[0] != local_44) {\n      FUN_003ae080(local_4c[0]);\n    }\n    ppuVar8 = &puStack_a8;\n    ppuVar9 = &puStack_a8;\n    if (local_34[0] != local_2c) goto LAB_00127856;\n  }\n  *(undefined1 *)(piVar4 + 6) = 1;\nLAB_00127869:\n  if ((*(uint *)(*param_5 + 8) >> 0x18 & 2) == 0) {\n    local_80 = *(undefined1 **)(param_1 + 4);\n    *(undefined1 **)((int)ppuVar9 + -8) = param_4;\n    *(int *)((int)ppuVar9 + -0xc) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x10) = local_34;\n    local_78 = (undefined1 **)param_4;\n    *(undefined4 *)((int)ppuVar9 + -0x14) = 0x127a68;\n    FUN_00106d90();\n    puVar1 = local_70[0];\n    local_7c = local_34[0];\n    *(undefined1 **)((int)ppuVar9 + -0xc) = local_70[0];\n    *(int *)((int)ppuVar9 + -0x10) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x14) = local_4c;\n                    \n    *(undefined4 *)((int)ppuVar9 + -0x18) = 0x127a7e;\n    FUN_00106d90();\n    local_84 = local_4c[0];\n    *(undefined ***)((int)ppuVar9 + -0x18) = local_74 + -0x5f8b0;\n    *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a95;\n    uVar7 = gettext();\n    *(undefined1 **)((int)ppuVar9 + -0x14) = local_80;\n    *(undefined1 ***)((int)ppuVar9 + -0x18) = local_78;\n    *(undefined1 **)((int)ppuVar9 + -0x1c) = local_7c;\n    *(undefined1 **)((int)ppuVar9 + -0x20) = puVar1;\n    *(undefined1 **)((int)ppuVar9 + -0x24) = local_84;\n    *(undefined4 *)((int)ppuVar9 + -0x28) = uVar7;\n                    \n    *(undefined4 *)((int)ppuVar9 + -0x2c) = 0x127ab0;\n    FUN_0023b810();\n    if (local_4c[0] != local_44) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127ac6;\n      FUN_003ae080();\n    }\n    if (local_34[0] != local_2c) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127adf;\n      FUN_003ae080();\n    }\n    *(undefined1 *)(piVar4 + 6) = 1;\n    return;\n  }\n  if ((*(uint *)(*param_5 + 8) & 0x4000000) == 0) {\n    local_7c = *(undefined1 **)(param_1 + 4);\n    *(undefined1 **)((int)ppuVar9 + -8) = param_4;\n    *(int *)((int)ppuVar9 + -0xc) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x10) = local_34;\n    *(undefined4 *)((int)ppuVar9 + -0x14) = 0x1279bd;\n    FUN_00106d90();\n    puVar1 = local_70[0];\n    local_78 = (undefined1 **)local_34[0];\n    *(undefined1 **)((int)ppuVar9 + -0xc) = local_70[0];\n    *(int *)((int)ppuVar9 + -0x10) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x14) = local_4c;\n                    \n    *(undefined4 *)((int)ppuVar9 + -0x18) = 0x1279d3;\n    FUN_00106d90();\n    local_80 = local_4c[0];\n    *(undefined ***)((int)ppuVar9 + -0x18) = local_74 + -0x5f89f;\n    *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x1279ea;\n    uVar7 = gettext();\n    *(undefined1 **)((int)ppuVar9 + -0x14) = local_7c;\n    *(undefined1 **)((int)ppuVar9 + -0x18) = param_4;\n    *(undefined1 ***)((int)ppuVar9 + -0x1c) = local_78;\n    *(undefined1 **)((int)ppuVar9 + -0x20) = puVar1;\n    *(undefined1 **)((int)ppuVar9 + -0x24) = local_80;\n    *(undefined4 *)((int)ppuVar9 + -0x28) = uVar7;\n                    \n    *(undefined4 *)((int)ppuVar9 + -0x2c) = 0x127a03;\n    FUN_0023b840();\n    if (local_4c[0] != local_44) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a19;\n      FUN_003ae080();\n    }\n    if (local_34[0] != local_2c) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a36;\n      FUN_003ae080();\n      return;\n    }\n  }\n  return;\n}\n\n" (function_definition "void __regparm3\nFUN_00127750(int param_1,undefined1 *param_2,int *param_3,undefined1 *param_4,int *param_5)\n\n{\n  undefined1 *puVar1;\n  uint uVar2;\n  uint uVar3;\n  int *piVar4;\n  int *piVar5;\n  undefined4 *puVar6;\n  undefined4 uVar7;\n  undefined1 **ppuVar8;\n  undefined1 **ppuVar9;\n  undefined1 *puStack_a8;\n  undefined **ppuStack_a4;\n  undefined4 uStack_a0;\n  undefined1 auStack_9c [12];\n  undefined1 *local_90;\n  undefined1 *local_8c;\n  undefined4 local_88;\n  undefined1 *local_84;\n  undefined1 *local_80;\n  undefined1 *local_7c;\n  undefined1 **local_78;\n  undefined **local_74;\n  undefined1 *local_70 [3];\n  undefined1 *local_64 [2];\n  undefined1 local_5c [16];\n  undefined1 *local_4c [2];\n  undefined1 local_44 [16];\n  undefined1 *local_34 [2];\n  undefined1 local_2c [24];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x12775d;\n  local_74 = &__DT_PLTGOT;\n  uVar2 = *(uint *)(*param_3 + 0x14);\n  uVar3 = *(uint *)(*param_3 + 0x20);\n  local_80 = (undefined1 *)\n             (uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18);\n  local_7c = (undefined1 *)\n             (uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18);\n  uVar2 = *(uint *)(*param_5 + 0x14);\n  local_78 = (undefined1 **)\n             (uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18);\n  local_70[0] = param_2;\n  piVar4 = (int *)FUN_003ac4d0(0x1c);\n  ppuVar9 = (undefined1 **)auStack_9c;\n  *piVar4 = param_1;\n  piVar4[4] = (int)local_7c;\n  piVar4[1] = (int)local_70[0];\n  piVar4[3] = (int)local_80;\n  piVar4[2] = (int)param_4;\n  *(undefined1 *)(piVar4 + 6) = 0;\n  piVar4[5] = (int)local_78;\n  local_78 = local_70;\n  uStack_a0 = 0x1277d3;\n  piVar5 = (int *)FUN_00110560();\n  if (*piVar5 != 0) {\n    ppuStack_a4 = local_74 + -0x601ca;\n    puStack_a8 = (undefined1 *)0x1ad6;\n                    \n    FUN_002446e0((int)local_74 + -0x182cba);\n  }\n  uStack_a0 = 0x1277e7;\n  puVar6 = (undefined4 *)FUN_00110560();\n  *puVar6 = piVar4;\n  local_78 = (undefined1 **)param_4;\n  if ((param_4 == (undefined1 *)0x0) || (*(undefined1 **)(param_1 + 0x28) <= param_4)) {\n    local_7c = *(undefined1 **)(param_1 + 4);\n    puStack_a8 = (undefined1 *)(param_1 + 0x90);\n    ppuStack_a4 = (undefined **)local_70[0];\n    local_84 = local_70[0];\n    FUN_00106d90(local_34);\n    local_80 = local_34[0];\n    uVar7 = gettext(local_74 + -0x5f8d0);\n                    \n    FUN_0023b810(uVar7,local_80,local_84,local_78,local_7c);\n    ppuVar8 = (undefined1 **)&uStack_a0;\n    ppuVar9 = (undefined1 **)&uStack_a0;\n    if (local_34[0] != local_2c) {\nLAB_00127856:\n      *(undefined1 **)((int)ppuVar8 + -0x10) = local_34[0];\n      *(undefined4 *)((int)ppuVar8 + -0x14) = 0x127862;\n      FUN_003ae080();\n      ppuVar9 = ppuVar8;\n    }\n  }\n  else {\n    uStack_a0 = 0x12789a;\n    piVar5 = (int *)FUN_00110560();\n    if (*piVar5 == 0) {\n      uStack_a0 = 0x127afa;\n      puVar6 = (undefined4 *)FUN_00110560();\n      *puVar6 = piVar4;\n      goto LAB_00127869;\n    }\n    puVar1 = (undefined1 *)(param_1 + 0x90);\n    uStack_a0 = 0x1278b4;\n    piVar5 = (int *)FUN_00110560();\n    local_88 = *(undefined4 *)(param_1 + 4);\n    local_80 = *(undefined1 **)(*piVar5 + 4);\n    ppuStack_a4 = (undefined **)param_4;\n    local_78 = (undefined1 **)param_4;\n    puStack_a8 = puVar1;\n    FUN_00106d90(local_34);\n    local_84 = local_34[0];\n    puStack_a8 = local_80;\n                    \n    FUN_00106d90(local_4c,puVar1);\n    local_8c = local_4c[0];\n    local_7c = local_70[0];\n                    \n    FUN_00106d90(local_64,puVar1,local_70[0]);\n    local_90 = local_64[0];\n    uVar7 = gettext(local_74 + -0x5f8c2);\n                    \n    FUN_0023b810(uVar7,local_90,local_7c,local_8c,local_80,local_84,local_78,local_88);\n    if (local_64[0] != local_5c) {\n      FUN_003ae080(local_64[0]);\n    }\n    if (local_4c[0] != local_44) {\n      FUN_003ae080(local_4c[0]);\n    }\n    ppuVar8 = &puStack_a8;\n    ppuVar9 = &puStack_a8;\n    if (local_34[0] != local_2c) goto LAB_00127856;\n  }\n  *(undefined1 *)(piVar4 + 6) = 1;\nLAB_00127869:\n  if ((*(uint *)(*param_5 + 8) >> 0x18 & 2) == 0) {\n    local_80 = *(undefined1 **)(param_1 + 4);\n    *(undefined1 **)((int)ppuVar9 + -8) = param_4;\n    *(int *)((int)ppuVar9 + -0xc) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x10) = local_34;\n    local_78 = (undefined1 **)param_4;\n    *(undefined4 *)((int)ppuVar9 + -0x14) = 0x127a68;\n    FUN_00106d90();\n    puVar1 = local_70[0];\n    local_7c = local_34[0];\n    *(undefined1 **)((int)ppuVar9 + -0xc) = local_70[0];\n    *(int *)((int)ppuVar9 + -0x10) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x14) = local_4c;\n                    \n    *(undefined4 *)((int)ppuVar9 + -0x18) = 0x127a7e;\n    FUN_00106d90();\n    local_84 = local_4c[0];\n    *(undefined ***)((int)ppuVar9 + -0x18) = local_74 + -0x5f8b0;\n    *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a95;\n    uVar7 = gettext();\n    *(undefined1 **)((int)ppuVar9 + -0x14) = local_80;\n    *(undefined1 ***)((int)ppuVar9 + -0x18) = local_78;\n    *(undefined1 **)((int)ppuVar9 + -0x1c) = local_7c;\n    *(undefined1 **)((int)ppuVar9 + -0x20) = puVar1;\n    *(undefined1 **)((int)ppuVar9 + -0x24) = local_84;\n    *(undefined4 *)((int)ppuVar9 + -0x28) = uVar7;\n                    \n    *(undefined4 *)((int)ppuVar9 + -0x2c) = 0x127ab0;\n    FUN_0023b810();\n    if (local_4c[0] != local_44) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127ac6;\n      FUN_003ae080();\n    }\n    if (local_34[0] != local_2c) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127adf;\n      FUN_003ae080();\n    }\n    *(undefined1 *)(piVar4 + 6) = 1;\n    return;\n  }\n  if ((*(uint *)(*param_5 + 8) & 0x4000000) == 0) {\n    local_7c = *(undefined1 **)(param_1 + 4);\n    *(undefined1 **)((int)ppuVar9 + -8) = param_4;\n    *(int *)((int)ppuVar9 + -0xc) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x10) = local_34;\n    *(undefined4 *)((int)ppuVar9 + -0x14) = 0x1279bd;\n    FUN_00106d90();\n    puVar1 = local_70[0];\n    local_78 = (undefined1 **)local_34[0];\n    *(undefined1 **)((int)ppuVar9 + -0xc) = local_70[0];\n    *(int *)((int)ppuVar9 + -0x10) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x14) = local_4c;\n                    \n    *(undefined4 *)((int)ppuVar9 + -0x18) = 0x1279d3;\n    FUN_00106d90();\n    local_80 = local_4c[0];\n    *(undefined ***)((int)ppuVar9 + -0x18) = local_74 + -0x5f89f;\n    *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x1279ea;\n    uVar7 = gettext();\n    *(undefined1 **)((int)ppuVar9 + -0x14) = local_7c;\n    *(undefined1 **)((int)ppuVar9 + -0x18) = param_4;\n    *(undefined1 ***)((int)ppuVar9 + -0x1c) = local_78;\n    *(undefined1 **)((int)ppuVar9 + -0x20) = puVar1;\n    *(undefined1 **)((int)ppuVar9 + -0x24) = local_80;\n    *(undefined4 *)((int)ppuVar9 + -0x28) = uVar7;\n                    \n    *(undefined4 *)((int)ppuVar9 + -0x2c) = 0x127a03;\n    FUN_0023b840();\n    if (local_4c[0] != local_44) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a19;\n      FUN_003ae080();\n    }\n    if (local_34[0] != local_2c) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a36;\n      FUN_003ae080();\n      return;\n    }\n  }\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_00127750(int param_1,undefined1 *param_2,int *param_3,undefined1 *param_4,int *param_5)" identifier (parameter_list "(int param_1,undefined1 *param_2,int *param_3,undefined1 *param_4,int *param_5)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined1 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "undefined1 *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "int *param_5" primitive_type (pointer_declarator "*param_5" * identifier)) ))) (compound_statement "{\n  undefined1 *puVar1;\n  uint uVar2;\n  uint uVar3;\n  int *piVar4;\n  int *piVar5;\n  undefined4 *puVar6;\n  undefined4 uVar7;\n  undefined1 **ppuVar8;\n  undefined1 **ppuVar9;\n  undefined1 *puStack_a8;\n  undefined **ppuStack_a4;\n  undefined4 uStack_a0;\n  undefined1 auStack_9c [12];\n  undefined1 *local_90;\n  undefined1 *local_8c;\n  undefined4 local_88;\n  undefined1 *local_84;\n  undefined1 *local_80;\n  undefined1 *local_7c;\n  undefined1 **local_78;\n  undefined **local_74;\n  undefined1 *local_70 [3];\n  undefined1 *local_64 [2];\n  undefined1 local_5c [16];\n  undefined1 *local_4c [2];\n  undefined1 local_44 [16];\n  undefined1 *local_34 [2];\n  undefined1 local_2c [24];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x12775d;\n  local_74 = &__DT_PLTGOT;\n  uVar2 = *(uint *)(*param_3 + 0x14);\n  uVar3 = *(uint *)(*param_3 + 0x20);\n  local_80 = (undefined1 *)\n             (uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18);\n  local_7c = (undefined1 *)\n             (uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18);\n  uVar2 = *(uint *)(*param_5 + 0x14);\n  local_78 = (undefined1 **)\n             (uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18);\n  local_70[0] = param_2;\n  piVar4 = (int *)FUN_003ac4d0(0x1c);\n  ppuVar9 = (undefined1 **)auStack_9c;\n  *piVar4 = param_1;\n  piVar4[4] = (int)local_7c;\n  piVar4[1] = (int)local_70[0];\n  piVar4[3] = (int)local_80;\n  piVar4[2] = (int)param_4;\n  *(undefined1 *)(piVar4 + 6) = 0;\n  piVar4[5] = (int)local_78;\n  local_78 = local_70;\n  uStack_a0 = 0x1277d3;\n  piVar5 = (int *)FUN_00110560();\n  if (*piVar5 != 0) {\n    ppuStack_a4 = local_74 + -0x601ca;\n    puStack_a8 = (undefined1 *)0x1ad6;\n                    \n    FUN_002446e0((int)local_74 + -0x182cba);\n  }\n  uStack_a0 = 0x1277e7;\n  puVar6 = (undefined4 *)FUN_00110560();\n  *puVar6 = piVar4;\n  local_78 = (undefined1 **)param_4;\n  if ((param_4 == (undefined1 *)0x0) || (*(undefined1 **)(param_1 + 0x28) <= param_4)) {\n    local_7c = *(undefined1 **)(param_1 + 4);\n    puStack_a8 = (undefined1 *)(param_1 + 0x90);\n    ppuStack_a4 = (undefined **)local_70[0];\n    local_84 = local_70[0];\n    FUN_00106d90(local_34);\n    local_80 = local_34[0];\n    uVar7 = gettext(local_74 + -0x5f8d0);\n                    \n    FUN_0023b810(uVar7,local_80,local_84,local_78,local_7c);\n    ppuVar8 = (undefined1 **)&uStack_a0;\n    ppuVar9 = (undefined1 **)&uStack_a0;\n    if (local_34[0] != local_2c) {\nLAB_00127856:\n      *(undefined1 **)((int)ppuVar8 + -0x10) = local_34[0];\n      *(undefined4 *)((int)ppuVar8 + -0x14) = 0x127862;\n      FUN_003ae080();\n      ppuVar9 = ppuVar8;\n    }\n  }\n  else {\n    uStack_a0 = 0x12789a;\n    piVar5 = (int *)FUN_00110560();\n    if (*piVar5 == 0) {\n      uStack_a0 = 0x127afa;\n      puVar6 = (undefined4 *)FUN_00110560();\n      *puVar6 = piVar4;\n      goto LAB_00127869;\n    }\n    puVar1 = (undefined1 *)(param_1 + 0x90);\n    uStack_a0 = 0x1278b4;\n    piVar5 = (int *)FUN_00110560();\n    local_88 = *(undefined4 *)(param_1 + 4);\n    local_80 = *(undefined1 **)(*piVar5 + 4);\n    ppuStack_a4 = (undefined **)param_4;\n    local_78 = (undefined1 **)param_4;\n    puStack_a8 = puVar1;\n    FUN_00106d90(local_34);\n    local_84 = local_34[0];\n    puStack_a8 = local_80;\n                    \n    FUN_00106d90(local_4c,puVar1);\n    local_8c = local_4c[0];\n    local_7c = local_70[0];\n                    \n    FUN_00106d90(local_64,puVar1,local_70[0]);\n    local_90 = local_64[0];\n    uVar7 = gettext(local_74 + -0x5f8c2);\n                    \n    FUN_0023b810(uVar7,local_90,local_7c,local_8c,local_80,local_84,local_78,local_88);\n    if (local_64[0] != local_5c) {\n      FUN_003ae080(local_64[0]);\n    }\n    if (local_4c[0] != local_44) {\n      FUN_003ae080(local_4c[0]);\n    }\n    ppuVar8 = &puStack_a8;\n    ppuVar9 = &puStack_a8;\n    if (local_34[0] != local_2c) goto LAB_00127856;\n  }\n  *(undefined1 *)(piVar4 + 6) = 1;\nLAB_00127869:\n  if ((*(uint *)(*param_5 + 8) >> 0x18 & 2) == 0) {\n    local_80 = *(undefined1 **)(param_1 + 4);\n    *(undefined1 **)((int)ppuVar9 + -8) = param_4;\n    *(int *)((int)ppuVar9 + -0xc) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x10) = local_34;\n    local_78 = (undefined1 **)param_4;\n    *(undefined4 *)((int)ppuVar9 + -0x14) = 0x127a68;\n    FUN_00106d90();\n    puVar1 = local_70[0];\n    local_7c = local_34[0];\n    *(undefined1 **)((int)ppuVar9 + -0xc) = local_70[0];\n    *(int *)((int)ppuVar9 + -0x10) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x14) = local_4c;\n                    \n    *(undefined4 *)((int)ppuVar9 + -0x18) = 0x127a7e;\n    FUN_00106d90();\n    local_84 = local_4c[0];\n    *(undefined ***)((int)ppuVar9 + -0x18) = local_74 + -0x5f8b0;\n    *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a95;\n    uVar7 = gettext();\n    *(undefined1 **)((int)ppuVar9 + -0x14) = local_80;\n    *(undefined1 ***)((int)ppuVar9 + -0x18) = local_78;\n    *(undefined1 **)((int)ppuVar9 + -0x1c) = local_7c;\n    *(undefined1 **)((int)ppuVar9 + -0x20) = puVar1;\n    *(undefined1 **)((int)ppuVar9 + -0x24) = local_84;\n    *(undefined4 *)((int)ppuVar9 + -0x28) = uVar7;\n                    \n    *(undefined4 *)((int)ppuVar9 + -0x2c) = 0x127ab0;\n    FUN_0023b810();\n    if (local_4c[0] != local_44) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127ac6;\n      FUN_003ae080();\n    }\n    if (local_34[0] != local_2c) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127adf;\n      FUN_003ae080();\n    }\n    *(undefined1 *)(piVar4 + 6) = 1;\n    return;\n  }\n  if ((*(uint *)(*param_5 + 8) & 0x4000000) == 0) {\n    local_7c = *(undefined1 **)(param_1 + 4);\n    *(undefined1 **)((int)ppuVar9 + -8) = param_4;\n    *(int *)((int)ppuVar9 + -0xc) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x10) = local_34;\n    *(undefined4 *)((int)ppuVar9 + -0x14) = 0x1279bd;\n    FUN_00106d90();\n    puVar1 = local_70[0];\n    local_78 = (undefined1 **)local_34[0];\n    *(undefined1 **)((int)ppuVar9 + -0xc) = local_70[0];\n    *(int *)((int)ppuVar9 + -0x10) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x14) = local_4c;\n                    \n    *(undefined4 *)((int)ppuVar9 + -0x18) = 0x1279d3;\n    FUN_00106d90();\n    local_80 = local_4c[0];\n    *(undefined ***)((int)ppuVar9 + -0x18) = local_74 + -0x5f89f;\n    *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x1279ea;\n    uVar7 = gettext();\n    *(undefined1 **)((int)ppuVar9 + -0x14) = local_7c;\n    *(undefined1 **)((int)ppuVar9 + -0x18) = param_4;\n    *(undefined1 ***)((int)ppuVar9 + -0x1c) = local_78;\n    *(undefined1 **)((int)ppuVar9 + -0x20) = puVar1;\n    *(undefined1 **)((int)ppuVar9 + -0x24) = local_80;\n    *(undefined4 *)((int)ppuVar9 + -0x28) = uVar7;\n                    \n    *(undefined4 *)((int)ppuVar9 + -0x2c) = 0x127a03;\n    FUN_0023b840();\n    if (local_4c[0] != local_44) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a19;\n      FUN_003ae080();\n    }\n    if (local_34[0] != local_2c) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a36;\n      FUN_003ae080();\n      return;\n    }\n  }\n  return;\n}" { (declaration "undefined1 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "undefined1 **ppuVar8;" type_identifier (pointer_declarator "**ppuVar8" * (pointer_declarator "*ppuVar8" * identifier)) ;) (declaration "undefined1 **ppuVar9;" type_identifier (pointer_declarator "**ppuVar9" * (pointer_declarator "*ppuVar9" * identifier)) ;) (declaration "undefined1 *puStack_a8;" type_identifier (pointer_declarator "*puStack_a8" * identifier) ;) (declaration "undefined **ppuStack_a4;" type_identifier (pointer_declarator "**ppuStack_a4" * (pointer_declarator "*ppuStack_a4" * identifier)) ;) (declaration "undefined4 uStack_a0;" type_identifier identifier ;) (declaration "undefined1 auStack_9c [12];" type_identifier (array_declarator "auStack_9c [12]" identifier [ number_literal ]) ;) (declaration "undefined1 *local_90;" type_identifier (pointer_declarator "*local_90" * identifier) ;) (declaration "undefined1 *local_8c;" type_identifier (pointer_declarator "*local_8c" * identifier) ;) (declaration "undefined4 local_88;" type_identifier identifier ;) (declaration "undefined1 *local_84;" type_identifier (pointer_declarator "*local_84" * identifier) ;) (declaration "undefined1 *local_80;" type_identifier (pointer_declarator "*local_80" * identifier) ;) (declaration "undefined1 *local_7c;" type_identifier (pointer_declarator "*local_7c" * identifier) ;) (declaration "undefined1 **local_78;" type_identifier (pointer_declarator "**local_78" * (pointer_declarator "*local_78" * identifier)) ;) (declaration "undefined **local_74;" type_identifier (pointer_declarator "**local_74" * (pointer_declarator "*local_74" * identifier)) ;) (declaration "undefined1 *local_70 [3];" type_identifier (pointer_declarator "*local_70 [3]" * (array_declarator "local_70 [3]" identifier [ number_literal ])) ;) (declaration "undefined1 *local_64 [2];" type_identifier (pointer_declarator "*local_64 [2]" * (array_declarator "local_64 [2]" identifier [ number_literal ])) ;) (declaration "undefined1 local_5c [16];" type_identifier (array_declarator "local_5c [16]" identifier [ number_literal ]) ;) (declaration "undefined1 *local_4c [2];" type_identifier (pointer_declarator "*local_4c [2]" * (array_declarator "local_4c [2]" identifier [ number_literal ])) ;) (declaration "undefined1 local_44 [16];" type_identifier (array_declarator "local_44 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 *local_34 [2];" type_identifier (pointer_declarator "*local_34 [2]" * (array_declarator "local_34 [2]" identifier [ number_literal ])) ;) (declaration "undefined1 local_2c [24];" type_identifier (array_declarator "local_2c [24]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x12775d;" (assignment_expression "uStack_14 = 0x12775d" identifier = number_literal) ;) (expression_statement "local_74 = &__DT_PLTGOT;" (assignment_expression "local_74 = &__DT_PLTGOT" identifier = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (expression_statement "uVar2 = *(uint *)(*param_3 + 0x14);" (assignment_expression "uVar2 = *(uint *)(*param_3 + 0x14)" identifier = (pointer_expression "*(uint *)(*param_3 + 0x14)" * (cast_expression "(uint *)(*param_3 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_3 + 0x14)" ( (binary_expression "*param_3 + 0x14" (pointer_expression "*param_3" * identifier) + number_literal) ))))) ;) (expression_statement "uVar3 = *(uint *)(*param_3 + 0x20);" (assignment_expression "uVar3 = *(uint *)(*param_3 + 0x20)" identifier = (pointer_expression "*(uint *)(*param_3 + 0x20)" * (cast_expression "(uint *)(*param_3 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_3 + 0x20)" ( (binary_expression "*param_3 + 0x20" (pointer_expression "*param_3" * identifier) + number_literal) ))))) ;) (expression_statement "local_80 = (undefined1 *)\n             (uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18);" (assignment_expression "local_80 = (undefined1 *)\n             (uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18)" identifier = (cast_expression "(undefined1 *)\n             (uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18)" ( (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8" (binary_expression "uVar2 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar2 & 0xff0000) >> 8" (parenthesized_expression "(uVar2 & 0xff0000)" ( (binary_expression "uVar2 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff00) << 8" (parenthesized_expression "(uVar2 & 0xff00)" ( (binary_expression "uVar2 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar2 << 0x18" identifier << number_literal)) )))) ;) (expression_statement "local_7c = (undefined1 *)\n             (uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18);" (assignment_expression "local_7c = (undefined1 *)\n             (uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18)" identifier = (cast_expression "(undefined1 *)\n             (uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18)" ( (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18" (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8" (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8" (binary_expression "uVar3 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar3 & 0xff0000) >> 8" (parenthesized_expression "(uVar3 & 0xff0000)" ( (binary_expression "uVar3 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar3 & 0xff00) << 8" (parenthesized_expression "(uVar3 & 0xff00)" ( (binary_expression "uVar3 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar3 << 0x18" identifier << number_literal)) )))) ;) (expression_statement "uVar2 = *(uint *)(*param_5 + 0x14);" (assignment_expression "uVar2 = *(uint *)(*param_5 + 0x14)" identifier = (pointer_expression "*(uint *)(*param_5 + 0x14)" * (cast_expression "(uint *)(*param_5 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_5 + 0x14)" ( (binary_expression "*param_5 + 0x14" (pointer_expression "*param_5" * identifier) + number_literal) ))))) ;) (expression_statement "local_78 = (undefined1 **)\n             (uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18);" (assignment_expression "local_78 = (undefined1 **)\n             (uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18)" identifier = (cast_expression "(undefined1 **)\n             (uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18)" ( (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8" (binary_expression "uVar2 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar2 & 0xff0000) >> 8" (parenthesized_expression "(uVar2 & 0xff0000)" ( (binary_expression "uVar2 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff00) << 8" (parenthesized_expression "(uVar2 & 0xff00)" ( (binary_expression "uVar2 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar2 << 0x18" identifier << number_literal)) )))) ;) (expression_statement "local_70[0] = param_2;" (assignment_expression "local_70[0] = param_2" (subscript_expression "local_70[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar4 = (int *)FUN_003ac4d0(0x1c);" (assignment_expression "piVar4 = (int *)FUN_003ac4d0(0x1c)" identifier = (cast_expression "(int *)FUN_003ac4d0(0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_003ac4d0(0x1c)" identifier (argument_list "(0x1c)" ( number_literal ))))) ;) (expression_statement "ppuVar9 = (undefined1 **)auStack_9c;" (assignment_expression "ppuVar9 = (undefined1 **)auStack_9c" identifier = (cast_expression "(undefined1 **)auStack_9c" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "*piVar4 = param_1;" (assignment_expression "*piVar4 = param_1" (pointer_expression "*piVar4" * identifier) = identifier) ;) (expression_statement "piVar4[4] = (int)local_7c;" (assignment_expression "piVar4[4] = (int)local_7c" (subscript_expression "piVar4[4]" identifier [ number_literal ]) = (cast_expression "(int)local_7c" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar4[1] = (int)local_70[0];" (assignment_expression "piVar4[1] = (int)local_70[0]" (subscript_expression "piVar4[1]" identifier [ number_literal ]) = (cast_expression "(int)local_70[0]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_70[0]" identifier [ number_literal ]))) ;) (expression_statement "piVar4[3] = (int)local_80;" (assignment_expression "piVar4[3] = (int)local_80" (subscript_expression "piVar4[3]" identifier [ number_literal ]) = (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar4[2] = (int)param_4;" (assignment_expression "piVar4[2] = (int)param_4" (subscript_expression "piVar4[2]" identifier [ number_literal ]) = (cast_expression "(int)param_4" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*(undefined1 *)(piVar4 + 6) = 0;" (assignment_expression "*(undefined1 *)(piVar4 + 6) = 0" (pointer_expression "*(undefined1 *)(piVar4 + 6)" * (cast_expression "(undefined1 *)(piVar4 + 6)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 6)" ( (binary_expression "piVar4 + 6" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar4[5] = (int)local_78;" (assignment_expression "piVar4[5] = (int)local_78" (subscript_expression "piVar4[5]" identifier [ number_literal ]) = (cast_expression "(int)local_78" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "local_78 = local_70;" (assignment_expression "local_78 = local_70" identifier = identifier) ;) (expression_statement "uStack_a0 = 0x1277d3;" (assignment_expression "uStack_a0 = 0x1277d3" identifier = number_literal) ;) (expression_statement "piVar5 = (int *)FUN_00110560();" (assignment_expression "piVar5 = (int *)FUN_00110560()" identifier = (cast_expression "(int *)FUN_00110560()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00110560()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (*piVar5 != 0) {\n    ppuStack_a4 = local_74 + -0x601ca;\n    puStack_a8 = (undefined1 *)0x1ad6;\n                    \n    FUN_002446e0((int)local_74 + -0x182cba);\n  }" if (parenthesized_expression "(*piVar5 != 0)" ( (binary_expression "*piVar5 != 0" (pointer_expression "*piVar5" * identifier) != number_literal) )) (compound_statement "{\n    ppuStack_a4 = local_74 + -0x601ca;\n    puStack_a8 = (undefined1 *)0x1ad6;\n                    \n    FUN_002446e0((int)local_74 + -0x182cba);\n  }" { (expression_statement "ppuStack_a4 = local_74 + -0x601ca;" (assignment_expression "ppuStack_a4 = local_74 + -0x601ca" identifier = (binary_expression "local_74 + -0x601ca" identifier + number_literal)) ;) (expression_statement "puStack_a8 = (undefined1 *)0x1ad6;" (assignment_expression "puStack_a8 = (undefined1 *)0x1ad6" identifier = (cast_expression "(undefined1 *)0x1ad6" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_002446e0((int)local_74 + -0x182cba);" (call_expression "FUN_002446e0((int)local_74 + -0x182cba)" identifier (argument_list "((int)local_74 + -0x182cba)" ( (binary_expression "(int)local_74 + -0x182cba" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) ;) })) (expression_statement "uStack_a0 = 0x1277e7;" (assignment_expression "uStack_a0 = 0x1277e7" identifier = number_literal) ;) (expression_statement "puVar6 = (undefined4 *)FUN_00110560();" (assignment_expression "puVar6 = (undefined4 *)FUN_00110560()" identifier = (cast_expression "(undefined4 *)FUN_00110560()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00110560()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*puVar6 = piVar4;" (assignment_expression "*puVar6 = piVar4" (pointer_expression "*puVar6" * identifier) = identifier) ;) (expression_statement "local_78 = (undefined1 **)param_4;" (assignment_expression "local_78 = (undefined1 **)param_4" identifier = (cast_expression "(undefined1 **)param_4" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (if_statement "if ((param_4 == (undefined1 *)0x0) || (*(undefined1 **)(param_1 + 0x28) <= param_4)) {\n    local_7c = *(undefined1 **)(param_1 + 4);\n    puStack_a8 = (undefined1 *)(param_1 + 0x90);\n    ppuStack_a4 = (undefined **)local_70[0];\n    local_84 = local_70[0];\n    FUN_00106d90(local_34);\n    local_80 = local_34[0];\n    uVar7 = gettext(local_74 + -0x5f8d0);\n                    \n    FUN_0023b810(uVar7,local_80,local_84,local_78,local_7c);\n    ppuVar8 = (undefined1 **)&uStack_a0;\n    ppuVar9 = (undefined1 **)&uStack_a0;\n    if (local_34[0] != local_2c) {\nLAB_00127856:\n      *(undefined1 **)((int)ppuVar8 + -0x10) = local_34[0];\n      *(undefined4 *)((int)ppuVar8 + -0x14) = 0x127862;\n      FUN_003ae080();\n      ppuVar9 = ppuVar8;\n    }\n  }\n  else {\n    uStack_a0 = 0x12789a;\n    piVar5 = (int *)FUN_00110560();\n    if (*piVar5 == 0) {\n      uStack_a0 = 0x127afa;\n      puVar6 = (undefined4 *)FUN_00110560();\n      *puVar6 = piVar4;\n      goto LAB_00127869;\n    }\n    puVar1 = (undefined1 *)(param_1 + 0x90);\n    uStack_a0 = 0x1278b4;\n    piVar5 = (int *)FUN_00110560();\n    local_88 = *(undefined4 *)(param_1 + 4);\n    local_80 = *(undefined1 **)(*piVar5 + 4);\n    ppuStack_a4 = (undefined **)param_4;\n    local_78 = (undefined1 **)param_4;\n    puStack_a8 = puVar1;\n    FUN_00106d90(local_34);\n    local_84 = local_34[0];\n    puStack_a8 = local_80;\n                    \n    FUN_00106d90(local_4c,puVar1);\n    local_8c = local_4c[0];\n    local_7c = local_70[0];\n                    \n    FUN_00106d90(local_64,puVar1,local_70[0]);\n    local_90 = local_64[0];\n    uVar7 = gettext(local_74 + -0x5f8c2);\n                    \n    FUN_0023b810(uVar7,local_90,local_7c,local_8c,local_80,local_84,local_78,local_88);\n    if (local_64[0] != local_5c) {\n      FUN_003ae080(local_64[0]);\n    }\n    if (local_4c[0] != local_44) {\n      FUN_003ae080(local_4c[0]);\n    }\n    ppuVar8 = &puStack_a8;\n    ppuVar9 = &puStack_a8;\n    if (local_34[0] != local_2c) goto LAB_00127856;\n  }" if (parenthesized_expression "((param_4 == (undefined1 *)0x0) || (*(undefined1 **)(param_1 + 0x28) <= param_4))" ( (binary_expression "(param_4 == (undefined1 *)0x0) || (*(undefined1 **)(param_1 + 0x28) <= param_4)" (parenthesized_expression "(param_4 == (undefined1 *)0x0)" ( (binary_expression "param_4 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(*(undefined1 **)(param_1 + 0x28) <= param_4)" ( (binary_expression "*(undefined1 **)(param_1 + 0x28) <= param_4" (pointer_expression "*(undefined1 **)(param_1 + 0x28)" * (cast_expression "(undefined1 **)(param_1 + 0x28)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) <= identifier) ))) )) (compound_statement "{\n    local_7c = *(undefined1 **)(param_1 + 4);\n    puStack_a8 = (undefined1 *)(param_1 + 0x90);\n    ppuStack_a4 = (undefined **)local_70[0];\n    local_84 = local_70[0];\n    FUN_00106d90(local_34);\n    local_80 = local_34[0];\n    uVar7 = gettext(local_74 + -0x5f8d0);\n                    \n    FUN_0023b810(uVar7,local_80,local_84,local_78,local_7c);\n    ppuVar8 = (undefined1 **)&uStack_a0;\n    ppuVar9 = (undefined1 **)&uStack_a0;\n    if (local_34[0] != local_2c) {\nLAB_00127856:\n      *(undefined1 **)((int)ppuVar8 + -0x10) = local_34[0];\n      *(undefined4 *)((int)ppuVar8 + -0x14) = 0x127862;\n      FUN_003ae080();\n      ppuVar9 = ppuVar8;\n    }\n  }" { (expression_statement "local_7c = *(undefined1 **)(param_1 + 4);" (assignment_expression "local_7c = *(undefined1 **)(param_1 + 4)" identifier = (pointer_expression "*(undefined1 **)(param_1 + 4)" * (cast_expression "(undefined1 **)(param_1 + 4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "puStack_a8 = (undefined1 *)(param_1 + 0x90);" (assignment_expression "puStack_a8 = (undefined1 *)(param_1 + 0x90)" identifier = (cast_expression "(undefined1 *)(param_1 + 0x90)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x90)" ( (binary_expression "param_1 + 0x90" identifier + number_literal) )))) ;) (expression_statement "ppuStack_a4 = (undefined **)local_70[0];" (assignment_expression "ppuStack_a4 = (undefined **)local_70[0]" identifier = (cast_expression "(undefined **)local_70[0]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "local_70[0]" identifier [ number_literal ]))) ;) (expression_statement "local_84 = local_70[0];" (assignment_expression "local_84 = local_70[0]" identifier = (subscript_expression "local_70[0]" identifier [ number_literal ])) ;) (expression_statement "FUN_00106d90(local_34);" (call_expression "FUN_00106d90(local_34)" identifier (argument_list "(local_34)" ( identifier ))) ;) (expression_statement "local_80 = local_34[0];" (assignment_expression "local_80 = local_34[0]" identifier = (subscript_expression "local_34[0]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = gettext(local_74 + -0x5f8d0);" (assignment_expression "uVar7 = gettext(local_74 + -0x5f8d0)" identifier = (call_expression "gettext(local_74 + -0x5f8d0)" identifier (argument_list "(local_74 + -0x5f8d0)" ( (binary_expression "local_74 + -0x5f8d0" identifier + number_literal) )))) ;) (expression_statement "FUN_0023b810(uVar7,local_80,local_84,local_78,local_7c);" (call_expression "FUN_0023b810(uVar7,local_80,local_84,local_78,local_7c)" identifier (argument_list "(uVar7,local_80,local_84,local_78,local_7c)" ( identifier , identifier , identifier , identifier , identifier ))) ;) (expression_statement "ppuVar8 = (undefined1 **)&uStack_a0;" (assignment_expression "ppuVar8 = (undefined1 **)&uStack_a0" identifier = (cast_expression "(undefined1 **)&uStack_a0" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&uStack_a0" & identifier))) ;) (expression_statement "ppuVar9 = (undefined1 **)&uStack_a0;" (assignment_expression "ppuVar9 = (undefined1 **)&uStack_a0" identifier = (cast_expression "(undefined1 **)&uStack_a0" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&uStack_a0" & identifier))) ;) (if_statement "if (local_34[0] != local_2c) {\nLAB_00127856:\n      *(undefined1 **)((int)ppuVar8 + -0x10) = local_34[0];\n      *(undefined4 *)((int)ppuVar8 + -0x14) = 0x127862;\n      FUN_003ae080();\n      ppuVar9 = ppuVar8;\n    }" if (parenthesized_expression "(local_34[0] != local_2c)" ( (binary_expression "local_34[0] != local_2c" (subscript_expression "local_34[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\nLAB_00127856:\n      *(undefined1 **)((int)ppuVar8 + -0x10) = local_34[0];\n      *(undefined4 *)((int)ppuVar8 + -0x14) = 0x127862;\n      FUN_003ae080();\n      ppuVar9 = ppuVar8;\n    }" { (labeled_statement "LAB_00127856:\n      *(undefined1 **)((int)ppuVar8 + -0x10) = local_34[0];" statement_identifier : (expression_statement "*(undefined1 **)((int)ppuVar8 + -0x10) = local_34[0];" (assignment_expression "*(undefined1 **)((int)ppuVar8 + -0x10) = local_34[0]" (pointer_expression "*(undefined1 **)((int)ppuVar8 + -0x10)" * (cast_expression "(undefined1 **)((int)ppuVar8 + -0x10)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar8 + -0x10)" ( (binary_expression "(int)ppuVar8 + -0x10" (cast_expression "(int)ppuVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "local_34[0]" identifier [ number_literal ])) ;)) (expression_statement "*(undefined4 *)((int)ppuVar8 + -0x14) = 0x127862;" (assignment_expression "*(undefined4 *)((int)ppuVar8 + -0x14) = 0x127862" (pointer_expression "*(undefined4 *)((int)ppuVar8 + -0x14)" * (cast_expression "(undefined4 *)((int)ppuVar8 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar8 + -0x14)" ( (binary_expression "(int)ppuVar8 + -0x14" (cast_expression "(int)ppuVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppuVar9 = ppuVar8;" (assignment_expression "ppuVar9 = ppuVar8" identifier = identifier) ;) })) }) (else_clause "else {\n    uStack_a0 = 0x12789a;\n    piVar5 = (int *)FUN_00110560();\n    if (*piVar5 == 0) {\n      uStack_a0 = 0x127afa;\n      puVar6 = (undefined4 *)FUN_00110560();\n      *puVar6 = piVar4;\n      goto LAB_00127869;\n    }\n    puVar1 = (undefined1 *)(param_1 + 0x90);\n    uStack_a0 = 0x1278b4;\n    piVar5 = (int *)FUN_00110560();\n    local_88 = *(undefined4 *)(param_1 + 4);\n    local_80 = *(undefined1 **)(*piVar5 + 4);\n    ppuStack_a4 = (undefined **)param_4;\n    local_78 = (undefined1 **)param_4;\n    puStack_a8 = puVar1;\n    FUN_00106d90(local_34);\n    local_84 = local_34[0];\n    puStack_a8 = local_80;\n                    \n    FUN_00106d90(local_4c,puVar1);\n    local_8c = local_4c[0];\n    local_7c = local_70[0];\n                    \n    FUN_00106d90(local_64,puVar1,local_70[0]);\n    local_90 = local_64[0];\n    uVar7 = gettext(local_74 + -0x5f8c2);\n                    \n    FUN_0023b810(uVar7,local_90,local_7c,local_8c,local_80,local_84,local_78,local_88);\n    if (local_64[0] != local_5c) {\n      FUN_003ae080(local_64[0]);\n    }\n    if (local_4c[0] != local_44) {\n      FUN_003ae080(local_4c[0]);\n    }\n    ppuVar8 = &puStack_a8;\n    ppuVar9 = &puStack_a8;\n    if (local_34[0] != local_2c) goto LAB_00127856;\n  }" else (compound_statement "{\n    uStack_a0 = 0x12789a;\n    piVar5 = (int *)FUN_00110560();\n    if (*piVar5 == 0) {\n      uStack_a0 = 0x127afa;\n      puVar6 = (undefined4 *)FUN_00110560();\n      *puVar6 = piVar4;\n      goto LAB_00127869;\n    }\n    puVar1 = (undefined1 *)(param_1 + 0x90);\n    uStack_a0 = 0x1278b4;\n    piVar5 = (int *)FUN_00110560();\n    local_88 = *(undefined4 *)(param_1 + 4);\n    local_80 = *(undefined1 **)(*piVar5 + 4);\n    ppuStack_a4 = (undefined **)param_4;\n    local_78 = (undefined1 **)param_4;\n    puStack_a8 = puVar1;\n    FUN_00106d90(local_34);\n    local_84 = local_34[0];\n    puStack_a8 = local_80;\n                    \n    FUN_00106d90(local_4c,puVar1);\n    local_8c = local_4c[0];\n    local_7c = local_70[0];\n                    \n    FUN_00106d90(local_64,puVar1,local_70[0]);\n    local_90 = local_64[0];\n    uVar7 = gettext(local_74 + -0x5f8c2);\n                    \n    FUN_0023b810(uVar7,local_90,local_7c,local_8c,local_80,local_84,local_78,local_88);\n    if (local_64[0] != local_5c) {\n      FUN_003ae080(local_64[0]);\n    }\n    if (local_4c[0] != local_44) {\n      FUN_003ae080(local_4c[0]);\n    }\n    ppuVar8 = &puStack_a8;\n    ppuVar9 = &puStack_a8;\n    if (local_34[0] != local_2c) goto LAB_00127856;\n  }" { (expression_statement "uStack_a0 = 0x12789a;" (assignment_expression "uStack_a0 = 0x12789a" identifier = number_literal) ;) (expression_statement "piVar5 = (int *)FUN_00110560();" (assignment_expression "piVar5 = (int *)FUN_00110560()" identifier = (cast_expression "(int *)FUN_00110560()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00110560()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (*piVar5 == 0) {\n      uStack_a0 = 0x127afa;\n      puVar6 = (undefined4 *)FUN_00110560();\n      *puVar6 = piVar4;\n      goto LAB_00127869;\n    }" if (parenthesized_expression "(*piVar5 == 0)" ( (binary_expression "*piVar5 == 0" (pointer_expression "*piVar5" * identifier) == number_literal) )) (compound_statement "{\n      uStack_a0 = 0x127afa;\n      puVar6 = (undefined4 *)FUN_00110560();\n      *puVar6 = piVar4;\n      goto LAB_00127869;\n    }" { (expression_statement "uStack_a0 = 0x127afa;" (assignment_expression "uStack_a0 = 0x127afa" identifier = number_literal) ;) (expression_statement "puVar6 = (undefined4 *)FUN_00110560();" (assignment_expression "puVar6 = (undefined4 *)FUN_00110560()" identifier = (cast_expression "(undefined4 *)FUN_00110560()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00110560()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*puVar6 = piVar4;" (assignment_expression "*puVar6 = piVar4" (pointer_expression "*puVar6" * identifier) = identifier) ;) (goto_statement "goto LAB_00127869;" goto statement_identifier ;) })) (expression_statement "puVar1 = (undefined1 *)(param_1 + 0x90);" (assignment_expression "puVar1 = (undefined1 *)(param_1 + 0x90)" identifier = (cast_expression "(undefined1 *)(param_1 + 0x90)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x90)" ( (binary_expression "param_1 + 0x90" identifier + number_literal) )))) ;) (expression_statement "uStack_a0 = 0x1278b4;" (assignment_expression "uStack_a0 = 0x1278b4" identifier = number_literal) ;) (expression_statement "piVar5 = (int *)FUN_00110560();" (assignment_expression "piVar5 = (int *)FUN_00110560()" identifier = (cast_expression "(int *)FUN_00110560()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00110560()" identifier (argument_list "()" ( ))))) ;) (expression_statement "local_88 = *(undefined4 *)(param_1 + 4);" (assignment_expression "local_88 = *(undefined4 *)(param_1 + 4)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "local_80 = *(undefined1 **)(*piVar5 + 4);" (assignment_expression "local_80 = *(undefined1 **)(*piVar5 + 4)" identifier = (pointer_expression "*(undefined1 **)(*piVar5 + 4)" * (cast_expression "(undefined1 **)(*piVar5 + 4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar5 + 4)" ( (binary_expression "*piVar5 + 4" (pointer_expression "*piVar5" * identifier) + number_literal) ))))) ;) (expression_statement "ppuStack_a4 = (undefined **)param_4;" (assignment_expression "ppuStack_a4 = (undefined **)param_4" identifier = (cast_expression "(undefined **)param_4" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "local_78 = (undefined1 **)param_4;" (assignment_expression "local_78 = (undefined1 **)param_4" identifier = (cast_expression "(undefined1 **)param_4" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "puStack_a8 = puVar1;" (assignment_expression "puStack_a8 = puVar1" identifier = identifier) ;) (expression_statement "FUN_00106d90(local_34);" (call_expression "FUN_00106d90(local_34)" identifier (argument_list "(local_34)" ( identifier ))) ;) (expression_statement "local_84 = local_34[0];" (assignment_expression "local_84 = local_34[0]" identifier = (subscript_expression "local_34[0]" identifier [ number_literal ])) ;) (expression_statement "puStack_a8 = local_80;" (assignment_expression "puStack_a8 = local_80" identifier = identifier) ;) (expression_statement "FUN_00106d90(local_4c,puVar1);" (call_expression "FUN_00106d90(local_4c,puVar1)" identifier (argument_list "(local_4c,puVar1)" ( identifier , identifier ))) ;) (expression_statement "local_8c = local_4c[0];" (assignment_expression "local_8c = local_4c[0]" identifier = (subscript_expression "local_4c[0]" identifier [ number_literal ])) ;) (expression_statement "local_7c = local_70[0];" (assignment_expression "local_7c = local_70[0]" identifier = (subscript_expression "local_70[0]" identifier [ number_literal ])) ;) (expression_statement "FUN_00106d90(local_64,puVar1,local_70[0]);" (call_expression "FUN_00106d90(local_64,puVar1,local_70[0])" identifier (argument_list "(local_64,puVar1,local_70[0])" ( identifier , identifier , (subscript_expression "local_70[0]" identifier [ number_literal ]) ))) ;) (expression_statement "local_90 = local_64[0];" (assignment_expression "local_90 = local_64[0]" identifier = (subscript_expression "local_64[0]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = gettext(local_74 + -0x5f8c2);" (assignment_expression "uVar7 = gettext(local_74 + -0x5f8c2)" identifier = (call_expression "gettext(local_74 + -0x5f8c2)" identifier (argument_list "(local_74 + -0x5f8c2)" ( (binary_expression "local_74 + -0x5f8c2" identifier + number_literal) )))) ;) (expression_statement "FUN_0023b810(uVar7,local_90,local_7c,local_8c,local_80,local_84,local_78,local_88);" (call_expression "FUN_0023b810(uVar7,local_90,local_7c,local_8c,local_80,local_84,local_78,local_88)" identifier (argument_list "(uVar7,local_90,local_7c,local_8c,local_80,local_84,local_78,local_88)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (if_statement "if (local_64[0] != local_5c) {\n      FUN_003ae080(local_64[0]);\n    }" if (parenthesized_expression "(local_64[0] != local_5c)" ( (binary_expression "local_64[0] != local_5c" (subscript_expression "local_64[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n      FUN_003ae080(local_64[0]);\n    }" { (expression_statement "FUN_003ae080(local_64[0]);" (call_expression "FUN_003ae080(local_64[0])" identifier (argument_list "(local_64[0])" ( (subscript_expression "local_64[0]" identifier [ number_literal ]) ))) ;) })) (if_statement "if (local_4c[0] != local_44) {\n      FUN_003ae080(local_4c[0]);\n    }" if (parenthesized_expression "(local_4c[0] != local_44)" ( (binary_expression "local_4c[0] != local_44" (subscript_expression "local_4c[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n      FUN_003ae080(local_4c[0]);\n    }" { (expression_statement "FUN_003ae080(local_4c[0]);" (call_expression "FUN_003ae080(local_4c[0])" identifier (argument_list "(local_4c[0])" ( (subscript_expression "local_4c[0]" identifier [ number_literal ]) ))) ;) })) (expression_statement "ppuVar8 = &puStack_a8;" (assignment_expression "ppuVar8 = &puStack_a8" identifier = (pointer_expression "&puStack_a8" & identifier)) ;) (expression_statement "ppuVar9 = &puStack_a8;" (assignment_expression "ppuVar9 = &puStack_a8" identifier = (pointer_expression "&puStack_a8" & identifier)) ;) (if_statement "if (local_34[0] != local_2c) goto LAB_00127856;" if (parenthesized_expression "(local_34[0] != local_2c)" ( (binary_expression "local_34[0] != local_2c" (subscript_expression "local_34[0]" identifier [ number_literal ]) != identifier) )) (goto_statement "goto LAB_00127856;" goto statement_identifier ;)) }))) (expression_statement "*(undefined1 *)(piVar4 + 6) = 1;" (assignment_expression "*(undefined1 *)(piVar4 + 6) = 1" (pointer_expression "*(undefined1 *)(piVar4 + 6)" * (cast_expression "(undefined1 *)(piVar4 + 6)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 6)" ( (binary_expression "piVar4 + 6" identifier + number_literal) )))) = number_literal) ;) (labeled_statement "LAB_00127869:\n  if ((*(uint *)(*param_5 + 8) >> 0x18 & 2) == 0) {\n    local_80 = *(undefined1 **)(param_1 + 4);\n    *(undefined1 **)((int)ppuVar9 + -8) = param_4;\n    *(int *)((int)ppuVar9 + -0xc) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x10) = local_34;\n    local_78 = (undefined1 **)param_4;\n    *(undefined4 *)((int)ppuVar9 + -0x14) = 0x127a68;\n    FUN_00106d90();\n    puVar1 = local_70[0];\n    local_7c = local_34[0];\n    *(undefined1 **)((int)ppuVar9 + -0xc) = local_70[0];\n    *(int *)((int)ppuVar9 + -0x10) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x14) = local_4c;\n                    \n    *(undefined4 *)((int)ppuVar9 + -0x18) = 0x127a7e;\n    FUN_00106d90();\n    local_84 = local_4c[0];\n    *(undefined ***)((int)ppuVar9 + -0x18) = local_74 + -0x5f8b0;\n    *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a95;\n    uVar7 = gettext();\n    *(undefined1 **)((int)ppuVar9 + -0x14) = local_80;\n    *(undefined1 ***)((int)ppuVar9 + -0x18) = local_78;\n    *(undefined1 **)((int)ppuVar9 + -0x1c) = local_7c;\n    *(undefined1 **)((int)ppuVar9 + -0x20) = puVar1;\n    *(undefined1 **)((int)ppuVar9 + -0x24) = local_84;\n    *(undefined4 *)((int)ppuVar9 + -0x28) = uVar7;\n                    \n    *(undefined4 *)((int)ppuVar9 + -0x2c) = 0x127ab0;\n    FUN_0023b810();\n    if (local_4c[0] != local_44) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127ac6;\n      FUN_003ae080();\n    }\n    if (local_34[0] != local_2c) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127adf;\n      FUN_003ae080();\n    }\n    *(undefined1 *)(piVar4 + 6) = 1;\n    return;\n  }" statement_identifier : (if_statement "if ((*(uint *)(*param_5 + 8) >> 0x18 & 2) == 0) {\n    local_80 = *(undefined1 **)(param_1 + 4);\n    *(undefined1 **)((int)ppuVar9 + -8) = param_4;\n    *(int *)((int)ppuVar9 + -0xc) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x10) = local_34;\n    local_78 = (undefined1 **)param_4;\n    *(undefined4 *)((int)ppuVar9 + -0x14) = 0x127a68;\n    FUN_00106d90();\n    puVar1 = local_70[0];\n    local_7c = local_34[0];\n    *(undefined1 **)((int)ppuVar9 + -0xc) = local_70[0];\n    *(int *)((int)ppuVar9 + -0x10) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x14) = local_4c;\n                    \n    *(undefined4 *)((int)ppuVar9 + -0x18) = 0x127a7e;\n    FUN_00106d90();\n    local_84 = local_4c[0];\n    *(undefined ***)((int)ppuVar9 + -0x18) = local_74 + -0x5f8b0;\n    *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a95;\n    uVar7 = gettext();\n    *(undefined1 **)((int)ppuVar9 + -0x14) = local_80;\n    *(undefined1 ***)((int)ppuVar9 + -0x18) = local_78;\n    *(undefined1 **)((int)ppuVar9 + -0x1c) = local_7c;\n    *(undefined1 **)((int)ppuVar9 + -0x20) = puVar1;\n    *(undefined1 **)((int)ppuVar9 + -0x24) = local_84;\n    *(undefined4 *)((int)ppuVar9 + -0x28) = uVar7;\n                    \n    *(undefined4 *)((int)ppuVar9 + -0x2c) = 0x127ab0;\n    FUN_0023b810();\n    if (local_4c[0] != local_44) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127ac6;\n      FUN_003ae080();\n    }\n    if (local_34[0] != local_2c) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127adf;\n      FUN_003ae080();\n    }\n    *(undefined1 *)(piVar4 + 6) = 1;\n    return;\n  }" if (parenthesized_expression "((*(uint *)(*param_5 + 8) >> 0x18 & 2) == 0)" ( (binary_expression "(*(uint *)(*param_5 + 8) >> 0x18 & 2) == 0" (parenthesized_expression "(*(uint *)(*param_5 + 8) >> 0x18 & 2)" ( (binary_expression "*(uint *)(*param_5 + 8) >> 0x18 & 2" (binary_expression "*(uint *)(*param_5 + 8) >> 0x18" (pointer_expression "*(uint *)(*param_5 + 8)" * (cast_expression "(uint *)(*param_5 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_5 + 8)" ( (binary_expression "*param_5 + 8" (pointer_expression "*param_5" * identifier) + number_literal) )))) >> number_literal) & number_literal) )) == number_literal) )) (compound_statement "{\n    local_80 = *(undefined1 **)(param_1 + 4);\n    *(undefined1 **)((int)ppuVar9 + -8) = param_4;\n    *(int *)((int)ppuVar9 + -0xc) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x10) = local_34;\n    local_78 = (undefined1 **)param_4;\n    *(undefined4 *)((int)ppuVar9 + -0x14) = 0x127a68;\n    FUN_00106d90();\n    puVar1 = local_70[0];\n    local_7c = local_34[0];\n    *(undefined1 **)((int)ppuVar9 + -0xc) = local_70[0];\n    *(int *)((int)ppuVar9 + -0x10) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x14) = local_4c;\n                    \n    *(undefined4 *)((int)ppuVar9 + -0x18) = 0x127a7e;\n    FUN_00106d90();\n    local_84 = local_4c[0];\n    *(undefined ***)((int)ppuVar9 + -0x18) = local_74 + -0x5f8b0;\n    *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a95;\n    uVar7 = gettext();\n    *(undefined1 **)((int)ppuVar9 + -0x14) = local_80;\n    *(undefined1 ***)((int)ppuVar9 + -0x18) = local_78;\n    *(undefined1 **)((int)ppuVar9 + -0x1c) = local_7c;\n    *(undefined1 **)((int)ppuVar9 + -0x20) = puVar1;\n    *(undefined1 **)((int)ppuVar9 + -0x24) = local_84;\n    *(undefined4 *)((int)ppuVar9 + -0x28) = uVar7;\n                    \n    *(undefined4 *)((int)ppuVar9 + -0x2c) = 0x127ab0;\n    FUN_0023b810();\n    if (local_4c[0] != local_44) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127ac6;\n      FUN_003ae080();\n    }\n    if (local_34[0] != local_2c) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127adf;\n      FUN_003ae080();\n    }\n    *(undefined1 *)(piVar4 + 6) = 1;\n    return;\n  }" { (expression_statement "local_80 = *(undefined1 **)(param_1 + 4);" (assignment_expression "local_80 = *(undefined1 **)(param_1 + 4)" identifier = (pointer_expression "*(undefined1 **)(param_1 + 4)" * (cast_expression "(undefined1 **)(param_1 + 4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 **)((int)ppuVar9 + -8) = param_4;" (assignment_expression "*(undefined1 **)((int)ppuVar9 + -8) = param_4" (pointer_expression "*(undefined1 **)((int)ppuVar9 + -8)" * (cast_expression "(undefined1 **)((int)ppuVar9 + -8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar9 + -8)" ( (binary_expression "(int)ppuVar9 + -8" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)ppuVar9 + -0xc) = param_1 + 0x90;" (assignment_expression "*(int *)((int)ppuVar9 + -0xc) = param_1 + 0x90" (pointer_expression "*(int *)((int)ppuVar9 + -0xc)" * (cast_expression "(int *)((int)ppuVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar9 + -0xc)" ( (binary_expression "(int)ppuVar9 + -0xc" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "param_1 + 0x90" identifier + number_literal)) ;) (expression_statement "*(undefined1 ***)((int)ppuVar9 + -0x10) = local_34;" (assignment_expression "*(undefined1 ***)((int)ppuVar9 + -0x10) = local_34" (pointer_expression "*(undefined1 ***)((int)ppuVar9 + -0x10)" * (cast_expression "(undefined1 ***)((int)ppuVar9 + -0x10)" ( (type_descriptor "undefined1 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppuVar9 + -0x10)" ( (binary_expression "(int)ppuVar9 + -0x10" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "local_78 = (undefined1 **)param_4;" (assignment_expression "local_78 = (undefined1 **)param_4" identifier = (cast_expression "(undefined1 **)param_4" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "*(undefined4 *)((int)ppuVar9 + -0x14) = 0x127a68;" (assignment_expression "*(undefined4 *)((int)ppuVar9 + -0x14) = 0x127a68" (pointer_expression "*(undefined4 *)((int)ppuVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)ppuVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar9 + -0x14)" ( (binary_expression "(int)ppuVar9 + -0x14" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00106d90();" (call_expression "FUN_00106d90()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar1 = local_70[0];" (assignment_expression "puVar1 = local_70[0]" identifier = (subscript_expression "local_70[0]" identifier [ number_literal ])) ;) (expression_statement "local_7c = local_34[0];" (assignment_expression "local_7c = local_34[0]" identifier = (subscript_expression "local_34[0]" identifier [ number_literal ])) ;) (expression_statement "*(undefined1 **)((int)ppuVar9 + -0xc) = local_70[0];" (assignment_expression "*(undefined1 **)((int)ppuVar9 + -0xc) = local_70[0]" (pointer_expression "*(undefined1 **)((int)ppuVar9 + -0xc)" * (cast_expression "(undefined1 **)((int)ppuVar9 + -0xc)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar9 + -0xc)" ( (binary_expression "(int)ppuVar9 + -0xc" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "local_70[0]" identifier [ number_literal ])) ;) (expression_statement "*(int *)((int)ppuVar9 + -0x10) = param_1 + 0x90;" (assignment_expression "*(int *)((int)ppuVar9 + -0x10) = param_1 + 0x90" (pointer_expression "*(int *)((int)ppuVar9 + -0x10)" * (cast_expression "(int *)((int)ppuVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar9 + -0x10)" ( (binary_expression "(int)ppuVar9 + -0x10" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "param_1 + 0x90" identifier + number_literal)) ;) (expression_statement "*(undefined1 ***)((int)ppuVar9 + -0x14) = local_4c;" (assignment_expression "*(undefined1 ***)((int)ppuVar9 + -0x14) = local_4c" (pointer_expression "*(undefined1 ***)((int)ppuVar9 + -0x14)" * (cast_expression "(undefined1 ***)((int)ppuVar9 + -0x14)" ( (type_descriptor "undefined1 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppuVar9 + -0x14)" ( (binary_expression "(int)ppuVar9 + -0x14" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppuVar9 + -0x18) = 0x127a7e;" (assignment_expression "*(undefined4 *)((int)ppuVar9 + -0x18) = 0x127a7e" (pointer_expression "*(undefined4 *)((int)ppuVar9 + -0x18)" * (cast_expression "(undefined4 *)((int)ppuVar9 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar9 + -0x18)" ( (binary_expression "(int)ppuVar9 + -0x18" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00106d90();" (call_expression "FUN_00106d90()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_84 = local_4c[0];" (assignment_expression "local_84 = local_4c[0]" identifier = (subscript_expression "local_4c[0]" identifier [ number_literal ])) ;) (expression_statement "*(undefined ***)((int)ppuVar9 + -0x18) = local_74 + -0x5f8b0;" (assignment_expression "*(undefined ***)((int)ppuVar9 + -0x18) = local_74 + -0x5f8b0" (pointer_expression "*(undefined ***)((int)ppuVar9 + -0x18)" * (cast_expression "(undefined ***)((int)ppuVar9 + -0x18)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppuVar9 + -0x18)" ( (binary_expression "(int)ppuVar9 + -0x18" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_74 + -0x5f8b0" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a95;" (assignment_expression "*(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a95" (pointer_expression "*(undefined4 *)((int)ppuVar9 + -0x1c)" * (cast_expression "(undefined4 *)((int)ppuVar9 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar9 + -0x1c)" ( (binary_expression "(int)ppuVar9 + -0x1c" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar7 = gettext();" (assignment_expression "uVar7 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined1 **)((int)ppuVar9 + -0x14) = local_80;" (assignment_expression "*(undefined1 **)((int)ppuVar9 + -0x14) = local_80" (pointer_expression "*(undefined1 **)((int)ppuVar9 + -0x14)" * (cast_expression "(undefined1 **)((int)ppuVar9 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar9 + -0x14)" ( (binary_expression "(int)ppuVar9 + -0x14" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 ***)((int)ppuVar9 + -0x18) = local_78;" (assignment_expression "*(undefined1 ***)((int)ppuVar9 + -0x18) = local_78" (pointer_expression "*(undefined1 ***)((int)ppuVar9 + -0x18)" * (cast_expression "(undefined1 ***)((int)ppuVar9 + -0x18)" ( (type_descriptor "undefined1 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppuVar9 + -0x18)" ( (binary_expression "(int)ppuVar9 + -0x18" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)((int)ppuVar9 + -0x1c) = local_7c;" (assignment_expression "*(undefined1 **)((int)ppuVar9 + -0x1c) = local_7c" (pointer_expression "*(undefined1 **)((int)ppuVar9 + -0x1c)" * (cast_expression "(undefined1 **)((int)ppuVar9 + -0x1c)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar9 + -0x1c)" ( (binary_expression "(int)ppuVar9 + -0x1c" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)((int)ppuVar9 + -0x20) = puVar1;" (assignment_expression "*(undefined1 **)((int)ppuVar9 + -0x20) = puVar1" (pointer_expression "*(undefined1 **)((int)ppuVar9 + -0x20)" * (cast_expression "(undefined1 **)((int)ppuVar9 + -0x20)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar9 + -0x20)" ( (binary_expression "(int)ppuVar9 + -0x20" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)((int)ppuVar9 + -0x24) = local_84;" (assignment_expression "*(undefined1 **)((int)ppuVar9 + -0x24) = local_84" (pointer_expression "*(undefined1 **)((int)ppuVar9 + -0x24)" * (cast_expression "(undefined1 **)((int)ppuVar9 + -0x24)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar9 + -0x24)" ( (binary_expression "(int)ppuVar9 + -0x24" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppuVar9 + -0x28) = uVar7;" (assignment_expression "*(undefined4 *)((int)ppuVar9 + -0x28) = uVar7" (pointer_expression "*(undefined4 *)((int)ppuVar9 + -0x28)" * (cast_expression "(undefined4 *)((int)ppuVar9 + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar9 + -0x28)" ( (binary_expression "(int)ppuVar9 + -0x28" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppuVar9 + -0x2c) = 0x127ab0;" (assignment_expression "*(undefined4 *)((int)ppuVar9 + -0x2c) = 0x127ab0" (pointer_expression "*(undefined4 *)((int)ppuVar9 + -0x2c)" * (cast_expression "(undefined4 *)((int)ppuVar9 + -0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar9 + -0x2c)" ( (binary_expression "(int)ppuVar9 + -0x2c" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b810();" (call_expression "FUN_0023b810()" identifier (argument_list "()" ( ))) ;) (if_statement "if (local_4c[0] != local_44) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127ac6;\n      FUN_003ae080();\n    }" if (parenthesized_expression "(local_4c[0] != local_44)" ( (binary_expression "local_4c[0] != local_44" (subscript_expression "local_4c[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127ac6;\n      FUN_003ae080();\n    }" { (expression_statement "*(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0];" (assignment_expression "*(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0]" (pointer_expression "*(undefined1 **)((int)ppuVar9 + -0x18)" * (cast_expression "(undefined1 **)((int)ppuVar9 + -0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar9 + -0x18)" ( (binary_expression "(int)ppuVar9 + -0x18" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "local_4c[0]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127ac6;" (assignment_expression "*(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127ac6" (pointer_expression "*(undefined4 *)((int)ppuVar9 + -0x1c)" * (cast_expression "(undefined4 *)((int)ppuVar9 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar9 + -0x1c)" ( (binary_expression "(int)ppuVar9 + -0x1c" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_34[0] != local_2c) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127adf;\n      FUN_003ae080();\n    }" if (parenthesized_expression "(local_34[0] != local_2c)" ( (binary_expression "local_34[0] != local_2c" (subscript_expression "local_34[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127adf;\n      FUN_003ae080();\n    }" { (expression_statement "*(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0];" (assignment_expression "*(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0]" (pointer_expression "*(undefined1 **)((int)ppuVar9 + -0x18)" * (cast_expression "(undefined1 **)((int)ppuVar9 + -0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar9 + -0x18)" ( (binary_expression "(int)ppuVar9 + -0x18" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "local_34[0]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127adf;" (assignment_expression "*(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127adf" (pointer_expression "*(undefined4 *)((int)ppuVar9 + -0x1c)" * (cast_expression "(undefined4 *)((int)ppuVar9 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar9 + -0x1c)" ( (binary_expression "(int)ppuVar9 + -0x1c" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(undefined1 *)(piVar4 + 6) = 1;" (assignment_expression "*(undefined1 *)(piVar4 + 6) = 1" (pointer_expression "*(undefined1 *)(piVar4 + 6)" * (cast_expression "(undefined1 *)(piVar4 + 6)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 6)" ( (binary_expression "piVar4 + 6" identifier + number_literal) )))) = number_literal) ;) (return_statement "return;" return ;) }))) (if_statement "if ((*(uint *)(*param_5 + 8) & 0x4000000) == 0) {\n    local_7c = *(undefined1 **)(param_1 + 4);\n    *(undefined1 **)((int)ppuVar9 + -8) = param_4;\n    *(int *)((int)ppuVar9 + -0xc) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x10) = local_34;\n    *(undefined4 *)((int)ppuVar9 + -0x14) = 0x1279bd;\n    FUN_00106d90();\n    puVar1 = local_70[0];\n    local_78 = (undefined1 **)local_34[0];\n    *(undefined1 **)((int)ppuVar9 + -0xc) = local_70[0];\n    *(int *)((int)ppuVar9 + -0x10) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x14) = local_4c;\n                    \n    *(undefined4 *)((int)ppuVar9 + -0x18) = 0x1279d3;\n    FUN_00106d90();\n    local_80 = local_4c[0];\n    *(undefined ***)((int)ppuVar9 + -0x18) = local_74 + -0x5f89f;\n    *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x1279ea;\n    uVar7 = gettext();\n    *(undefined1 **)((int)ppuVar9 + -0x14) = local_7c;\n    *(undefined1 **)((int)ppuVar9 + -0x18) = param_4;\n    *(undefined1 ***)((int)ppuVar9 + -0x1c) = local_78;\n    *(undefined1 **)((int)ppuVar9 + -0x20) = puVar1;\n    *(undefined1 **)((int)ppuVar9 + -0x24) = local_80;\n    *(undefined4 *)((int)ppuVar9 + -0x28) = uVar7;\n                    \n    *(undefined4 *)((int)ppuVar9 + -0x2c) = 0x127a03;\n    FUN_0023b840();\n    if (local_4c[0] != local_44) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a19;\n      FUN_003ae080();\n    }\n    if (local_34[0] != local_2c) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a36;\n      FUN_003ae080();\n      return;\n    }\n  }" if (parenthesized_expression "((*(uint *)(*param_5 + 8) & 0x4000000) == 0)" ( (binary_expression "(*(uint *)(*param_5 + 8) & 0x4000000) == 0" (parenthesized_expression "(*(uint *)(*param_5 + 8) & 0x4000000)" ( (binary_expression "*(uint *)(*param_5 + 8) & 0x4000000" (pointer_expression "*(uint *)(*param_5 + 8)" * (cast_expression "(uint *)(*param_5 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_5 + 8)" ( (binary_expression "*param_5 + 8" (pointer_expression "*param_5" * identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n    local_7c = *(undefined1 **)(param_1 + 4);\n    *(undefined1 **)((int)ppuVar9 + -8) = param_4;\n    *(int *)((int)ppuVar9 + -0xc) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x10) = local_34;\n    *(undefined4 *)((int)ppuVar9 + -0x14) = 0x1279bd;\n    FUN_00106d90();\n    puVar1 = local_70[0];\n    local_78 = (undefined1 **)local_34[0];\n    *(undefined1 **)((int)ppuVar9 + -0xc) = local_70[0];\n    *(int *)((int)ppuVar9 + -0x10) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x14) = local_4c;\n                    \n    *(undefined4 *)((int)ppuVar9 + -0x18) = 0x1279d3;\n    FUN_00106d90();\n    local_80 = local_4c[0];\n    *(undefined ***)((int)ppuVar9 + -0x18) = local_74 + -0x5f89f;\n    *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x1279ea;\n    uVar7 = gettext();\n    *(undefined1 **)((int)ppuVar9 + -0x14) = local_7c;\n    *(undefined1 **)((int)ppuVar9 + -0x18) = param_4;\n    *(undefined1 ***)((int)ppuVar9 + -0x1c) = local_78;\n    *(undefined1 **)((int)ppuVar9 + -0x20) = puVar1;\n    *(undefined1 **)((int)ppuVar9 + -0x24) = local_80;\n    *(undefined4 *)((int)ppuVar9 + -0x28) = uVar7;\n                    \n    *(undefined4 *)((int)ppuVar9 + -0x2c) = 0x127a03;\n    FUN_0023b840();\n    if (local_4c[0] != local_44) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a19;\n      FUN_003ae080();\n    }\n    if (local_34[0] != local_2c) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a36;\n      FUN_003ae080();\n      return;\n    }\n  }" { (expression_statement "local_7c = *(undefined1 **)(param_1 + 4);" (assignment_expression "local_7c = *(undefined1 **)(param_1 + 4)" identifier = (pointer_expression "*(undefined1 **)(param_1 + 4)" * (cast_expression "(undefined1 **)(param_1 + 4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 **)((int)ppuVar9 + -8) = param_4;" (assignment_expression "*(undefined1 **)((int)ppuVar9 + -8) = param_4" (pointer_expression "*(undefined1 **)((int)ppuVar9 + -8)" * (cast_expression "(undefined1 **)((int)ppuVar9 + -8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar9 + -8)" ( (binary_expression "(int)ppuVar9 + -8" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)ppuVar9 + -0xc) = param_1 + 0x90;" (assignment_expression "*(int *)((int)ppuVar9 + -0xc) = param_1 + 0x90" (pointer_expression "*(int *)((int)ppuVar9 + -0xc)" * (cast_expression "(int *)((int)ppuVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar9 + -0xc)" ( (binary_expression "(int)ppuVar9 + -0xc" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "param_1 + 0x90" identifier + number_literal)) ;) (expression_statement "*(undefined1 ***)((int)ppuVar9 + -0x10) = local_34;" (assignment_expression "*(undefined1 ***)((int)ppuVar9 + -0x10) = local_34" (pointer_expression "*(undefined1 ***)((int)ppuVar9 + -0x10)" * (cast_expression "(undefined1 ***)((int)ppuVar9 + -0x10)" ( (type_descriptor "undefined1 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppuVar9 + -0x10)" ( (binary_expression "(int)ppuVar9 + -0x10" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppuVar9 + -0x14) = 0x1279bd;" (assignment_expression "*(undefined4 *)((int)ppuVar9 + -0x14) = 0x1279bd" (pointer_expression "*(undefined4 *)((int)ppuVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)ppuVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar9 + -0x14)" ( (binary_expression "(int)ppuVar9 + -0x14" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00106d90();" (call_expression "FUN_00106d90()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar1 = local_70[0];" (assignment_expression "puVar1 = local_70[0]" identifier = (subscript_expression "local_70[0]" identifier [ number_literal ])) ;) (expression_statement "local_78 = (undefined1 **)local_34[0];" (assignment_expression "local_78 = (undefined1 **)local_34[0]" identifier = (cast_expression "(undefined1 **)local_34[0]" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "local_34[0]" identifier [ number_literal ]))) ;) (expression_statement "*(undefined1 **)((int)ppuVar9 + -0xc) = local_70[0];" (assignment_expression "*(undefined1 **)((int)ppuVar9 + -0xc) = local_70[0]" (pointer_expression "*(undefined1 **)((int)ppuVar9 + -0xc)" * (cast_expression "(undefined1 **)((int)ppuVar9 + -0xc)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar9 + -0xc)" ( (binary_expression "(int)ppuVar9 + -0xc" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "local_70[0]" identifier [ number_literal ])) ;) (expression_statement "*(int *)((int)ppuVar9 + -0x10) = param_1 + 0x90;" (assignment_expression "*(int *)((int)ppuVar9 + -0x10) = param_1 + 0x90" (pointer_expression "*(int *)((int)ppuVar9 + -0x10)" * (cast_expression "(int *)((int)ppuVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar9 + -0x10)" ( (binary_expression "(int)ppuVar9 + -0x10" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "param_1 + 0x90" identifier + number_literal)) ;) (expression_statement "*(undefined1 ***)((int)ppuVar9 + -0x14) = local_4c;" (assignment_expression "*(undefined1 ***)((int)ppuVar9 + -0x14) = local_4c" (pointer_expression "*(undefined1 ***)((int)ppuVar9 + -0x14)" * (cast_expression "(undefined1 ***)((int)ppuVar9 + -0x14)" ( (type_descriptor "undefined1 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppuVar9 + -0x14)" ( (binary_expression "(int)ppuVar9 + -0x14" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppuVar9 + -0x18) = 0x1279d3;" (assignment_expression "*(undefined4 *)((int)ppuVar9 + -0x18) = 0x1279d3" (pointer_expression "*(undefined4 *)((int)ppuVar9 + -0x18)" * (cast_expression "(undefined4 *)((int)ppuVar9 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar9 + -0x18)" ( (binary_expression "(int)ppuVar9 + -0x18" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00106d90();" (call_expression "FUN_00106d90()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_80 = local_4c[0];" (assignment_expression "local_80 = local_4c[0]" identifier = (subscript_expression "local_4c[0]" identifier [ number_literal ])) ;) (expression_statement "*(undefined ***)((int)ppuVar9 + -0x18) = local_74 + -0x5f89f;" (assignment_expression "*(undefined ***)((int)ppuVar9 + -0x18) = local_74 + -0x5f89f" (pointer_expression "*(undefined ***)((int)ppuVar9 + -0x18)" * (cast_expression "(undefined ***)((int)ppuVar9 + -0x18)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppuVar9 + -0x18)" ( (binary_expression "(int)ppuVar9 + -0x18" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_74 + -0x5f89f" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)ppuVar9 + -0x1c) = 0x1279ea;" (assignment_expression "*(undefined4 *)((int)ppuVar9 + -0x1c) = 0x1279ea" (pointer_expression "*(undefined4 *)((int)ppuVar9 + -0x1c)" * (cast_expression "(undefined4 *)((int)ppuVar9 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar9 + -0x1c)" ( (binary_expression "(int)ppuVar9 + -0x1c" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar7 = gettext();" (assignment_expression "uVar7 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined1 **)((int)ppuVar9 + -0x14) = local_7c;" (assignment_expression "*(undefined1 **)((int)ppuVar9 + -0x14) = local_7c" (pointer_expression "*(undefined1 **)((int)ppuVar9 + -0x14)" * (cast_expression "(undefined1 **)((int)ppuVar9 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar9 + -0x14)" ( (binary_expression "(int)ppuVar9 + -0x14" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)((int)ppuVar9 + -0x18) = param_4;" (assignment_expression "*(undefined1 **)((int)ppuVar9 + -0x18) = param_4" (pointer_expression "*(undefined1 **)((int)ppuVar9 + -0x18)" * (cast_expression "(undefined1 **)((int)ppuVar9 + -0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar9 + -0x18)" ( (binary_expression "(int)ppuVar9 + -0x18" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 ***)((int)ppuVar9 + -0x1c) = local_78;" (assignment_expression "*(undefined1 ***)((int)ppuVar9 + -0x1c) = local_78" (pointer_expression "*(undefined1 ***)((int)ppuVar9 + -0x1c)" * (cast_expression "(undefined1 ***)((int)ppuVar9 + -0x1c)" ( (type_descriptor "undefined1 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppuVar9 + -0x1c)" ( (binary_expression "(int)ppuVar9 + -0x1c" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)((int)ppuVar9 + -0x20) = puVar1;" (assignment_expression "*(undefined1 **)((int)ppuVar9 + -0x20) = puVar1" (pointer_expression "*(undefined1 **)((int)ppuVar9 + -0x20)" * (cast_expression "(undefined1 **)((int)ppuVar9 + -0x20)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar9 + -0x20)" ( (binary_expression "(int)ppuVar9 + -0x20" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)((int)ppuVar9 + -0x24) = local_80;" (assignment_expression "*(undefined1 **)((int)ppuVar9 + -0x24) = local_80" (pointer_expression "*(undefined1 **)((int)ppuVar9 + -0x24)" * (cast_expression "(undefined1 **)((int)ppuVar9 + -0x24)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar9 + -0x24)" ( (binary_expression "(int)ppuVar9 + -0x24" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppuVar9 + -0x28) = uVar7;" (assignment_expression "*(undefined4 *)((int)ppuVar9 + -0x28) = uVar7" (pointer_expression "*(undefined4 *)((int)ppuVar9 + -0x28)" * (cast_expression "(undefined4 *)((int)ppuVar9 + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar9 + -0x28)" ( (binary_expression "(int)ppuVar9 + -0x28" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppuVar9 + -0x2c) = 0x127a03;" (assignment_expression "*(undefined4 *)((int)ppuVar9 + -0x2c) = 0x127a03" (pointer_expression "*(undefined4 *)((int)ppuVar9 + -0x2c)" * (cast_expression "(undefined4 *)((int)ppuVar9 + -0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar9 + -0x2c)" ( (binary_expression "(int)ppuVar9 + -0x2c" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b840();" (call_expression "FUN_0023b840()" identifier (argument_list "()" ( ))) ;) (if_statement "if (local_4c[0] != local_44) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a19;\n      FUN_003ae080();\n    }" if (parenthesized_expression "(local_4c[0] != local_44)" ( (binary_expression "local_4c[0] != local_44" (subscript_expression "local_4c[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a19;\n      FUN_003ae080();\n    }" { (expression_statement "*(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0];" (assignment_expression "*(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0]" (pointer_expression "*(undefined1 **)((int)ppuVar9 + -0x18)" * (cast_expression "(undefined1 **)((int)ppuVar9 + -0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar9 + -0x18)" ( (binary_expression "(int)ppuVar9 + -0x18" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "local_4c[0]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a19;" (assignment_expression "*(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a19" (pointer_expression "*(undefined4 *)((int)ppuVar9 + -0x1c)" * (cast_expression "(undefined4 *)((int)ppuVar9 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar9 + -0x1c)" ( (binary_expression "(int)ppuVar9 + -0x1c" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_34[0] != local_2c) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a36;\n      FUN_003ae080();\n      return;\n    }" if (parenthesized_expression "(local_34[0] != local_2c)" ( (binary_expression "local_34[0] != local_2c" (subscript_expression "local_34[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a36;\n      FUN_003ae080();\n      return;\n    }" { (expression_statement "*(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0];" (assignment_expression "*(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0]" (pointer_expression "*(undefined1 **)((int)ppuVar9 + -0x18)" * (cast_expression "(undefined1 **)((int)ppuVar9 + -0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar9 + -0x18)" ( (binary_expression "(int)ppuVar9 + -0x18" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "local_34[0]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a36;" (assignment_expression "*(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a36" (pointer_expression "*(undefined4 *)((int)ppuVar9 + -0x1c)" * (cast_expression "(undefined4 *)((int)ppuVar9 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar9 + -0x1c)" ( (binary_expression "(int)ppuVar9 + -0x1c" (cast_expression "(int)ppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (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) ) (subscript_expression IDENT [ 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 (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 ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) <= IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression & IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != IDENT) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) >> LIT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (return_statement return ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return ;) })) })) (return_statement return ;) })))
(function_definition "void __regparm3\nFUN_00127750(int param_1,undefined1 *param_2,int *param_3,undefined1 *param_4,int *param_5)\n\n{\n  undefined1 *puVar1;\n  uint uVar2;\n  uint uVar3;\n  int *piVar4;\n  int *piVar5;\n  undefined4 *puVar6;\n  undefined4 uVar7;\n  undefined1 **ppuVar8;\n  undefined1 **ppuVar9;\n  undefined1 *puStack_a8;\n  undefined **ppuStack_a4;\n  undefined4 uStack_a0;\n  undefined1 auStack_9c [12];\n  undefined1 *local_90;\n  undefined1 *local_8c;\n  undefined4 local_88;\n  undefined1 *local_84;\n  undefined1 *local_80;\n  undefined1 *local_7c;\n  undefined1 **local_78;\n  undefined **local_74;\n  undefined1 *local_70 [3];\n  undefined1 *local_64 [2];\n  undefined1 local_5c [16];\n  undefined1 *local_4c [2];\n  undefined1 local_44 [16];\n  undefined1 *local_34 [2];\n  undefined1 local_2c [24];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x12775d;\n  local_74 = &__DT_PLTGOT;\n  uVar2 = *(uint *)(*param_3 + 0x14);\n  uVar3 = *(uint *)(*param_3 + 0x20);\n  local_80 = (undefined1 *)\n             (uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18);\n  local_7c = (undefined1 *)\n             (uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18);\n  uVar2 = *(uint *)(*param_5 + 0x14);\n  local_78 = (undefined1 **)\n             (uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18);\n  local_70[0] = param_2;\n  piVar4 = (int *)FUN_003ac4d0(0x1c);\n  ppuVar9 = (undefined1 **)auStack_9c;\n  *piVar4 = param_1;\n  piVar4[4] = (int)local_7c;\n  piVar4[1] = (int)local_70[0];\n  piVar4[3] = (int)local_80;\n  piVar4[2] = (int)param_4;\n  *(undefined1 *)(piVar4 + 6) = 0;\n  piVar4[5] = (int)local_78;\n  local_78 = local_70;\n  uStack_a0 = 0x1277d3;\n  piVar5 = (int *)FUN_00110560();\n  if (*piVar5 != 0) {\n    ppuStack_a4 = local_74 + -0x601ca;\n    puStack_a8 = (undefined1 *)0x1ad6;\n                    \n    FUN_002446e0((int)local_74 + -0x182cba);\n  }\n  uStack_a0 = 0x1277e7;\n  puVar6 = (undefined4 *)FUN_00110560();\n  *puVar6 = piVar4;\n  local_78 = (undefined1 **)param_4;\n  if ((param_4 == (undefined1 *)0x0) || (*(undefined1 **)(param_1 + 0x28) <= param_4)) {\n    local_7c = *(undefined1 **)(param_1 + 4);\n    puStack_a8 = (undefined1 *)(param_1 + 0x90);\n    ppuStack_a4 = (undefined **)local_70[0];\n    local_84 = local_70[0];\n    FUN_00106d90(local_34);\n    local_80 = local_34[0];\n    uVar7 = gettext(local_74 + -0x5f8d0);\n                    \n    FUN_0023b810(uVar7,local_80,local_84,local_78,local_7c);\n    ppuVar8 = (undefined1 **)&uStack_a0;\n    ppuVar9 = (undefined1 **)&uStack_a0;\n    if (local_34[0] != local_2c) {\nLAB_00127856:\n      *(undefined1 **)((int)ppuVar8 + -0x10) = local_34[0];\n      *(undefined4 *)((int)ppuVar8 + -0x14) = 0x127862;\n      FUN_003ae080();\n      ppuVar9 = ppuVar8;\n    }\n  }\n  else {\n    uStack_a0 = 0x12789a;\n    piVar5 = (int *)FUN_00110560();\n    if (*piVar5 == 0) {\n      uStack_a0 = 0x127afa;\n      puVar6 = (undefined4 *)FUN_00110560();\n      *puVar6 = piVar4;\n      goto LAB_00127869;\n    }\n    puVar1 = (undefined1 *)(param_1 + 0x90);\n    uStack_a0 = 0x1278b4;\n    piVar5 = (int *)FUN_00110560();\n    local_88 = *(undefined4 *)(param_1 + 4);\n    local_80 = *(undefined1 **)(*piVar5 + 4);\n    ppuStack_a4 = (undefined **)param_4;\n    local_78 = (undefined1 **)param_4;\n    puStack_a8 = puVar1;\n    FUN_00106d90(local_34);\n    local_84 = local_34[0];\n    puStack_a8 = local_80;\n                    \n    FUN_00106d90(local_4c,puVar1);\n    local_8c = local_4c[0];\n    local_7c = local_70[0];\n                    \n    FUN_00106d90(local_64,puVar1,local_70[0]);\n    local_90 = local_64[0];\n    uVar7 = gettext(local_74 + -0x5f8c2);\n                    \n    FUN_0023b810(uVar7,local_90,local_7c,local_8c,local_80,local_84,local_78,local_88);\n    if (local_64[0] != local_5c) {\n      FUN_003ae080(local_64[0]);\n    }\n    if (local_4c[0] != local_44) {\n      FUN_003ae080(local_4c[0]);\n    }\n    ppuVar8 = &puStack_a8;\n    ppuVar9 = &puStack_a8;\n    if (local_34[0] != local_2c) goto LAB_00127856;\n  }\n  *(undefined1 *)(piVar4 + 6) = 1;\nLAB_00127869:\n  if ((*(uint *)(*param_5 + 8) >> 0x18 & 2) == 0) {\n    local_80 = *(undefined1 **)(param_1 + 4);\n    *(undefined1 **)((int)ppuVar9 + -8) = param_4;\n    *(int *)((int)ppuVar9 + -0xc) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x10) = local_34;\n    local_78 = (undefined1 **)param_4;\n    *(undefined4 *)((int)ppuVar9 + -0x14) = 0x127a68;\n    FUN_00106d90();\n    puVar1 = local_70[0];\n    local_7c = local_34[0];\n    *(undefined1 **)((int)ppuVar9 + -0xc) = local_70[0];\n    *(int *)((int)ppuVar9 + -0x10) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x14) = local_4c;\n                    \n    *(undefined4 *)((int)ppuVar9 + -0x18) = 0x127a7e;\n    FUN_00106d90();\n    local_84 = local_4c[0];\n    *(undefined ***)((int)ppuVar9 + -0x18) = local_74 + -0x5f8b0;\n    *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a95;\n    uVar7 = gettext();\n    *(undefined1 **)((int)ppuVar9 + -0x14) = local_80;\n    *(undefined1 ***)((int)ppuVar9 + -0x18) = local_78;\n    *(undefined1 **)((int)ppuVar9 + -0x1c) = local_7c;\n    *(undefined1 **)((int)ppuVar9 + -0x20) = puVar1;\n    *(undefined1 **)((int)ppuVar9 + -0x24) = local_84;\n    *(undefined4 *)((int)ppuVar9 + -0x28) = uVar7;\n                    \n    *(undefined4 *)((int)ppuVar9 + -0x2c) = 0x127ab0;\n    FUN_0023b810();\n    if (local_4c[0] != local_44) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127ac6;\n      FUN_003ae080();\n    }\n    if (local_34[0] != local_2c) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127adf;\n      FUN_003ae080();\n    }\n    *(undefined1 *)(piVar4 + 6) = 1;\n    return;\n  }\n  if ((*(uint *)(*param_5 + 8) & 0x4000000) == 0) {\n    local_7c = *(undefined1 **)(param_1 + 4);\n    *(undefined1 **)((int)ppuVar9 + -8) = param_4;\n    *(int *)((int)ppuVar9 + -0xc) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x10) = local_34;\n    *(undefined4 *)((int)ppuVar9 + -0x14) = 0x1279bd;\n    FUN_00106d90();\n    puVar1 = local_70[0];\n    local_78 = (undefined1 **)local_34[0];\n    *(undefined1 **)((int)ppuVar9 + -0xc) = local_70[0];\n    *(int *)((int)ppuVar9 + -0x10) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x14) = local_4c;\n                    \n    *(undefined4 *)((int)ppuVar9 + -0x18) = 0x1279d3;\n    FUN_00106d90();\n    local_80 = local_4c[0];\n    *(undefined ***)((int)ppuVar9 + -0x18) = local_74 + -0x5f89f;\n    *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x1279ea;\n    uVar7 = gettext();\n    *(undefined1 **)((int)ppuVar9 + -0x14) = local_7c;\n    *(undefined1 **)((int)ppuVar9 + -0x18) = param_4;\n    *(undefined1 ***)((int)ppuVar9 + -0x1c) = local_78;\n    *(undefined1 **)((int)ppuVar9 + -0x20) = puVar1;\n    *(undefined1 **)((int)ppuVar9 + -0x24) = local_80;\n    *(undefined4 *)((int)ppuVar9 + -0x28) = uVar7;\n                    \n    *(undefined4 *)((int)ppuVar9 + -0x2c) = 0x127a03;\n    FUN_0023b840();\n    if (local_4c[0] != local_44) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a19;\n      FUN_003ae080();\n    }\n    if (local_34[0] != local_2c) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a36;\n      FUN_003ae080();\n      return;\n    }\n  }\n  return;\n}" (primitive_type "void") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_00127750(int param_1,undefined1 *param_2,int *param_3,undefined1 *param_4,int *param_5)" (identifier "FUN_00127750") (parameter_list "(int param_1,undefined1 *param_2,int *param_3,undefined1 *param_4,int *param_5)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "undefined1 *param_2" (type_identifier "undefined1") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "int *param_3" (primitive_type "int") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) (, ",") (parameter_declaration "undefined1 *param_4" (type_identifier "undefined1") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) (, ",") (parameter_declaration "int *param_5" (primitive_type "int") (pointer_declarator "*param_5" (* "*") (identifier "param_5"))) () ")"))) (compound_statement "{\n  undefined1 *puVar1;\n  uint uVar2;\n  uint uVar3;\n  int *piVar4;\n  int *piVar5;\n  undefined4 *puVar6;\n  undefined4 uVar7;\n  undefined1 **ppuVar8;\n  undefined1 **ppuVar9;\n  undefined1 *puStack_a8;\n  undefined **ppuStack_a4;\n  undefined4 uStack_a0;\n  undefined1 auStack_9c [12];\n  undefined1 *local_90;\n  undefined1 *local_8c;\n  undefined4 local_88;\n  undefined1 *local_84;\n  undefined1 *local_80;\n  undefined1 *local_7c;\n  undefined1 **local_78;\n  undefined **local_74;\n  undefined1 *local_70 [3];\n  undefined1 *local_64 [2];\n  undefined1 local_5c [16];\n  undefined1 *local_4c [2];\n  undefined1 local_44 [16];\n  undefined1 *local_34 [2];\n  undefined1 local_2c [24];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x12775d;\n  local_74 = &__DT_PLTGOT;\n  uVar2 = *(uint *)(*param_3 + 0x14);\n  uVar3 = *(uint *)(*param_3 + 0x20);\n  local_80 = (undefined1 *)\n             (uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18);\n  local_7c = (undefined1 *)\n             (uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18);\n  uVar2 = *(uint *)(*param_5 + 0x14);\n  local_78 = (undefined1 **)\n             (uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18);\n  local_70[0] = param_2;\n  piVar4 = (int *)FUN_003ac4d0(0x1c);\n  ppuVar9 = (undefined1 **)auStack_9c;\n  *piVar4 = param_1;\n  piVar4[4] = (int)local_7c;\n  piVar4[1] = (int)local_70[0];\n  piVar4[3] = (int)local_80;\n  piVar4[2] = (int)param_4;\n  *(undefined1 *)(piVar4 + 6) = 0;\n  piVar4[5] = (int)local_78;\n  local_78 = local_70;\n  uStack_a0 = 0x1277d3;\n  piVar5 = (int *)FUN_00110560();\n  if (*piVar5 != 0) {\n    ppuStack_a4 = local_74 + -0x601ca;\n    puStack_a8 = (undefined1 *)0x1ad6;\n                    \n    FUN_002446e0((int)local_74 + -0x182cba);\n  }\n  uStack_a0 = 0x1277e7;\n  puVar6 = (undefined4 *)FUN_00110560();\n  *puVar6 = piVar4;\n  local_78 = (undefined1 **)param_4;\n  if ((param_4 == (undefined1 *)0x0) || (*(undefined1 **)(param_1 + 0x28) <= param_4)) {\n    local_7c = *(undefined1 **)(param_1 + 4);\n    puStack_a8 = (undefined1 *)(param_1 + 0x90);\n    ppuStack_a4 = (undefined **)local_70[0];\n    local_84 = local_70[0];\n    FUN_00106d90(local_34);\n    local_80 = local_34[0];\n    uVar7 = gettext(local_74 + -0x5f8d0);\n                    \n    FUN_0023b810(uVar7,local_80,local_84,local_78,local_7c);\n    ppuVar8 = (undefined1 **)&uStack_a0;\n    ppuVar9 = (undefined1 **)&uStack_a0;\n    if (local_34[0] != local_2c) {\nLAB_00127856:\n      *(undefined1 **)((int)ppuVar8 + -0x10) = local_34[0];\n      *(undefined4 *)((int)ppuVar8 + -0x14) = 0x127862;\n      FUN_003ae080();\n      ppuVar9 = ppuVar8;\n    }\n  }\n  else {\n    uStack_a0 = 0x12789a;\n    piVar5 = (int *)FUN_00110560();\n    if (*piVar5 == 0) {\n      uStack_a0 = 0x127afa;\n      puVar6 = (undefined4 *)FUN_00110560();\n      *puVar6 = piVar4;\n      goto LAB_00127869;\n    }\n    puVar1 = (undefined1 *)(param_1 + 0x90);\n    uStack_a0 = 0x1278b4;\n    piVar5 = (int *)FUN_00110560();\n    local_88 = *(undefined4 *)(param_1 + 4);\n    local_80 = *(undefined1 **)(*piVar5 + 4);\n    ppuStack_a4 = (undefined **)param_4;\n    local_78 = (undefined1 **)param_4;\n    puStack_a8 = puVar1;\n    FUN_00106d90(local_34);\n    local_84 = local_34[0];\n    puStack_a8 = local_80;\n                    \n    FUN_00106d90(local_4c,puVar1);\n    local_8c = local_4c[0];\n    local_7c = local_70[0];\n                    \n    FUN_00106d90(local_64,puVar1,local_70[0]);\n    local_90 = local_64[0];\n    uVar7 = gettext(local_74 + -0x5f8c2);\n                    \n    FUN_0023b810(uVar7,local_90,local_7c,local_8c,local_80,local_84,local_78,local_88);\n    if (local_64[0] != local_5c) {\n      FUN_003ae080(local_64[0]);\n    }\n    if (local_4c[0] != local_44) {\n      FUN_003ae080(local_4c[0]);\n    }\n    ppuVar8 = &puStack_a8;\n    ppuVar9 = &puStack_a8;\n    if (local_34[0] != local_2c) goto LAB_00127856;\n  }\n  *(undefined1 *)(piVar4 + 6) = 1;\nLAB_00127869:\n  if ((*(uint *)(*param_5 + 8) >> 0x18 & 2) == 0) {\n    local_80 = *(undefined1 **)(param_1 + 4);\n    *(undefined1 **)((int)ppuVar9 + -8) = param_4;\n    *(int *)((int)ppuVar9 + -0xc) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x10) = local_34;\n    local_78 = (undefined1 **)param_4;\n    *(undefined4 *)((int)ppuVar9 + -0x14) = 0x127a68;\n    FUN_00106d90();\n    puVar1 = local_70[0];\n    local_7c = local_34[0];\n    *(undefined1 **)((int)ppuVar9 + -0xc) = local_70[0];\n    *(int *)((int)ppuVar9 + -0x10) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x14) = local_4c;\n                    \n    *(undefined4 *)((int)ppuVar9 + -0x18) = 0x127a7e;\n    FUN_00106d90();\n    local_84 = local_4c[0];\n    *(undefined ***)((int)ppuVar9 + -0x18) = local_74 + -0x5f8b0;\n    *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a95;\n    uVar7 = gettext();\n    *(undefined1 **)((int)ppuVar9 + -0x14) = local_80;\n    *(undefined1 ***)((int)ppuVar9 + -0x18) = local_78;\n    *(undefined1 **)((int)ppuVar9 + -0x1c) = local_7c;\n    *(undefined1 **)((int)ppuVar9 + -0x20) = puVar1;\n    *(undefined1 **)((int)ppuVar9 + -0x24) = local_84;\n    *(undefined4 *)((int)ppuVar9 + -0x28) = uVar7;\n                    \n    *(undefined4 *)((int)ppuVar9 + -0x2c) = 0x127ab0;\n    FUN_0023b810();\n    if (local_4c[0] != local_44) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127ac6;\n      FUN_003ae080();\n    }\n    if (local_34[0] != local_2c) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127adf;\n      FUN_003ae080();\n    }\n    *(undefined1 *)(piVar4 + 6) = 1;\n    return;\n  }\n  if ((*(uint *)(*param_5 + 8) & 0x4000000) == 0) {\n    local_7c = *(undefined1 **)(param_1 + 4);\n    *(undefined1 **)((int)ppuVar9 + -8) = param_4;\n    *(int *)((int)ppuVar9 + -0xc) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x10) = local_34;\n    *(undefined4 *)((int)ppuVar9 + -0x14) = 0x1279bd;\n    FUN_00106d90();\n    puVar1 = local_70[0];\n    local_78 = (undefined1 **)local_34[0];\n    *(undefined1 **)((int)ppuVar9 + -0xc) = local_70[0];\n    *(int *)((int)ppuVar9 + -0x10) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x14) = local_4c;\n                    \n    *(undefined4 *)((int)ppuVar9 + -0x18) = 0x1279d3;\n    FUN_00106d90();\n    local_80 = local_4c[0];\n    *(undefined ***)((int)ppuVar9 + -0x18) = local_74 + -0x5f89f;\n    *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x1279ea;\n    uVar7 = gettext();\n    *(undefined1 **)((int)ppuVar9 + -0x14) = local_7c;\n    *(undefined1 **)((int)ppuVar9 + -0x18) = param_4;\n    *(undefined1 ***)((int)ppuVar9 + -0x1c) = local_78;\n    *(undefined1 **)((int)ppuVar9 + -0x20) = puVar1;\n    *(undefined1 **)((int)ppuVar9 + -0x24) = local_80;\n    *(undefined4 *)((int)ppuVar9 + -0x28) = uVar7;\n                    \n    *(undefined4 *)((int)ppuVar9 + -0x2c) = 0x127a03;\n    FUN_0023b840();\n    if (local_4c[0] != local_44) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a19;\n      FUN_003ae080();\n    }\n    if (local_34[0] != local_2c) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a36;\n      FUN_003ae080();\n      return;\n    }\n  }\n  return;\n}" ({ "{") (declaration "undefined1 *puVar1;" (type_identifier "undefined1") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "uint uVar2;" (type_identifier "uint") (identifier "uVar2") (; ";")) (declaration "uint uVar3;" (type_identifier "uint") (identifier "uVar3") (; ";")) (declaration "int *piVar4;" (primitive_type "int") (pointer_declarator "*piVar4" (* "*") (identifier "piVar4")) (; ";")) (declaration "int *piVar5;" (primitive_type "int") (pointer_declarator "*piVar5" (* "*") (identifier "piVar5")) (; ";")) (declaration "undefined4 *puVar6;" (type_identifier "undefined4") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "undefined4 uVar7;" (type_identifier "undefined4") (identifier "uVar7") (; ";")) (declaration "undefined1 **ppuVar8;" (type_identifier "undefined1") (pointer_declarator "**ppuVar8" (* "*") (pointer_declarator "*ppuVar8" (* "*") (identifier "ppuVar8"))) (; ";")) (declaration "undefined1 **ppuVar9;" (type_identifier "undefined1") (pointer_declarator "**ppuVar9" (* "*") (pointer_declarator "*ppuVar9" (* "*") (identifier "ppuVar9"))) (; ";")) (declaration "undefined1 *puStack_a8;" (type_identifier "undefined1") (pointer_declarator "*puStack_a8" (* "*") (identifier "puStack_a8")) (; ";")) (declaration "undefined **ppuStack_a4;" (type_identifier "undefined") (pointer_declarator "**ppuStack_a4" (* "*") (pointer_declarator "*ppuStack_a4" (* "*") (identifier "ppuStack_a4"))) (; ";")) (declaration "undefined4 uStack_a0;" (type_identifier "undefined4") (identifier "uStack_a0") (; ";")) (declaration "undefined1 auStack_9c [12];" (type_identifier "undefined1") (array_declarator "auStack_9c [12]" (identifier "auStack_9c") ([ "[") (number_literal "12") (] "]")) (; ";")) (declaration "undefined1 *local_90;" (type_identifier "undefined1") (pointer_declarator "*local_90" (* "*") (identifier "local_90")) (; ";")) (declaration "undefined1 *local_8c;" (type_identifier "undefined1") (pointer_declarator "*local_8c" (* "*") (identifier "local_8c")) (; ";")) (declaration "undefined4 local_88;" (type_identifier "undefined4") (identifier "local_88") (; ";")) (declaration "undefined1 *local_84;" (type_identifier "undefined1") (pointer_declarator "*local_84" (* "*") (identifier "local_84")) (; ";")) (declaration "undefined1 *local_80;" (type_identifier "undefined1") (pointer_declarator "*local_80" (* "*") (identifier "local_80")) (; ";")) (declaration "undefined1 *local_7c;" (type_identifier "undefined1") (pointer_declarator "*local_7c" (* "*") (identifier "local_7c")) (; ";")) (declaration "undefined1 **local_78;" (type_identifier "undefined1") (pointer_declarator "**local_78" (* "*") (pointer_declarator "*local_78" (* "*") (identifier "local_78"))) (; ";")) (declaration "undefined **local_74;" (type_identifier "undefined") (pointer_declarator "**local_74" (* "*") (pointer_declarator "*local_74" (* "*") (identifier "local_74"))) (; ";")) (declaration "undefined1 *local_70 [3];" (type_identifier "undefined1") (pointer_declarator "*local_70 [3]" (* "*") (array_declarator "local_70 [3]" (identifier "local_70") ([ "[") (number_literal "3") (] "]"))) (; ";")) (declaration "undefined1 *local_64 [2];" (type_identifier "undefined1") (pointer_declarator "*local_64 [2]" (* "*") (array_declarator "local_64 [2]" (identifier "local_64") ([ "[") (number_literal "2") (] "]"))) (; ";")) (declaration "undefined1 local_5c [16];" (type_identifier "undefined1") (array_declarator "local_5c [16]" (identifier "local_5c") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 *local_4c [2];" (type_identifier "undefined1") (pointer_declarator "*local_4c [2]" (* "*") (array_declarator "local_4c [2]" (identifier "local_4c") ([ "[") (number_literal "2") (] "]"))) (; ";")) (declaration "undefined1 local_44 [16];" (type_identifier "undefined1") (array_declarator "local_44 [16]" (identifier "local_44") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 *local_34 [2];" (type_identifier "undefined1") (pointer_declarator "*local_34 [2]" (* "*") (array_declarator "local_34 [2]" (identifier "local_34") ([ "[") (number_literal "2") (] "]"))) (; ";")) (declaration "undefined1 local_2c [24];" (type_identifier "undefined1") (array_declarator "local_2c [24]" (identifier "local_2c") ([ "[") (number_literal "24") (] "]")) (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "uStack_14 = 0x12775d;" (assignment_expression "uStack_14 = 0x12775d" (identifier "uStack_14") (= "=") (number_literal "0x12775d")) (; ";")) (expression_statement "local_74 = &__DT_PLTGOT;" (assignment_expression "local_74 = &__DT_PLTGOT" (identifier "local_74") (= "=") (pointer_expression "&__DT_PLTGOT" (& "&") (identifier "__DT_PLTGOT"))) (; ";")) (expression_statement "uVar2 = *(uint *)(*param_3 + 0x14);" (assignment_expression "uVar2 = *(uint *)(*param_3 + 0x14)" (identifier "uVar2") (= "=") (pointer_expression "*(uint *)(*param_3 + 0x14)" (* "*") (cast_expression "(uint *)(*param_3 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_3 + 0x14)" (( "(") (binary_expression "*param_3 + 0x14" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "uVar3 = *(uint *)(*param_3 + 0x20);" (assignment_expression "uVar3 = *(uint *)(*param_3 + 0x20)" (identifier "uVar3") (= "=") (pointer_expression "*(uint *)(*param_3 + 0x20)" (* "*") (cast_expression "(uint *)(*param_3 + 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_3 + 0x20)" (( "(") (binary_expression "*param_3 + 0x20" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "local_80 = (undefined1 *)\n             (uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18);" (assignment_expression "local_80 = (undefined1 *)\n             (uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18)" (identifier "local_80") (= "=") (cast_expression "(undefined1 *)\n             (uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18)" (( "(") (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8" (binary_expression "uVar2 >> 0x18" (identifier "uVar2") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar2 & 0xff0000) >> 8" (parenthesized_expression "(uVar2 & 0xff0000)" (( "(") (binary_expression "uVar2 & 0xff0000" (identifier "uVar2") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar2 & 0xff00) << 8" (parenthesized_expression "(uVar2 & 0xff00)" (( "(") (binary_expression "uVar2 & 0xff00" (identifier "uVar2") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar2 << 0x18" (identifier "uVar2") (<< "<<") (number_literal "0x18"))) () ")")))) (; ";")) (expression_statement "local_7c = (undefined1 *)\n             (uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18);" (assignment_expression "local_7c = (undefined1 *)\n             (uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18)" (identifier "local_7c") (= "=") (cast_expression "(undefined1 *)\n             (uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18)" (( "(") (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18" (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8" (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8" (binary_expression "uVar3 >> 0x18" (identifier "uVar3") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar3 & 0xff0000) >> 8" (parenthesized_expression "(uVar3 & 0xff0000)" (( "(") (binary_expression "uVar3 & 0xff0000" (identifier "uVar3") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar3 & 0xff00) << 8" (parenthesized_expression "(uVar3 & 0xff00)" (( "(") (binary_expression "uVar3 & 0xff00" (identifier "uVar3") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar3 << 0x18" (identifier "uVar3") (<< "<<") (number_literal "0x18"))) () ")")))) (; ";")) (expression_statement "uVar2 = *(uint *)(*param_5 + 0x14);" (assignment_expression "uVar2 = *(uint *)(*param_5 + 0x14)" (identifier "uVar2") (= "=") (pointer_expression "*(uint *)(*param_5 + 0x14)" (* "*") (cast_expression "(uint *)(*param_5 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_5 + 0x14)" (( "(") (binary_expression "*param_5 + 0x14" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "local_78 = (undefined1 **)\n             (uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18);" (assignment_expression "local_78 = (undefined1 **)\n             (uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18)" (identifier "local_78") (= "=") (cast_expression "(undefined1 **)\n             (uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18)" (( "(") (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8" (binary_expression "uVar2 >> 0x18" (identifier "uVar2") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar2 & 0xff0000) >> 8" (parenthesized_expression "(uVar2 & 0xff0000)" (( "(") (binary_expression "uVar2 & 0xff0000" (identifier "uVar2") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar2 & 0xff00) << 8" (parenthesized_expression "(uVar2 & 0xff00)" (( "(") (binary_expression "uVar2 & 0xff00" (identifier "uVar2") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar2 << 0x18" (identifier "uVar2") (<< "<<") (number_literal "0x18"))) () ")")))) (; ";")) (expression_statement "local_70[0] = param_2;" (assignment_expression "local_70[0] = param_2" (subscript_expression "local_70[0]" (identifier "local_70") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "param_2")) (; ";")) (expression_statement "piVar4 = (int *)FUN_003ac4d0(0x1c);" (assignment_expression "piVar4 = (int *)FUN_003ac4d0(0x1c)" (identifier "piVar4") (= "=") (cast_expression "(int *)FUN_003ac4d0(0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_003ac4d0(0x1c)" (identifier "FUN_003ac4d0") (argument_list "(0x1c)" (( "(") (number_literal "0x1c") () ")"))))) (; ";")) (expression_statement "ppuVar9 = (undefined1 **)auStack_9c;" (assignment_expression "ppuVar9 = (undefined1 **)auStack_9c" (identifier "ppuVar9") (= "=") (cast_expression "(undefined1 **)auStack_9c" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "auStack_9c"))) (; ";")) (expression_statement "*piVar4 = param_1;" (assignment_expression "*piVar4 = param_1" (pointer_expression "*piVar4" (* "*") (identifier "piVar4")) (= "=") (identifier "param_1")) (; ";")) (expression_statement "piVar4[4] = (int)local_7c;" (assignment_expression "piVar4[4] = (int)local_7c" (subscript_expression "piVar4[4]" (identifier "piVar4") ([ "[") (number_literal "4") (] "]")) (= "=") (cast_expression "(int)local_7c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_7c"))) (; ";")) (expression_statement "piVar4[1] = (int)local_70[0];" (assignment_expression "piVar4[1] = (int)local_70[0]" (subscript_expression "piVar4[1]" (identifier "piVar4") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(int)local_70[0]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_70[0]" (identifier "local_70") ([ "[") (number_literal "0") (] "]")))) (; ";")) (expression_statement "piVar4[3] = (int)local_80;" (assignment_expression "piVar4[3] = (int)local_80" (subscript_expression "piVar4[3]" (identifier "piVar4") ([ "[") (number_literal "3") (] "]")) (= "=") (cast_expression "(int)local_80" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_80"))) (; ";")) (expression_statement "piVar4[2] = (int)param_4;" (assignment_expression "piVar4[2] = (int)param_4" (subscript_expression "piVar4[2]" (identifier "piVar4") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(int)param_4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_4"))) (; ";")) (expression_statement "*(undefined1 *)(piVar4 + 6) = 0;" (assignment_expression "*(undefined1 *)(piVar4 + 6) = 0" (pointer_expression "*(undefined1 *)(piVar4 + 6)" (* "*") (cast_expression "(undefined1 *)(piVar4 + 6)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar4 + 6)" (( "(") (binary_expression "piVar4 + 6" (identifier "piVar4") (+ "+") (number_literal "6")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[5] = (int)local_78;" (assignment_expression "piVar4[5] = (int)local_78" (subscript_expression "piVar4[5]" (identifier "piVar4") ([ "[") (number_literal "5") (] "]")) (= "=") (cast_expression "(int)local_78" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_78"))) (; ";")) (expression_statement "local_78 = local_70;" (assignment_expression "local_78 = local_70" (identifier "local_78") (= "=") (identifier "local_70")) (; ";")) (expression_statement "uStack_a0 = 0x1277d3;" (assignment_expression "uStack_a0 = 0x1277d3" (identifier "uStack_a0") (= "=") (number_literal "0x1277d3")) (; ";")) (expression_statement "piVar5 = (int *)FUN_00110560();" (assignment_expression "piVar5 = (int *)FUN_00110560()" (identifier "piVar5") (= "=") (cast_expression "(int *)FUN_00110560()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00110560()" (identifier "FUN_00110560") (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if (*piVar5 != 0) {\n    ppuStack_a4 = local_74 + -0x601ca;\n    puStack_a8 = (undefined1 *)0x1ad6;\n                    \n    FUN_002446e0((int)local_74 + -0x182cba);\n  }" (if "if") (parenthesized_expression "(*piVar5 != 0)" (( "(") (binary_expression "*piVar5 != 0" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    ppuStack_a4 = local_74 + -0x601ca;\n    puStack_a8 = (undefined1 *)0x1ad6;\n                    \n    FUN_002446e0((int)local_74 + -0x182cba);\n  }" ({ "{") (expression_statement "ppuStack_a4 = local_74 + -0x601ca;" (assignment_expression "ppuStack_a4 = local_74 + -0x601ca" (identifier "ppuStack_a4") (= "=") (binary_expression "local_74 + -0x601ca" (identifier "local_74") (+ "+") (number_literal "-0x601ca"))) (; ";")) (expression_statement "puStack_a8 = (undefined1 *)0x1ad6;" (assignment_expression "puStack_a8 = (undefined1 *)0x1ad6" (identifier "puStack_a8") (= "=") (cast_expression "(undefined1 *)0x1ad6" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1ad6"))) (; ";")) (expression_statement "FUN_002446e0((int)local_74 + -0x182cba);" (call_expression "FUN_002446e0((int)local_74 + -0x182cba)" (identifier "FUN_002446e0") (argument_list "((int)local_74 + -0x182cba)" (( "(") (binary_expression "(int)local_74 + -0x182cba" (cast_expression "(int)local_74" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_74")) (+ "+") (number_literal "-0x182cba")) () ")"))) (; ";")) (} "}"))) (expression_statement "uStack_a0 = 0x1277e7;" (assignment_expression "uStack_a0 = 0x1277e7" (identifier "uStack_a0") (= "=") (number_literal "0x1277e7")) (; ";")) (expression_statement "puVar6 = (undefined4 *)FUN_00110560();" (assignment_expression "puVar6 = (undefined4 *)FUN_00110560()" (identifier "puVar6") (= "=") (cast_expression "(undefined4 *)FUN_00110560()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00110560()" (identifier "FUN_00110560") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "*puVar6 = piVar4;" (assignment_expression "*puVar6 = piVar4" (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) (= "=") (identifier "piVar4")) (; ";")) (expression_statement "local_78 = (undefined1 **)param_4;" (assignment_expression "local_78 = (undefined1 **)param_4" (identifier "local_78") (= "=") (cast_expression "(undefined1 **)param_4" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "param_4"))) (; ";")) (if_statement "if ((param_4 == (undefined1 *)0x0) || (*(undefined1 **)(param_1 + 0x28) <= param_4)) {\n    local_7c = *(undefined1 **)(param_1 + 4);\n    puStack_a8 = (undefined1 *)(param_1 + 0x90);\n    ppuStack_a4 = (undefined **)local_70[0];\n    local_84 = local_70[0];\n    FUN_00106d90(local_34);\n    local_80 = local_34[0];\n    uVar7 = gettext(local_74 + -0x5f8d0);\n                    \n    FUN_0023b810(uVar7,local_80,local_84,local_78,local_7c);\n    ppuVar8 = (undefined1 **)&uStack_a0;\n    ppuVar9 = (undefined1 **)&uStack_a0;\n    if (local_34[0] != local_2c) {\nLAB_00127856:\n      *(undefined1 **)((int)ppuVar8 + -0x10) = local_34[0];\n      *(undefined4 *)((int)ppuVar8 + -0x14) = 0x127862;\n      FUN_003ae080();\n      ppuVar9 = ppuVar8;\n    }\n  }\n  else {\n    uStack_a0 = 0x12789a;\n    piVar5 = (int *)FUN_00110560();\n    if (*piVar5 == 0) {\n      uStack_a0 = 0x127afa;\n      puVar6 = (undefined4 *)FUN_00110560();\n      *puVar6 = piVar4;\n      goto LAB_00127869;\n    }\n    puVar1 = (undefined1 *)(param_1 + 0x90);\n    uStack_a0 = 0x1278b4;\n    piVar5 = (int *)FUN_00110560();\n    local_88 = *(undefined4 *)(param_1 + 4);\n    local_80 = *(undefined1 **)(*piVar5 + 4);\n    ppuStack_a4 = (undefined **)param_4;\n    local_78 = (undefined1 **)param_4;\n    puStack_a8 = puVar1;\n    FUN_00106d90(local_34);\n    local_84 = local_34[0];\n    puStack_a8 = local_80;\n                    \n    FUN_00106d90(local_4c,puVar1);\n    local_8c = local_4c[0];\n    local_7c = local_70[0];\n                    \n    FUN_00106d90(local_64,puVar1,local_70[0]);\n    local_90 = local_64[0];\n    uVar7 = gettext(local_74 + -0x5f8c2);\n                    \n    FUN_0023b810(uVar7,local_90,local_7c,local_8c,local_80,local_84,local_78,local_88);\n    if (local_64[0] != local_5c) {\n      FUN_003ae080(local_64[0]);\n    }\n    if (local_4c[0] != local_44) {\n      FUN_003ae080(local_4c[0]);\n    }\n    ppuVar8 = &puStack_a8;\n    ppuVar9 = &puStack_a8;\n    if (local_34[0] != local_2c) goto LAB_00127856;\n  }" (if "if") (parenthesized_expression "((param_4 == (undefined1 *)0x0) || (*(undefined1 **)(param_1 + 0x28) <= param_4))" (( "(") (binary_expression "(param_4 == (undefined1 *)0x0) || (*(undefined1 **)(param_1 + 0x28) <= param_4)" (parenthesized_expression "(param_4 == (undefined1 *)0x0)" (( "(") (binary_expression "param_4 == (undefined1 *)0x0" (identifier "param_4") (== "==") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(*(undefined1 **)(param_1 + 0x28) <= param_4)" (( "(") (binary_expression "*(undefined1 **)(param_1 + 0x28) <= param_4" (pointer_expression "*(undefined1 **)(param_1 + 0x28)" (* "*") (cast_expression "(undefined1 **)(param_1 + 0x28)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")")))) (<= "<=") (identifier "param_4")) () ")"))) () ")")) (compound_statement "{\n    local_7c = *(undefined1 **)(param_1 + 4);\n    puStack_a8 = (undefined1 *)(param_1 + 0x90);\n    ppuStack_a4 = (undefined **)local_70[0];\n    local_84 = local_70[0];\n    FUN_00106d90(local_34);\n    local_80 = local_34[0];\n    uVar7 = gettext(local_74 + -0x5f8d0);\n                    \n    FUN_0023b810(uVar7,local_80,local_84,local_78,local_7c);\n    ppuVar8 = (undefined1 **)&uStack_a0;\n    ppuVar9 = (undefined1 **)&uStack_a0;\n    if (local_34[0] != local_2c) {\nLAB_00127856:\n      *(undefined1 **)((int)ppuVar8 + -0x10) = local_34[0];\n      *(undefined4 *)((int)ppuVar8 + -0x14) = 0x127862;\n      FUN_003ae080();\n      ppuVar9 = ppuVar8;\n    }\n  }" ({ "{") (expression_statement "local_7c = *(undefined1 **)(param_1 + 4);" (assignment_expression "local_7c = *(undefined1 **)(param_1 + 4)" (identifier "local_7c") (= "=") (pointer_expression "*(undefined1 **)(param_1 + 4)" (* "*") (cast_expression "(undefined1 **)(param_1 + 4)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "puStack_a8 = (undefined1 *)(param_1 + 0x90);" (assignment_expression "puStack_a8 = (undefined1 *)(param_1 + 0x90)" (identifier "puStack_a8") (= "=") (cast_expression "(undefined1 *)(param_1 + 0x90)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x90)" (( "(") (binary_expression "param_1 + 0x90" (identifier "param_1") (+ "+") (number_literal "0x90")) () ")")))) (; ";")) (expression_statement "ppuStack_a4 = (undefined **)local_70[0];" (assignment_expression "ppuStack_a4 = (undefined **)local_70[0]" (identifier "ppuStack_a4") (= "=") (cast_expression "(undefined **)local_70[0]" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "local_70[0]" (identifier "local_70") ([ "[") (number_literal "0") (] "]")))) (; ";")) (expression_statement "local_84 = local_70[0];" (assignment_expression "local_84 = local_70[0]" (identifier "local_84") (= "=") (subscript_expression "local_70[0]" (identifier "local_70") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "FUN_00106d90(local_34);" (call_expression "FUN_00106d90(local_34)" (identifier "FUN_00106d90") (argument_list "(local_34)" (( "(") (identifier "local_34") () ")"))) (; ";")) (expression_statement "local_80 = local_34[0];" (assignment_expression "local_80 = local_34[0]" (identifier "local_80") (= "=") (subscript_expression "local_34[0]" (identifier "local_34") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "uVar7 = gettext(local_74 + -0x5f8d0);" (assignment_expression "uVar7 = gettext(local_74 + -0x5f8d0)" (identifier "uVar7") (= "=") (call_expression "gettext(local_74 + -0x5f8d0)" (identifier "gettext") (argument_list "(local_74 + -0x5f8d0)" (( "(") (binary_expression "local_74 + -0x5f8d0" (identifier "local_74") (+ "+") (number_literal "-0x5f8d0")) () ")")))) (; ";")) (expression_statement "FUN_0023b810(uVar7,local_80,local_84,local_78,local_7c);" (call_expression "FUN_0023b810(uVar7,local_80,local_84,local_78,local_7c)" (identifier "FUN_0023b810") (argument_list "(uVar7,local_80,local_84,local_78,local_7c)" (( "(") (identifier "uVar7") (, ",") (identifier "local_80") (, ",") (identifier "local_84") (, ",") (identifier "local_78") (, ",") (identifier "local_7c") () ")"))) (; ";")) (expression_statement "ppuVar8 = (undefined1 **)&uStack_a0;" (assignment_expression "ppuVar8 = (undefined1 **)&uStack_a0" (identifier "ppuVar8") (= "=") (cast_expression "(undefined1 **)&uStack_a0" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "&uStack_a0" (& "&") (identifier "uStack_a0")))) (; ";")) (expression_statement "ppuVar9 = (undefined1 **)&uStack_a0;" (assignment_expression "ppuVar9 = (undefined1 **)&uStack_a0" (identifier "ppuVar9") (= "=") (cast_expression "(undefined1 **)&uStack_a0" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "&uStack_a0" (& "&") (identifier "uStack_a0")))) (; ";")) (if_statement "if (local_34[0] != local_2c) {\nLAB_00127856:\n      *(undefined1 **)((int)ppuVar8 + -0x10) = local_34[0];\n      *(undefined4 *)((int)ppuVar8 + -0x14) = 0x127862;\n      FUN_003ae080();\n      ppuVar9 = ppuVar8;\n    }" (if "if") (parenthesized_expression "(local_34[0] != local_2c)" (( "(") (binary_expression "local_34[0] != local_2c" (subscript_expression "local_34[0]" (identifier "local_34") ([ "[") (number_literal "0") (] "]")) (!= "!=") (identifier "local_2c")) () ")")) (compound_statement "{\nLAB_00127856:\n      *(undefined1 **)((int)ppuVar8 + -0x10) = local_34[0];\n      *(undefined4 *)((int)ppuVar8 + -0x14) = 0x127862;\n      FUN_003ae080();\n      ppuVar9 = ppuVar8;\n    }" ({ "{") (labeled_statement "LAB_00127856:\n      *(undefined1 **)((int)ppuVar8 + -0x10) = local_34[0];" (statement_identifier "LAB_00127856") (: ":") (expression_statement "*(undefined1 **)((int)ppuVar8 + -0x10) = local_34[0];" (assignment_expression "*(undefined1 **)((int)ppuVar8 + -0x10) = local_34[0]" (pointer_expression "*(undefined1 **)((int)ppuVar8 + -0x10)" (* "*") (cast_expression "(undefined1 **)((int)ppuVar8 + -0x10)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppuVar8 + -0x10)" (( "(") (binary_expression "(int)ppuVar8 + -0x10" (cast_expression "(int)ppuVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar8")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "local_34[0]" (identifier "local_34") ([ "[") (number_literal "0") (] "]"))) (; ";"))) (expression_statement "*(undefined4 *)((int)ppuVar8 + -0x14) = 0x127862;" (assignment_expression "*(undefined4 *)((int)ppuVar8 + -0x14) = 0x127862" (pointer_expression "*(undefined4 *)((int)ppuVar8 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)ppuVar8 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppuVar8 + -0x14)" (( "(") (binary_expression "(int)ppuVar8 + -0x14" (cast_expression "(int)ppuVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar8")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x127862")) (; ";")) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" (identifier "FUN_003ae080") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ppuVar9 = ppuVar8;" (assignment_expression "ppuVar9 = ppuVar8" (identifier "ppuVar9") (= "=") (identifier "ppuVar8")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    uStack_a0 = 0x12789a;\n    piVar5 = (int *)FUN_00110560();\n    if (*piVar5 == 0) {\n      uStack_a0 = 0x127afa;\n      puVar6 = (undefined4 *)FUN_00110560();\n      *puVar6 = piVar4;\n      goto LAB_00127869;\n    }\n    puVar1 = (undefined1 *)(param_1 + 0x90);\n    uStack_a0 = 0x1278b4;\n    piVar5 = (int *)FUN_00110560();\n    local_88 = *(undefined4 *)(param_1 + 4);\n    local_80 = *(undefined1 **)(*piVar5 + 4);\n    ppuStack_a4 = (undefined **)param_4;\n    local_78 = (undefined1 **)param_4;\n    puStack_a8 = puVar1;\n    FUN_00106d90(local_34);\n    local_84 = local_34[0];\n    puStack_a8 = local_80;\n                    \n    FUN_00106d90(local_4c,puVar1);\n    local_8c = local_4c[0];\n    local_7c = local_70[0];\n                    \n    FUN_00106d90(local_64,puVar1,local_70[0]);\n    local_90 = local_64[0];\n    uVar7 = gettext(local_74 + -0x5f8c2);\n                    \n    FUN_0023b810(uVar7,local_90,local_7c,local_8c,local_80,local_84,local_78,local_88);\n    if (local_64[0] != local_5c) {\n      FUN_003ae080(local_64[0]);\n    }\n    if (local_4c[0] != local_44) {\n      FUN_003ae080(local_4c[0]);\n    }\n    ppuVar8 = &puStack_a8;\n    ppuVar9 = &puStack_a8;\n    if (local_34[0] != local_2c) goto LAB_00127856;\n  }" (else "else") (compound_statement "{\n    uStack_a0 = 0x12789a;\n    piVar5 = (int *)FUN_00110560();\n    if (*piVar5 == 0) {\n      uStack_a0 = 0x127afa;\n      puVar6 = (undefined4 *)FUN_00110560();\n      *puVar6 = piVar4;\n      goto LAB_00127869;\n    }\n    puVar1 = (undefined1 *)(param_1 + 0x90);\n    uStack_a0 = 0x1278b4;\n    piVar5 = (int *)FUN_00110560();\n    local_88 = *(undefined4 *)(param_1 + 4);\n    local_80 = *(undefined1 **)(*piVar5 + 4);\n    ppuStack_a4 = (undefined **)param_4;\n    local_78 = (undefined1 **)param_4;\n    puStack_a8 = puVar1;\n    FUN_00106d90(local_34);\n    local_84 = local_34[0];\n    puStack_a8 = local_80;\n                    \n    FUN_00106d90(local_4c,puVar1);\n    local_8c = local_4c[0];\n    local_7c = local_70[0];\n                    \n    FUN_00106d90(local_64,puVar1,local_70[0]);\n    local_90 = local_64[0];\n    uVar7 = gettext(local_74 + -0x5f8c2);\n                    \n    FUN_0023b810(uVar7,local_90,local_7c,local_8c,local_80,local_84,local_78,local_88);\n    if (local_64[0] != local_5c) {\n      FUN_003ae080(local_64[0]);\n    }\n    if (local_4c[0] != local_44) {\n      FUN_003ae080(local_4c[0]);\n    }\n    ppuVar8 = &puStack_a8;\n    ppuVar9 = &puStack_a8;\n    if (local_34[0] != local_2c) goto LAB_00127856;\n  }" ({ "{") (expression_statement "uStack_a0 = 0x12789a;" (assignment_expression "uStack_a0 = 0x12789a" (identifier "uStack_a0") (= "=") (number_literal "0x12789a")) (; ";")) (expression_statement "piVar5 = (int *)FUN_00110560();" (assignment_expression "piVar5 = (int *)FUN_00110560()" (identifier "piVar5") (= "=") (cast_expression "(int *)FUN_00110560()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00110560()" (identifier "FUN_00110560") (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if (*piVar5 == 0) {\n      uStack_a0 = 0x127afa;\n      puVar6 = (undefined4 *)FUN_00110560();\n      *puVar6 = piVar4;\n      goto LAB_00127869;\n    }" (if "if") (parenthesized_expression "(*piVar5 == 0)" (( "(") (binary_expression "*piVar5 == 0" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uStack_a0 = 0x127afa;\n      puVar6 = (undefined4 *)FUN_00110560();\n      *puVar6 = piVar4;\n      goto LAB_00127869;\n    }" ({ "{") (expression_statement "uStack_a0 = 0x127afa;" (assignment_expression "uStack_a0 = 0x127afa" (identifier "uStack_a0") (= "=") (number_literal "0x127afa")) (; ";")) (expression_statement "puVar6 = (undefined4 *)FUN_00110560();" (assignment_expression "puVar6 = (undefined4 *)FUN_00110560()" (identifier "puVar6") (= "=") (cast_expression "(undefined4 *)FUN_00110560()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00110560()" (identifier "FUN_00110560") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "*puVar6 = piVar4;" (assignment_expression "*puVar6 = piVar4" (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) (= "=") (identifier "piVar4")) (; ";")) (goto_statement "goto LAB_00127869;" (goto "goto") (statement_identifier "LAB_00127869") (; ";")) (} "}"))) (expression_statement "puVar1 = (undefined1 *)(param_1 + 0x90);" (assignment_expression "puVar1 = (undefined1 *)(param_1 + 0x90)" (identifier "puVar1") (= "=") (cast_expression "(undefined1 *)(param_1 + 0x90)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x90)" (( "(") (binary_expression "param_1 + 0x90" (identifier "param_1") (+ "+") (number_literal "0x90")) () ")")))) (; ";")) (expression_statement "uStack_a0 = 0x1278b4;" (assignment_expression "uStack_a0 = 0x1278b4" (identifier "uStack_a0") (= "=") (number_literal "0x1278b4")) (; ";")) (expression_statement "piVar5 = (int *)FUN_00110560();" (assignment_expression "piVar5 = (int *)FUN_00110560()" (identifier "piVar5") (= "=") (cast_expression "(int *)FUN_00110560()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00110560()" (identifier "FUN_00110560") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "local_88 = *(undefined4 *)(param_1 + 4);" (assignment_expression "local_88 = *(undefined4 *)(param_1 + 4)" (identifier "local_88") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 4)" (* "*") (cast_expression "(undefined4 *)(param_1 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "local_80 = *(undefined1 **)(*piVar5 + 4);" (assignment_expression "local_80 = *(undefined1 **)(*piVar5 + 4)" (identifier "local_80") (= "=") (pointer_expression "*(undefined1 **)(*piVar5 + 4)" (* "*") (cast_expression "(undefined1 **)(*piVar5 + 4)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar5 + 4)" (( "(") (binary_expression "*piVar5 + 4" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "ppuStack_a4 = (undefined **)param_4;" (assignment_expression "ppuStack_a4 = (undefined **)param_4" (identifier "ppuStack_a4") (= "=") (cast_expression "(undefined **)param_4" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "param_4"))) (; ";")) (expression_statement "local_78 = (undefined1 **)param_4;" (assignment_expression "local_78 = (undefined1 **)param_4" (identifier "local_78") (= "=") (cast_expression "(undefined1 **)param_4" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "param_4"))) (; ";")) (expression_statement "puStack_a8 = puVar1;" (assignment_expression "puStack_a8 = puVar1" (identifier "puStack_a8") (= "=") (identifier "puVar1")) (; ";")) (expression_statement "FUN_00106d90(local_34);" (call_expression "FUN_00106d90(local_34)" (identifier "FUN_00106d90") (argument_list "(local_34)" (( "(") (identifier "local_34") () ")"))) (; ";")) (expression_statement "local_84 = local_34[0];" (assignment_expression "local_84 = local_34[0]" (identifier "local_84") (= "=") (subscript_expression "local_34[0]" (identifier "local_34") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "puStack_a8 = local_80;" (assignment_expression "puStack_a8 = local_80" (identifier "puStack_a8") (= "=") (identifier "local_80")) (; ";")) (expression_statement "FUN_00106d90(local_4c,puVar1);" (call_expression "FUN_00106d90(local_4c,puVar1)" (identifier "FUN_00106d90") (argument_list "(local_4c,puVar1)" (( "(") (identifier "local_4c") (, ",") (identifier "puVar1") () ")"))) (; ";")) (expression_statement "local_8c = local_4c[0];" (assignment_expression "local_8c = local_4c[0]" (identifier "local_8c") (= "=") (subscript_expression "local_4c[0]" (identifier "local_4c") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "local_7c = local_70[0];" (assignment_expression "local_7c = local_70[0]" (identifier "local_7c") (= "=") (subscript_expression "local_70[0]" (identifier "local_70") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "FUN_00106d90(local_64,puVar1,local_70[0]);" (call_expression "FUN_00106d90(local_64,puVar1,local_70[0])" (identifier "FUN_00106d90") (argument_list "(local_64,puVar1,local_70[0])" (( "(") (identifier "local_64") (, ",") (identifier "puVar1") (, ",") (subscript_expression "local_70[0]" (identifier "local_70") ([ "[") (number_literal "0") (] "]")) () ")"))) (; ";")) (expression_statement "local_90 = local_64[0];" (assignment_expression "local_90 = local_64[0]" (identifier "local_90") (= "=") (subscript_expression "local_64[0]" (identifier "local_64") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "uVar7 = gettext(local_74 + -0x5f8c2);" (assignment_expression "uVar7 = gettext(local_74 + -0x5f8c2)" (identifier "uVar7") (= "=") (call_expression "gettext(local_74 + -0x5f8c2)" (identifier "gettext") (argument_list "(local_74 + -0x5f8c2)" (( "(") (binary_expression "local_74 + -0x5f8c2" (identifier "local_74") (+ "+") (number_literal "-0x5f8c2")) () ")")))) (; ";")) (expression_statement "FUN_0023b810(uVar7,local_90,local_7c,local_8c,local_80,local_84,local_78,local_88);" (call_expression "FUN_0023b810(uVar7,local_90,local_7c,local_8c,local_80,local_84,local_78,local_88)" (identifier "FUN_0023b810") (argument_list "(uVar7,local_90,local_7c,local_8c,local_80,local_84,local_78,local_88)" (( "(") (identifier "uVar7") (, ",") (identifier "local_90") (, ",") (identifier "local_7c") (, ",") (identifier "local_8c") (, ",") (identifier "local_80") (, ",") (identifier "local_84") (, ",") (identifier "local_78") (, ",") (identifier "local_88") () ")"))) (; ";")) (if_statement "if (local_64[0] != local_5c) {\n      FUN_003ae080(local_64[0]);\n    }" (if "if") (parenthesized_expression "(local_64[0] != local_5c)" (( "(") (binary_expression "local_64[0] != local_5c" (subscript_expression "local_64[0]" (identifier "local_64") ([ "[") (number_literal "0") (] "]")) (!= "!=") (identifier "local_5c")) () ")")) (compound_statement "{\n      FUN_003ae080(local_64[0]);\n    }" ({ "{") (expression_statement "FUN_003ae080(local_64[0]);" (call_expression "FUN_003ae080(local_64[0])" (identifier "FUN_003ae080") (argument_list "(local_64[0])" (( "(") (subscript_expression "local_64[0]" (identifier "local_64") ([ "[") (number_literal "0") (] "]")) () ")"))) (; ";")) (} "}"))) (if_statement "if (local_4c[0] != local_44) {\n      FUN_003ae080(local_4c[0]);\n    }" (if "if") (parenthesized_expression "(local_4c[0] != local_44)" (( "(") (binary_expression "local_4c[0] != local_44" (subscript_expression "local_4c[0]" (identifier "local_4c") ([ "[") (number_literal "0") (] "]")) (!= "!=") (identifier "local_44")) () ")")) (compound_statement "{\n      FUN_003ae080(local_4c[0]);\n    }" ({ "{") (expression_statement "FUN_003ae080(local_4c[0]);" (call_expression "FUN_003ae080(local_4c[0])" (identifier "FUN_003ae080") (argument_list "(local_4c[0])" (( "(") (subscript_expression "local_4c[0]" (identifier "local_4c") ([ "[") (number_literal "0") (] "]")) () ")"))) (; ";")) (} "}"))) (expression_statement "ppuVar8 = &puStack_a8;" (assignment_expression "ppuVar8 = &puStack_a8" (identifier "ppuVar8") (= "=") (pointer_expression "&puStack_a8" (& "&") (identifier "puStack_a8"))) (; ";")) (expression_statement "ppuVar9 = &puStack_a8;" (assignment_expression "ppuVar9 = &puStack_a8" (identifier "ppuVar9") (= "=") (pointer_expression "&puStack_a8" (& "&") (identifier "puStack_a8"))) (; ";")) (if_statement "if (local_34[0] != local_2c) goto LAB_00127856;" (if "if") (parenthesized_expression "(local_34[0] != local_2c)" (( "(") (binary_expression "local_34[0] != local_2c" (subscript_expression "local_34[0]" (identifier "local_34") ([ "[") (number_literal "0") (] "]")) (!= "!=") (identifier "local_2c")) () ")")) (goto_statement "goto LAB_00127856;" (goto "goto") (statement_identifier "LAB_00127856") (; ";"))) (} "}")))) (expression_statement "*(undefined1 *)(piVar4 + 6) = 1;" (assignment_expression "*(undefined1 *)(piVar4 + 6) = 1" (pointer_expression "*(undefined1 *)(piVar4 + 6)" (* "*") (cast_expression "(undefined1 *)(piVar4 + 6)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar4 + 6)" (( "(") (binary_expression "piVar4 + 6" (identifier "piVar4") (+ "+") (number_literal "6")) () ")")))) (= "=") (number_literal "1")) (; ";")) (labeled_statement "LAB_00127869:\n  if ((*(uint *)(*param_5 + 8) >> 0x18 & 2) == 0) {\n    local_80 = *(undefined1 **)(param_1 + 4);\n    *(undefined1 **)((int)ppuVar9 + -8) = param_4;\n    *(int *)((int)ppuVar9 + -0xc) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x10) = local_34;\n    local_78 = (undefined1 **)param_4;\n    *(undefined4 *)((int)ppuVar9 + -0x14) = 0x127a68;\n    FUN_00106d90();\n    puVar1 = local_70[0];\n    local_7c = local_34[0];\n    *(undefined1 **)((int)ppuVar9 + -0xc) = local_70[0];\n    *(int *)((int)ppuVar9 + -0x10) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x14) = local_4c;\n                    \n    *(undefined4 *)((int)ppuVar9 + -0x18) = 0x127a7e;\n    FUN_00106d90();\n    local_84 = local_4c[0];\n    *(undefined ***)((int)ppuVar9 + -0x18) = local_74 + -0x5f8b0;\n    *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a95;\n    uVar7 = gettext();\n    *(undefined1 **)((int)ppuVar9 + -0x14) = local_80;\n    *(undefined1 ***)((int)ppuVar9 + -0x18) = local_78;\n    *(undefined1 **)((int)ppuVar9 + -0x1c) = local_7c;\n    *(undefined1 **)((int)ppuVar9 + -0x20) = puVar1;\n    *(undefined1 **)((int)ppuVar9 + -0x24) = local_84;\n    *(undefined4 *)((int)ppuVar9 + -0x28) = uVar7;\n                    \n    *(undefined4 *)((int)ppuVar9 + -0x2c) = 0x127ab0;\n    FUN_0023b810();\n    if (local_4c[0] != local_44) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127ac6;\n      FUN_003ae080();\n    }\n    if (local_34[0] != local_2c) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127adf;\n      FUN_003ae080();\n    }\n    *(undefined1 *)(piVar4 + 6) = 1;\n    return;\n  }" (statement_identifier "LAB_00127869") (: ":") (if_statement "if ((*(uint *)(*param_5 + 8) >> 0x18 & 2) == 0) {\n    local_80 = *(undefined1 **)(param_1 + 4);\n    *(undefined1 **)((int)ppuVar9 + -8) = param_4;\n    *(int *)((int)ppuVar9 + -0xc) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x10) = local_34;\n    local_78 = (undefined1 **)param_4;\n    *(undefined4 *)((int)ppuVar9 + -0x14) = 0x127a68;\n    FUN_00106d90();\n    puVar1 = local_70[0];\n    local_7c = local_34[0];\n    *(undefined1 **)((int)ppuVar9 + -0xc) = local_70[0];\n    *(int *)((int)ppuVar9 + -0x10) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x14) = local_4c;\n                    \n    *(undefined4 *)((int)ppuVar9 + -0x18) = 0x127a7e;\n    FUN_00106d90();\n    local_84 = local_4c[0];\n    *(undefined ***)((int)ppuVar9 + -0x18) = local_74 + -0x5f8b0;\n    *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a95;\n    uVar7 = gettext();\n    *(undefined1 **)((int)ppuVar9 + -0x14) = local_80;\n    *(undefined1 ***)((int)ppuVar9 + -0x18) = local_78;\n    *(undefined1 **)((int)ppuVar9 + -0x1c) = local_7c;\n    *(undefined1 **)((int)ppuVar9 + -0x20) = puVar1;\n    *(undefined1 **)((int)ppuVar9 + -0x24) = local_84;\n    *(undefined4 *)((int)ppuVar9 + -0x28) = uVar7;\n                    \n    *(undefined4 *)((int)ppuVar9 + -0x2c) = 0x127ab0;\n    FUN_0023b810();\n    if (local_4c[0] != local_44) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127ac6;\n      FUN_003ae080();\n    }\n    if (local_34[0] != local_2c) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127adf;\n      FUN_003ae080();\n    }\n    *(undefined1 *)(piVar4 + 6) = 1;\n    return;\n  }" (if "if") (parenthesized_expression "((*(uint *)(*param_5 + 8) >> 0x18 & 2) == 0)" (( "(") (binary_expression "(*(uint *)(*param_5 + 8) >> 0x18 & 2) == 0" (parenthesized_expression "(*(uint *)(*param_5 + 8) >> 0x18 & 2)" (( "(") (binary_expression "*(uint *)(*param_5 + 8) >> 0x18 & 2" (binary_expression "*(uint *)(*param_5 + 8) >> 0x18" (pointer_expression "*(uint *)(*param_5 + 8)" (* "*") (cast_expression "(uint *)(*param_5 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_5 + 8)" (( "(") (binary_expression "*param_5 + 8" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (+ "+") (number_literal "8")) () ")")))) (>> ">>") (number_literal "0x18")) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    local_80 = *(undefined1 **)(param_1 + 4);\n    *(undefined1 **)((int)ppuVar9 + -8) = param_4;\n    *(int *)((int)ppuVar9 + -0xc) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x10) = local_34;\n    local_78 = (undefined1 **)param_4;\n    *(undefined4 *)((int)ppuVar9 + -0x14) = 0x127a68;\n    FUN_00106d90();\n    puVar1 = local_70[0];\n    local_7c = local_34[0];\n    *(undefined1 **)((int)ppuVar9 + -0xc) = local_70[0];\n    *(int *)((int)ppuVar9 + -0x10) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x14) = local_4c;\n                    \n    *(undefined4 *)((int)ppuVar9 + -0x18) = 0x127a7e;\n    FUN_00106d90();\n    local_84 = local_4c[0];\n    *(undefined ***)((int)ppuVar9 + -0x18) = local_74 + -0x5f8b0;\n    *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a95;\n    uVar7 = gettext();\n    *(undefined1 **)((int)ppuVar9 + -0x14) = local_80;\n    *(undefined1 ***)((int)ppuVar9 + -0x18) = local_78;\n    *(undefined1 **)((int)ppuVar9 + -0x1c) = local_7c;\n    *(undefined1 **)((int)ppuVar9 + -0x20) = puVar1;\n    *(undefined1 **)((int)ppuVar9 + -0x24) = local_84;\n    *(undefined4 *)((int)ppuVar9 + -0x28) = uVar7;\n                    \n    *(undefined4 *)((int)ppuVar9 + -0x2c) = 0x127ab0;\n    FUN_0023b810();\n    if (local_4c[0] != local_44) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127ac6;\n      FUN_003ae080();\n    }\n    if (local_34[0] != local_2c) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127adf;\n      FUN_003ae080();\n    }\n    *(undefined1 *)(piVar4 + 6) = 1;\n    return;\n  }" ({ "{") (expression_statement "local_80 = *(undefined1 **)(param_1 + 4);" (assignment_expression "local_80 = *(undefined1 **)(param_1 + 4)" (identifier "local_80") (= "=") (pointer_expression "*(undefined1 **)(param_1 + 4)" (* "*") (cast_expression "(undefined1 **)(param_1 + 4)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "*(undefined1 **)((int)ppuVar9 + -8) = param_4;" (assignment_expression "*(undefined1 **)((int)ppuVar9 + -8) = param_4" (pointer_expression "*(undefined1 **)((int)ppuVar9 + -8)" (* "*") (cast_expression "(undefined1 **)((int)ppuVar9 + -8)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppuVar9 + -8)" (( "(") (binary_expression "(int)ppuVar9 + -8" (cast_expression "(int)ppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar9")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "param_4")) (; ";")) (expression_statement "*(int *)((int)ppuVar9 + -0xc) = param_1 + 0x90;" (assignment_expression "*(int *)((int)ppuVar9 + -0xc) = param_1 + 0x90" (pointer_expression "*(int *)((int)ppuVar9 + -0xc)" (* "*") (cast_expression "(int *)((int)ppuVar9 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppuVar9 + -0xc)" (( "(") (binary_expression "(int)ppuVar9 + -0xc" (cast_expression "(int)ppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "param_1 + 0x90" (identifier "param_1") (+ "+") (number_literal "0x90"))) (; ";")) (expression_statement "*(undefined1 ***)((int)ppuVar9 + -0x10) = local_34;" (assignment_expression "*(undefined1 ***)((int)ppuVar9 + -0x10) = local_34" (pointer_expression "*(undefined1 ***)((int)ppuVar9 + -0x10)" (* "*") (cast_expression "(undefined1 ***)((int)ppuVar9 + -0x10)" (( "(") (type_descriptor "undefined1 ***" (type_identifier "undefined1") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)ppuVar9 + -0x10)" (( "(") (binary_expression "(int)ppuVar9 + -0x10" (cast_expression "(int)ppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_34")) (; ";")) (expression_statement "local_78 = (undefined1 **)param_4;" (assignment_expression "local_78 = (undefined1 **)param_4" (identifier "local_78") (= "=") (cast_expression "(undefined1 **)param_4" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "param_4"))) (; ";")) (expression_statement "*(undefined4 *)((int)ppuVar9 + -0x14) = 0x127a68;" (assignment_expression "*(undefined4 *)((int)ppuVar9 + -0x14) = 0x127a68" (pointer_expression "*(undefined4 *)((int)ppuVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)ppuVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppuVar9 + -0x14)" (( "(") (binary_expression "(int)ppuVar9 + -0x14" (cast_expression "(int)ppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x127a68")) (; ";")) (expression_statement "FUN_00106d90();" (call_expression "FUN_00106d90()" (identifier "FUN_00106d90") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar1 = local_70[0];" (assignment_expression "puVar1 = local_70[0]" (identifier "puVar1") (= "=") (subscript_expression "local_70[0]" (identifier "local_70") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "local_7c = local_34[0];" (assignment_expression "local_7c = local_34[0]" (identifier "local_7c") (= "=") (subscript_expression "local_34[0]" (identifier "local_34") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "*(undefined1 **)((int)ppuVar9 + -0xc) = local_70[0];" (assignment_expression "*(undefined1 **)((int)ppuVar9 + -0xc) = local_70[0]" (pointer_expression "*(undefined1 **)((int)ppuVar9 + -0xc)" (* "*") (cast_expression "(undefined1 **)((int)ppuVar9 + -0xc)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppuVar9 + -0xc)" (( "(") (binary_expression "(int)ppuVar9 + -0xc" (cast_expression "(int)ppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (subscript_expression "local_70[0]" (identifier "local_70") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "*(int *)((int)ppuVar9 + -0x10) = param_1 + 0x90;" (assignment_expression "*(int *)((int)ppuVar9 + -0x10) = param_1 + 0x90" (pointer_expression "*(int *)((int)ppuVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)ppuVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppuVar9 + -0x10)" (( "(") (binary_expression "(int)ppuVar9 + -0x10" (cast_expression "(int)ppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "param_1 + 0x90" (identifier "param_1") (+ "+") (number_literal "0x90"))) (; ";")) (expression_statement "*(undefined1 ***)((int)ppuVar9 + -0x14) = local_4c;" (assignment_expression "*(undefined1 ***)((int)ppuVar9 + -0x14) = local_4c" (pointer_expression "*(undefined1 ***)((int)ppuVar9 + -0x14)" (* "*") (cast_expression "(undefined1 ***)((int)ppuVar9 + -0x14)" (( "(") (type_descriptor "undefined1 ***" (type_identifier "undefined1") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)ppuVar9 + -0x14)" (( "(") (binary_expression "(int)ppuVar9 + -0x14" (cast_expression "(int)ppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "local_4c")) (; ";")) (expression_statement "*(undefined4 *)((int)ppuVar9 + -0x18) = 0x127a7e;" (assignment_expression "*(undefined4 *)((int)ppuVar9 + -0x18) = 0x127a7e" (pointer_expression "*(undefined4 *)((int)ppuVar9 + -0x18)" (* "*") (cast_expression "(undefined4 *)((int)ppuVar9 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppuVar9 + -0x18)" (( "(") (binary_expression "(int)ppuVar9 + -0x18" (cast_expression "(int)ppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar9")) (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0x127a7e")) (; ";")) (expression_statement "FUN_00106d90();" (call_expression "FUN_00106d90()" (identifier "FUN_00106d90") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_84 = local_4c[0];" (assignment_expression "local_84 = local_4c[0]" (identifier "local_84") (= "=") (subscript_expression "local_4c[0]" (identifier "local_4c") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "*(undefined ***)((int)ppuVar9 + -0x18) = local_74 + -0x5f8b0;" (assignment_expression "*(undefined ***)((int)ppuVar9 + -0x18) = local_74 + -0x5f8b0" (pointer_expression "*(undefined ***)((int)ppuVar9 + -0x18)" (* "*") (cast_expression "(undefined ***)((int)ppuVar9 + -0x18)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)ppuVar9 + -0x18)" (( "(") (binary_expression "(int)ppuVar9 + -0x18" (cast_expression "(int)ppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar9")) (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (binary_expression "local_74 + -0x5f8b0" (identifier "local_74") (+ "+") (number_literal "-0x5f8b0"))) (; ";")) (expression_statement "*(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a95;" (assignment_expression "*(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a95" (pointer_expression "*(undefined4 *)((int)ppuVar9 + -0x1c)" (* "*") (cast_expression "(undefined4 *)((int)ppuVar9 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppuVar9 + -0x1c)" (( "(") (binary_expression "(int)ppuVar9 + -0x1c" (cast_expression "(int)ppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar9")) (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (number_literal "0x127a95")) (; ";")) (expression_statement "uVar7 = gettext();" (assignment_expression "uVar7 = gettext()" (identifier "uVar7") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined1 **)((int)ppuVar9 + -0x14) = local_80;" (assignment_expression "*(undefined1 **)((int)ppuVar9 + -0x14) = local_80" (pointer_expression "*(undefined1 **)((int)ppuVar9 + -0x14)" (* "*") (cast_expression "(undefined1 **)((int)ppuVar9 + -0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppuVar9 + -0x14)" (( "(") (binary_expression "(int)ppuVar9 + -0x14" (cast_expression "(int)ppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "local_80")) (; ";")) (expression_statement "*(undefined1 ***)((int)ppuVar9 + -0x18) = local_78;" (assignment_expression "*(undefined1 ***)((int)ppuVar9 + -0x18) = local_78" (pointer_expression "*(undefined1 ***)((int)ppuVar9 + -0x18)" (* "*") (cast_expression "(undefined1 ***)((int)ppuVar9 + -0x18)" (( "(") (type_descriptor "undefined1 ***" (type_identifier "undefined1") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)ppuVar9 + -0x18)" (( "(") (binary_expression "(int)ppuVar9 + -0x18" (cast_expression "(int)ppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar9")) (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (identifier "local_78")) (; ";")) (expression_statement "*(undefined1 **)((int)ppuVar9 + -0x1c) = local_7c;" (assignment_expression "*(undefined1 **)((int)ppuVar9 + -0x1c) = local_7c" (pointer_expression "*(undefined1 **)((int)ppuVar9 + -0x1c)" (* "*") (cast_expression "(undefined1 **)((int)ppuVar9 + -0x1c)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppuVar9 + -0x1c)" (( "(") (binary_expression "(int)ppuVar9 + -0x1c" (cast_expression "(int)ppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar9")) (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (identifier "local_7c")) (; ";")) (expression_statement "*(undefined1 **)((int)ppuVar9 + -0x20) = puVar1;" (assignment_expression "*(undefined1 **)((int)ppuVar9 + -0x20) = puVar1" (pointer_expression "*(undefined1 **)((int)ppuVar9 + -0x20)" (* "*") (cast_expression "(undefined1 **)((int)ppuVar9 + -0x20)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppuVar9 + -0x20)" (( "(") (binary_expression "(int)ppuVar9 + -0x20" (cast_expression "(int)ppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar9")) (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "puVar1")) (; ";")) (expression_statement "*(undefined1 **)((int)ppuVar9 + -0x24) = local_84;" (assignment_expression "*(undefined1 **)((int)ppuVar9 + -0x24) = local_84" (pointer_expression "*(undefined1 **)((int)ppuVar9 + -0x24)" (* "*") (cast_expression "(undefined1 **)((int)ppuVar9 + -0x24)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppuVar9 + -0x24)" (( "(") (binary_expression "(int)ppuVar9 + -0x24" (cast_expression "(int)ppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar9")) (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (identifier "local_84")) (; ";")) (expression_statement "*(undefined4 *)((int)ppuVar9 + -0x28) = uVar7;" (assignment_expression "*(undefined4 *)((int)ppuVar9 + -0x28) = uVar7" (pointer_expression "*(undefined4 *)((int)ppuVar9 + -0x28)" (* "*") (cast_expression "(undefined4 *)((int)ppuVar9 + -0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppuVar9 + -0x28)" (( "(") (binary_expression "(int)ppuVar9 + -0x28" (cast_expression "(int)ppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar9")) (+ "+") (number_literal "-0x28")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "*(undefined4 *)((int)ppuVar9 + -0x2c) = 0x127ab0;" (assignment_expression "*(undefined4 *)((int)ppuVar9 + -0x2c) = 0x127ab0" (pointer_expression "*(undefined4 *)((int)ppuVar9 + -0x2c)" (* "*") (cast_expression "(undefined4 *)((int)ppuVar9 + -0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppuVar9 + -0x2c)" (( "(") (binary_expression "(int)ppuVar9 + -0x2c" (cast_expression "(int)ppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar9")) (+ "+") (number_literal "-0x2c")) () ")")))) (= "=") (number_literal "0x127ab0")) (; ";")) (expression_statement "FUN_0023b810();" (call_expression "FUN_0023b810()" (identifier "FUN_0023b810") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (local_4c[0] != local_44) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127ac6;\n      FUN_003ae080();\n    }" (if "if") (parenthesized_expression "(local_4c[0] != local_44)" (( "(") (binary_expression "local_4c[0] != local_44" (subscript_expression "local_4c[0]" (identifier "local_4c") ([ "[") (number_literal "0") (] "]")) (!= "!=") (identifier "local_44")) () ")")) (compound_statement "{\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127ac6;\n      FUN_003ae080();\n    }" ({ "{") (expression_statement "*(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0];" (assignment_expression "*(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0]" (pointer_expression "*(undefined1 **)((int)ppuVar9 + -0x18)" (* "*") (cast_expression "(undefined1 **)((int)ppuVar9 + -0x18)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppuVar9 + -0x18)" (( "(") (binary_expression "(int)ppuVar9 + -0x18" (cast_expression "(int)ppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar9")) (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (subscript_expression "local_4c[0]" (identifier "local_4c") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127ac6;" (assignment_expression "*(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127ac6" (pointer_expression "*(undefined4 *)((int)ppuVar9 + -0x1c)" (* "*") (cast_expression "(undefined4 *)((int)ppuVar9 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppuVar9 + -0x1c)" (( "(") (binary_expression "(int)ppuVar9 + -0x1c" (cast_expression "(int)ppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar9")) (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (number_literal "0x127ac6")) (; ";")) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" (identifier "FUN_003ae080") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_34[0] != local_2c) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127adf;\n      FUN_003ae080();\n    }" (if "if") (parenthesized_expression "(local_34[0] != local_2c)" (( "(") (binary_expression "local_34[0] != local_2c" (subscript_expression "local_34[0]" (identifier "local_34") ([ "[") (number_literal "0") (] "]")) (!= "!=") (identifier "local_2c")) () ")")) (compound_statement "{\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127adf;\n      FUN_003ae080();\n    }" ({ "{") (expression_statement "*(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0];" (assignment_expression "*(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0]" (pointer_expression "*(undefined1 **)((int)ppuVar9 + -0x18)" (* "*") (cast_expression "(undefined1 **)((int)ppuVar9 + -0x18)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppuVar9 + -0x18)" (( "(") (binary_expression "(int)ppuVar9 + -0x18" (cast_expression "(int)ppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar9")) (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (subscript_expression "local_34[0]" (identifier "local_34") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127adf;" (assignment_expression "*(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127adf" (pointer_expression "*(undefined4 *)((int)ppuVar9 + -0x1c)" (* "*") (cast_expression "(undefined4 *)((int)ppuVar9 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppuVar9 + -0x1c)" (( "(") (binary_expression "(int)ppuVar9 + -0x1c" (cast_expression "(int)ppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar9")) (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (number_literal "0x127adf")) (; ";")) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" (identifier "FUN_003ae080") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "*(undefined1 *)(piVar4 + 6) = 1;" (assignment_expression "*(undefined1 *)(piVar4 + 6) = 1" (pointer_expression "*(undefined1 *)(piVar4 + 6)" (* "*") (cast_expression "(undefined1 *)(piVar4 + 6)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar4 + 6)" (( "(") (binary_expression "piVar4 + 6" (identifier "piVar4") (+ "+") (number_literal "6")) () ")")))) (= "=") (number_literal "1")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))) (if_statement "if ((*(uint *)(*param_5 + 8) & 0x4000000) == 0) {\n    local_7c = *(undefined1 **)(param_1 + 4);\n    *(undefined1 **)((int)ppuVar9 + -8) = param_4;\n    *(int *)((int)ppuVar9 + -0xc) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x10) = local_34;\n    *(undefined4 *)((int)ppuVar9 + -0x14) = 0x1279bd;\n    FUN_00106d90();\n    puVar1 = local_70[0];\n    local_78 = (undefined1 **)local_34[0];\n    *(undefined1 **)((int)ppuVar9 + -0xc) = local_70[0];\n    *(int *)((int)ppuVar9 + -0x10) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x14) = local_4c;\n                    \n    *(undefined4 *)((int)ppuVar9 + -0x18) = 0x1279d3;\n    FUN_00106d90();\n    local_80 = local_4c[0];\n    *(undefined ***)((int)ppuVar9 + -0x18) = local_74 + -0x5f89f;\n    *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x1279ea;\n    uVar7 = gettext();\n    *(undefined1 **)((int)ppuVar9 + -0x14) = local_7c;\n    *(undefined1 **)((int)ppuVar9 + -0x18) = param_4;\n    *(undefined1 ***)((int)ppuVar9 + -0x1c) = local_78;\n    *(undefined1 **)((int)ppuVar9 + -0x20) = puVar1;\n    *(undefined1 **)((int)ppuVar9 + -0x24) = local_80;\n    *(undefined4 *)((int)ppuVar9 + -0x28) = uVar7;\n                    \n    *(undefined4 *)((int)ppuVar9 + -0x2c) = 0x127a03;\n    FUN_0023b840();\n    if (local_4c[0] != local_44) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a19;\n      FUN_003ae080();\n    }\n    if (local_34[0] != local_2c) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a36;\n      FUN_003ae080();\n      return;\n    }\n  }" (if "if") (parenthesized_expression "((*(uint *)(*param_5 + 8) & 0x4000000) == 0)" (( "(") (binary_expression "(*(uint *)(*param_5 + 8) & 0x4000000) == 0" (parenthesized_expression "(*(uint *)(*param_5 + 8) & 0x4000000)" (( "(") (binary_expression "*(uint *)(*param_5 + 8) & 0x4000000" (pointer_expression "*(uint *)(*param_5 + 8)" (* "*") (cast_expression "(uint *)(*param_5 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_5 + 8)" (( "(") (binary_expression "*param_5 + 8" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (+ "+") (number_literal "8")) () ")")))) (& "&") (number_literal "0x4000000")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    local_7c = *(undefined1 **)(param_1 + 4);\n    *(undefined1 **)((int)ppuVar9 + -8) = param_4;\n    *(int *)((int)ppuVar9 + -0xc) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x10) = local_34;\n    *(undefined4 *)((int)ppuVar9 + -0x14) = 0x1279bd;\n    FUN_00106d90();\n    puVar1 = local_70[0];\n    local_78 = (undefined1 **)local_34[0];\n    *(undefined1 **)((int)ppuVar9 + -0xc) = local_70[0];\n    *(int *)((int)ppuVar9 + -0x10) = param_1 + 0x90;\n    *(undefined1 ***)((int)ppuVar9 + -0x14) = local_4c;\n                    \n    *(undefined4 *)((int)ppuVar9 + -0x18) = 0x1279d3;\n    FUN_00106d90();\n    local_80 = local_4c[0];\n    *(undefined ***)((int)ppuVar9 + -0x18) = local_74 + -0x5f89f;\n    *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x1279ea;\n    uVar7 = gettext();\n    *(undefined1 **)((int)ppuVar9 + -0x14) = local_7c;\n    *(undefined1 **)((int)ppuVar9 + -0x18) = param_4;\n    *(undefined1 ***)((int)ppuVar9 + -0x1c) = local_78;\n    *(undefined1 **)((int)ppuVar9 + -0x20) = puVar1;\n    *(undefined1 **)((int)ppuVar9 + -0x24) = local_80;\n    *(undefined4 *)((int)ppuVar9 + -0x28) = uVar7;\n                    \n    *(undefined4 *)((int)ppuVar9 + -0x2c) = 0x127a03;\n    FUN_0023b840();\n    if (local_4c[0] != local_44) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a19;\n      FUN_003ae080();\n    }\n    if (local_34[0] != local_2c) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a36;\n      FUN_003ae080();\n      return;\n    }\n  }" ({ "{") (expression_statement "local_7c = *(undefined1 **)(param_1 + 4);" (assignment_expression "local_7c = *(undefined1 **)(param_1 + 4)" (identifier "local_7c") (= "=") (pointer_expression "*(undefined1 **)(param_1 + 4)" (* "*") (cast_expression "(undefined1 **)(param_1 + 4)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "*(undefined1 **)((int)ppuVar9 + -8) = param_4;" (assignment_expression "*(undefined1 **)((int)ppuVar9 + -8) = param_4" (pointer_expression "*(undefined1 **)((int)ppuVar9 + -8)" (* "*") (cast_expression "(undefined1 **)((int)ppuVar9 + -8)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppuVar9 + -8)" (( "(") (binary_expression "(int)ppuVar9 + -8" (cast_expression "(int)ppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar9")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "param_4")) (; ";")) (expression_statement "*(int *)((int)ppuVar9 + -0xc) = param_1 + 0x90;" (assignment_expression "*(int *)((int)ppuVar9 + -0xc) = param_1 + 0x90" (pointer_expression "*(int *)((int)ppuVar9 + -0xc)" (* "*") (cast_expression "(int *)((int)ppuVar9 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppuVar9 + -0xc)" (( "(") (binary_expression "(int)ppuVar9 + -0xc" (cast_expression "(int)ppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "param_1 + 0x90" (identifier "param_1") (+ "+") (number_literal "0x90"))) (; ";")) (expression_statement "*(undefined1 ***)((int)ppuVar9 + -0x10) = local_34;" (assignment_expression "*(undefined1 ***)((int)ppuVar9 + -0x10) = local_34" (pointer_expression "*(undefined1 ***)((int)ppuVar9 + -0x10)" (* "*") (cast_expression "(undefined1 ***)((int)ppuVar9 + -0x10)" (( "(") (type_descriptor "undefined1 ***" (type_identifier "undefined1") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)ppuVar9 + -0x10)" (( "(") (binary_expression "(int)ppuVar9 + -0x10" (cast_expression "(int)ppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_34")) (; ";")) (expression_statement "*(undefined4 *)((int)ppuVar9 + -0x14) = 0x1279bd;" (assignment_expression "*(undefined4 *)((int)ppuVar9 + -0x14) = 0x1279bd" (pointer_expression "*(undefined4 *)((int)ppuVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)ppuVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppuVar9 + -0x14)" (( "(") (binary_expression "(int)ppuVar9 + -0x14" (cast_expression "(int)ppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1279bd")) (; ";")) (expression_statement "FUN_00106d90();" (call_expression "FUN_00106d90()" (identifier "FUN_00106d90") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar1 = local_70[0];" (assignment_expression "puVar1 = local_70[0]" (identifier "puVar1") (= "=") (subscript_expression "local_70[0]" (identifier "local_70") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "local_78 = (undefined1 **)local_34[0];" (assignment_expression "local_78 = (undefined1 **)local_34[0]" (identifier "local_78") (= "=") (cast_expression "(undefined1 **)local_34[0]" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "local_34[0]" (identifier "local_34") ([ "[") (number_literal "0") (] "]")))) (; ";")) (expression_statement "*(undefined1 **)((int)ppuVar9 + -0xc) = local_70[0];" (assignment_expression "*(undefined1 **)((int)ppuVar9 + -0xc) = local_70[0]" (pointer_expression "*(undefined1 **)((int)ppuVar9 + -0xc)" (* "*") (cast_expression "(undefined1 **)((int)ppuVar9 + -0xc)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppuVar9 + -0xc)" (( "(") (binary_expression "(int)ppuVar9 + -0xc" (cast_expression "(int)ppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (subscript_expression "local_70[0]" (identifier "local_70") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "*(int *)((int)ppuVar9 + -0x10) = param_1 + 0x90;" (assignment_expression "*(int *)((int)ppuVar9 + -0x10) = param_1 + 0x90" (pointer_expression "*(int *)((int)ppuVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)ppuVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppuVar9 + -0x10)" (( "(") (binary_expression "(int)ppuVar9 + -0x10" (cast_expression "(int)ppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "param_1 + 0x90" (identifier "param_1") (+ "+") (number_literal "0x90"))) (; ";")) (expression_statement "*(undefined1 ***)((int)ppuVar9 + -0x14) = local_4c;" (assignment_expression "*(undefined1 ***)((int)ppuVar9 + -0x14) = local_4c" (pointer_expression "*(undefined1 ***)((int)ppuVar9 + -0x14)" (* "*") (cast_expression "(undefined1 ***)((int)ppuVar9 + -0x14)" (( "(") (type_descriptor "undefined1 ***" (type_identifier "undefined1") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)ppuVar9 + -0x14)" (( "(") (binary_expression "(int)ppuVar9 + -0x14" (cast_expression "(int)ppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "local_4c")) (; ";")) (expression_statement "*(undefined4 *)((int)ppuVar9 + -0x18) = 0x1279d3;" (assignment_expression "*(undefined4 *)((int)ppuVar9 + -0x18) = 0x1279d3" (pointer_expression "*(undefined4 *)((int)ppuVar9 + -0x18)" (* "*") (cast_expression "(undefined4 *)((int)ppuVar9 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppuVar9 + -0x18)" (( "(") (binary_expression "(int)ppuVar9 + -0x18" (cast_expression "(int)ppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar9")) (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0x1279d3")) (; ";")) (expression_statement "FUN_00106d90();" (call_expression "FUN_00106d90()" (identifier "FUN_00106d90") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_80 = local_4c[0];" (assignment_expression "local_80 = local_4c[0]" (identifier "local_80") (= "=") (subscript_expression "local_4c[0]" (identifier "local_4c") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "*(undefined ***)((int)ppuVar9 + -0x18) = local_74 + -0x5f89f;" (assignment_expression "*(undefined ***)((int)ppuVar9 + -0x18) = local_74 + -0x5f89f" (pointer_expression "*(undefined ***)((int)ppuVar9 + -0x18)" (* "*") (cast_expression "(undefined ***)((int)ppuVar9 + -0x18)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)ppuVar9 + -0x18)" (( "(") (binary_expression "(int)ppuVar9 + -0x18" (cast_expression "(int)ppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar9")) (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (binary_expression "local_74 + -0x5f89f" (identifier "local_74") (+ "+") (number_literal "-0x5f89f"))) (; ";")) (expression_statement "*(undefined4 *)((int)ppuVar9 + -0x1c) = 0x1279ea;" (assignment_expression "*(undefined4 *)((int)ppuVar9 + -0x1c) = 0x1279ea" (pointer_expression "*(undefined4 *)((int)ppuVar9 + -0x1c)" (* "*") (cast_expression "(undefined4 *)((int)ppuVar9 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppuVar9 + -0x1c)" (( "(") (binary_expression "(int)ppuVar9 + -0x1c" (cast_expression "(int)ppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar9")) (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (number_literal "0x1279ea")) (; ";")) (expression_statement "uVar7 = gettext();" (assignment_expression "uVar7 = gettext()" (identifier "uVar7") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined1 **)((int)ppuVar9 + -0x14) = local_7c;" (assignment_expression "*(undefined1 **)((int)ppuVar9 + -0x14) = local_7c" (pointer_expression "*(undefined1 **)((int)ppuVar9 + -0x14)" (* "*") (cast_expression "(undefined1 **)((int)ppuVar9 + -0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppuVar9 + -0x14)" (( "(") (binary_expression "(int)ppuVar9 + -0x14" (cast_expression "(int)ppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "local_7c")) (; ";")) (expression_statement "*(undefined1 **)((int)ppuVar9 + -0x18) = param_4;" (assignment_expression "*(undefined1 **)((int)ppuVar9 + -0x18) = param_4" (pointer_expression "*(undefined1 **)((int)ppuVar9 + -0x18)" (* "*") (cast_expression "(undefined1 **)((int)ppuVar9 + -0x18)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppuVar9 + -0x18)" (( "(") (binary_expression "(int)ppuVar9 + -0x18" (cast_expression "(int)ppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar9")) (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (identifier "param_4")) (; ";")) (expression_statement "*(undefined1 ***)((int)ppuVar9 + -0x1c) = local_78;" (assignment_expression "*(undefined1 ***)((int)ppuVar9 + -0x1c) = local_78" (pointer_expression "*(undefined1 ***)((int)ppuVar9 + -0x1c)" (* "*") (cast_expression "(undefined1 ***)((int)ppuVar9 + -0x1c)" (( "(") (type_descriptor "undefined1 ***" (type_identifier "undefined1") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)ppuVar9 + -0x1c)" (( "(") (binary_expression "(int)ppuVar9 + -0x1c" (cast_expression "(int)ppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar9")) (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (identifier "local_78")) (; ";")) (expression_statement "*(undefined1 **)((int)ppuVar9 + -0x20) = puVar1;" (assignment_expression "*(undefined1 **)((int)ppuVar9 + -0x20) = puVar1" (pointer_expression "*(undefined1 **)((int)ppuVar9 + -0x20)" (* "*") (cast_expression "(undefined1 **)((int)ppuVar9 + -0x20)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppuVar9 + -0x20)" (( "(") (binary_expression "(int)ppuVar9 + -0x20" (cast_expression "(int)ppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar9")) (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "puVar1")) (; ";")) (expression_statement "*(undefined1 **)((int)ppuVar9 + -0x24) = local_80;" (assignment_expression "*(undefined1 **)((int)ppuVar9 + -0x24) = local_80" (pointer_expression "*(undefined1 **)((int)ppuVar9 + -0x24)" (* "*") (cast_expression "(undefined1 **)((int)ppuVar9 + -0x24)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppuVar9 + -0x24)" (( "(") (binary_expression "(int)ppuVar9 + -0x24" (cast_expression "(int)ppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar9")) (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (identifier "local_80")) (; ";")) (expression_statement "*(undefined4 *)((int)ppuVar9 + -0x28) = uVar7;" (assignment_expression "*(undefined4 *)((int)ppuVar9 + -0x28) = uVar7" (pointer_expression "*(undefined4 *)((int)ppuVar9 + -0x28)" (* "*") (cast_expression "(undefined4 *)((int)ppuVar9 + -0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppuVar9 + -0x28)" (( "(") (binary_expression "(int)ppuVar9 + -0x28" (cast_expression "(int)ppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar9")) (+ "+") (number_literal "-0x28")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "*(undefined4 *)((int)ppuVar9 + -0x2c) = 0x127a03;" (assignment_expression "*(undefined4 *)((int)ppuVar9 + -0x2c) = 0x127a03" (pointer_expression "*(undefined4 *)((int)ppuVar9 + -0x2c)" (* "*") (cast_expression "(undefined4 *)((int)ppuVar9 + -0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppuVar9 + -0x2c)" (( "(") (binary_expression "(int)ppuVar9 + -0x2c" (cast_expression "(int)ppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar9")) (+ "+") (number_literal "-0x2c")) () ")")))) (= "=") (number_literal "0x127a03")) (; ";")) (expression_statement "FUN_0023b840();" (call_expression "FUN_0023b840()" (identifier "FUN_0023b840") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (local_4c[0] != local_44) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a19;\n      FUN_003ae080();\n    }" (if "if") (parenthesized_expression "(local_4c[0] != local_44)" (( "(") (binary_expression "local_4c[0] != local_44" (subscript_expression "local_4c[0]" (identifier "local_4c") ([ "[") (number_literal "0") (] "]")) (!= "!=") (identifier "local_44")) () ")")) (compound_statement "{\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a19;\n      FUN_003ae080();\n    }" ({ "{") (expression_statement "*(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0];" (assignment_expression "*(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0]" (pointer_expression "*(undefined1 **)((int)ppuVar9 + -0x18)" (* "*") (cast_expression "(undefined1 **)((int)ppuVar9 + -0x18)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppuVar9 + -0x18)" (( "(") (binary_expression "(int)ppuVar9 + -0x18" (cast_expression "(int)ppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar9")) (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (subscript_expression "local_4c[0]" (identifier "local_4c") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a19;" (assignment_expression "*(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a19" (pointer_expression "*(undefined4 *)((int)ppuVar9 + -0x1c)" (* "*") (cast_expression "(undefined4 *)((int)ppuVar9 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppuVar9 + -0x1c)" (( "(") (binary_expression "(int)ppuVar9 + -0x1c" (cast_expression "(int)ppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar9")) (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (number_literal "0x127a19")) (; ";")) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" (identifier "FUN_003ae080") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_34[0] != local_2c) {\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a36;\n      FUN_003ae080();\n      return;\n    }" (if "if") (parenthesized_expression "(local_34[0] != local_2c)" (( "(") (binary_expression "local_34[0] != local_2c" (subscript_expression "local_34[0]" (identifier "local_34") ([ "[") (number_literal "0") (] "]")) (!= "!=") (identifier "local_2c")) () ")")) (compound_statement "{\n      *(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0];\n      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a36;\n      FUN_003ae080();\n      return;\n    }" ({ "{") (expression_statement "*(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0];" (assignment_expression "*(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0]" (pointer_expression "*(undefined1 **)((int)ppuVar9 + -0x18)" (* "*") (cast_expression "(undefined1 **)((int)ppuVar9 + -0x18)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppuVar9 + -0x18)" (( "(") (binary_expression "(int)ppuVar9 + -0x18" (cast_expression "(int)ppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar9")) (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (subscript_expression "local_34[0]" (identifier "local_34") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a36;" (assignment_expression "*(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a36" (pointer_expression "*(undefined4 *)((int)ppuVar9 + -0x1c)" (* "*") (cast_expression "(undefined4 *)((int)ppuVar9 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppuVar9 + -0x1c)" (( "(") (binary_expression "(int)ppuVar9 + -0x1c" (cast_expression "(int)ppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar9")) (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (number_literal "0x127a36")) (; ";")) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" (identifier "FUN_003ae080") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Enum "<anon>": Some values do not have unique names */
/* DWARF original prototype: void make_exidx_input_section(Arm_relobj<true> * this, uint shndx,
   Shdr<32,_true> * shdr, uint text_shndx, Shdr<32,_true> * text_shdr) */

void __thiscall
anon_unknown.dwarf_91258a::type_1<true>::function_1
          (type_1<true> *this,type_2 shndx,type_3<32,type_4> *shdr,type_2 text_shndx,
          type_3<32,type_4> *text_shdr)

{
}


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

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

void __regparm3
MASKED(int param_1,undefined1 *param_2,int *param_3,undefined1 *param_4,int *param_5)

{
  undefined1 *puVar1;
  uint uVar2;
  uint uVar3;
  int *piVar4;
  int *piVar5;
  undefined4 *puVar6;
  undefined4 uVar7;
  undefined1 **ppuVar8;
  undefined1 **ppuVar9;
  undefined1 *puStack_a8;
  undefined **ppuStack_a4;
  undefined4 uStack_a0;
  undefined1 auStack_9c [12];
  undefined1 *local_90;
  undefined1 *local_8c;
  undefined4 local_88;
  undefined1 *local_84;
  undefined1 *local_80;
  undefined1 *local_7c;
  undefined1 **local_78;
  undefined **local_74;
  undefined1 *local_70 [3];
  undefined1 *local_64 [2];
  undefined1 local_5c [16];
  undefined1 *local_4c [2];
  undefined1 local_44 [16];
  undefined1 *local_34 [2];
  undefined1 local_2c [24];
  undefined4 uStack_14;
  
  uStack_14 = 0x12775d;
  local_74 = &__DT_PLTGOT;
  uVar2 = *(uint *)(*param_3 + 0x14);
  uVar3 = *(uint *)(*param_3 + 0x20);
  local_80 = (undefined1 *)
             (uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18);
  local_7c = (undefined1 *)
             (uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18);
  uVar2 = *(uint *)(*param_5 + 0x14);
  local_78 = (undefined1 **)
             (uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18);
  local_70[0] = param_2;
  piVar4 = (int *)FUN_003ac4d0(0x1c);
  ppuVar9 = (undefined1 **)auStack_9c;
  *piVar4 = param_1;
  piVar4[4] = (int)local_7c;
  piVar4[1] = (int)local_70[0];
  piVar4[3] = (int)local_80;
  piVar4[2] = (int)param_4;
  *(undefined1 *)(piVar4 + 6) = 0;
  piVar4[5] = (int)local_78;
  local_78 = local_70;
  uStack_a0 = 0x1277d3;
  piVar5 = (int *)FUN_00110560();
  if (*piVar5 != 0) {
    ppuStack_a4 = local_74 + -0x601ca;
    puStack_a8 = (undefined1 *)0x1ad6;
                    /* WARNING: Subroutine does not return */
    FUN_002446e0((int)local_74 + -0x182cba);
  }
  uStack_a0 = 0x1277e7;
  puVar6 = (undefined4 *)FUN_00110560();
  *puVar6 = piVar4;
  local_78 = (undefined1 **)param_4;
  if ((param_4 == (undefined1 *)0x0) || (*(undefined1 **)(param_1 + 0x28) <= param_4)) {
    local_7c = *(undefined1 **)(param_1 + 4);
    puStack_a8 = (undefined1 *)(param_1 + 0x90);
    ppuStack_a4 = (undefined **)local_70[0];
    local_84 = local_70[0];
    FUN_00106d90(local_34);
    local_80 = local_34[0];
    uVar7 = gettext(local_74 + -0x5f8d0);
                    /* try { // try from 00127844 to 00127848 has its CatchHandler @ 00127b4e */
    FUN_0023b810(uVar7,local_80,local_84,local_78,local_7c);
    ppuVar8 = (undefined1 **)&uStack_a0;
    ppuVar9 = (undefined1 **)&uStack_a0;
    if (local_34[0] != local_2c) {
LAB_00127856:
      *(undefined1 **)((int)ppuVar8 + -0x10) = local_34[0];
      *(undefined4 *)((int)ppuVar8 + -0x14) = 0x127862;
      FUN_003ae080();
      ppuVar9 = ppuVar8;
    }
  }
  else {
    uStack_a0 = 0x12789a;
    piVar5 = (int *)FUN_00110560();
    if (*piVar5 == 0) {
      uStack_a0 = 0x127afa;
      puVar6 = (undefined4 *)FUN_00110560();
      *puVar6 = piVar4;
      goto LAB_00127869;
    }
    puVar1 = (undefined1 *)(param_1 + 0x90);
    uStack_a0 = 0x1278b4;
    piVar5 = (int *)FUN_00110560();
    local_88 = *(undefined4 *)(param_1 + 4);
    local_80 = *(undefined1 **)(*piVar5 + 4);
    ppuStack_a4 = (undefined **)param_4;
    local_78 = (undefined1 **)param_4;
    puStack_a8 = puVar1;
    FUN_00106d90(local_34);
    local_84 = local_34[0];
    puStack_a8 = local_80;
                    /* try { // try from 001278e9 to 001278ed has its CatchHandler @ 00127b2b */
    FUN_00106d90(local_4c,puVar1);
    local_8c = local_4c[0];
    local_7c = local_70[0];
                    /* try { // try from 00127905 to 00127909 has its CatchHandler @ 00127b24 */
    FUN_00106d90(local_64,puVar1,local_70[0]);
    local_90 = local_64[0];
    uVar7 = gettext(local_74 + -0x5f8c2);
                    /* try { // try from 0012794a to 0012794e has its CatchHandler @ 00127b1d */
    FUN_0023b810(uVar7,local_90,local_7c,local_8c,local_80,local_84,local_78,local_88);
    if (local_64[0] != local_5c) {
      FUN_003ae080(local_64[0]);
    }
    if (local_4c[0] != local_44) {
      FUN_003ae080(local_4c[0]);
    }
    ppuVar8 = &puStack_a8;
    ppuVar9 = &puStack_a8;
    if (local_34[0] != local_2c) goto LAB_00127856;
  }
  *(undefined1 *)(piVar4 + 6) = 1;
LAB_00127869:
  if ((*(uint *)(*param_5 + 8) >> 0x18 & 2) == 0) {
    local_80 = *(undefined1 **)(param_1 + 4);
    *(undefined1 **)((int)ppuVar9 + -8) = param_4;
    *(int *)((int)ppuVar9 + -0xc) = param_1 + 0x90;
    *(undefined1 ***)((int)ppuVar9 + -0x10) = local_34;
    local_78 = (undefined1 **)param_4;
    *(undefined4 *)((int)ppuVar9 + -0x14) = 0x127a68;
    FUN_00106d90();
    puVar1 = local_70[0];
    local_7c = local_34[0];
    *(undefined1 **)((int)ppuVar9 + -0xc) = local_70[0];
    *(int *)((int)ppuVar9 + -0x10) = param_1 + 0x90;
    *(undefined1 ***)((int)ppuVar9 + -0x14) = local_4c;
                    /* try { // try from 00127a79 to 00127a7d has its CatchHandler @ 00127b32 */
    *(undefined4 *)((int)ppuVar9 + -0x18) = 0x127a7e;
    FUN_00106d90();
    local_84 = local_4c[0];
    *(undefined ***)((int)ppuVar9 + -0x18) = local_74 + -0x5f8b0;
    *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a95;
    uVar7 = gettext();
    *(undefined1 **)((int)ppuVar9 + -0x14) = local_80;
    *(undefined1 ***)((int)ppuVar9 + -0x18) = local_78;
    *(undefined1 **)((int)ppuVar9 + -0x1c) = local_7c;
    *(undefined1 **)((int)ppuVar9 + -0x20) = puVar1;
    *(undefined1 **)((int)ppuVar9 + -0x24) = local_84;
    *(undefined4 *)((int)ppuVar9 + -0x28) = uVar7;
                    /* try { // try from 00127aab to 00127aaf has its CatchHandler @ 00127b39 */
    *(undefined4 *)((int)ppuVar9 + -0x2c) = 0x127ab0;
    FUN_0023b810();
    if (local_4c[0] != local_44) {
      *(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0];
      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127ac6;
      FUN_003ae080();
    }
    if (local_34[0] != local_2c) {
      *(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0];
      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127adf;
      FUN_003ae080();
    }
    *(undefined1 *)(piVar4 + 6) = 1;
    return;
  }
  if ((*(uint *)(*param_5 + 8) & 0x4000000) == 0) {
    local_7c = *(undefined1 **)(param_1 + 4);
    *(undefined1 **)((int)ppuVar9 + -8) = param_4;
    *(int *)((int)ppuVar9 + -0xc) = param_1 + 0x90;
    *(undefined1 ***)((int)ppuVar9 + -0x10) = local_34;
    *(undefined4 *)((int)ppuVar9 + -0x14) = 0x1279bd;
    FUN_00106d90();
    puVar1 = local_70[0];
    local_78 = (undefined1 **)local_34[0];
    *(undefined1 **)((int)ppuVar9 + -0xc) = local_70[0];
    *(int *)((int)ppuVar9 + -0x10) = param_1 + 0x90;
    *(undefined1 ***)((int)ppuVar9 + -0x14) = local_4c;
                    /* try { // try from 001279ce to 001279d2 has its CatchHandler @ 00127b40 */
    *(undefined4 *)((int)ppuVar9 + -0x18) = 0x1279d3;
    FUN_00106d90();
    local_80 = local_4c[0];
    *(undefined ***)((int)ppuVar9 + -0x18) = local_74 + -0x5f89f;
    *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x1279ea;
    uVar7 = gettext();
    *(undefined1 **)((int)ppuVar9 + -0x14) = local_7c;
    *(undefined1 **)((int)ppuVar9 + -0x18) = param_4;
    *(undefined1 ***)((int)ppuVar9 + -0x1c) = local_78;
    *(undefined1 **)((int)ppuVar9 + -0x20) = puVar1;
    *(undefined1 **)((int)ppuVar9 + -0x24) = local_80;
    *(undefined4 *)((int)ppuVar9 + -0x28) = uVar7;
                    /* try { // try from 001279fe to 00127a02 has its CatchHandler @ 00127b47 */
    *(undefined4 *)((int)ppuVar9 + -0x2c) = 0x127a03;
    FUN_0023b840();
    if (local_4c[0] != local_44) {
      *(undefined1 **)((int)ppuVar9 + -0x18) = local_4c[0];
      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a19;
      FUN_003ae080();
    }
    if (local_34[0] != local_2c) {
      *(undefined1 **)((int)ppuVar9 + -0x18) = local_34[0];
      *(undefined4 *)((int)ppuVar9 + -0x1c) = 0x127a36;
      FUN_003ae080();
      return;
    }
  }
  return;
}

