
/* WARNING: Enum "anon_enum_32": Some values do not have unique names */

void logevent_dlg(void *estuff,char *string)

{
  tm *ptVar1;
  int iVar2;
  tm *ptVar3;
  undefined4 uVar4;
  char *msg;
  char *title;
  GtkWidget *parentwin;
  int *piVar5;
  int *piVar6;
  control *ctrl;
  int iVar7;
  undefined4 *dlg;
  int iVar8;
  int iVar9;
  int iVar10;
  undefined *puVar11;
  int aiStack_a0 [8];
  int aiStack_80 [4];
  tm tm;
  char timebuf [40];
  
  iVar2 = *(int *)PTR___stack_chk_guard_000aeedc;
  iVar7 = *(int *)((int)estuff + 0x64c) + 0x40;
  if (*(int *)((int)estuff + 0x64c) <= *(int *)((int)estuff + 0x648)) {
    *(int *)((int)estuff + 0x64c) = iVar7;
    uVar4 = (*(code *)PTR_saferealloc_000ae108)(*(undefined4 *)((int)estuff + 0x644),iVar7,4);
    *(undefined4 *)((int)estuff + 0x644) = uVar4;
  }
  ltime();
  ptVar1 = &tm;
  piVar6 = aiStack_a0;
  do {
    piVar5 = piVar6;
    ptVar3 = ptVar1;
    iVar9 = piVar5[1];
    iVar8 = piVar5[2];
    iVar7 = piVar5[3];
    ptVar3->tm_sec = *piVar5;
    ptVar3->tm_min = iVar9;
    ptVar3->tm_hour = iVar8;
    ptVar3->tm_mday = iVar7;
    piVar6 = piVar5 + 4;
    ptVar1 = (tm *)&ptVar3->tm_mon;
  } while (piVar6 != aiStack_80);
  iVar8 = piVar5[5];
  iVar7 = piVar5[6];
  ptVar3->tm_mon = *piVar6;
  ptVar3->tm_year = iVar8;
  ptVar3->tm_wday = iVar7;
  (*(code *)PTR_strftime_000ae96c)(timebuf,0x28,PTR_s__SSH_2_only__000ae0fc + 0x67ac,&tm);
  iVar7 = (*(code *)PTR_strlen_000aedf0)(timebuf);
  iVar8 = (*(code *)PTR_strlen_000aedf0)(string);
  iVar9 = *(int *)((int)estuff + 0x648);
  iVar10 = *(int *)((int)estuff + 0x644);
  uVar4 = (*(code *)PTR_safemalloc_000ae0e0)(iVar7 + iVar8 + 1,1);
  *(undefined4 *)(iVar10 + iVar9 * 4) = uVar4;
  (*(code *)PTR_strcpy_000ae880)
            (*(undefined4 *)(*(int *)((int)estuff + 0x644) + *(int *)((int)estuff + 0x648) * 4),
             timebuf);
  ctrl = *(control **)(*(int *)((int)estuff + 0x644) + *(int *)((int)estuff + 0x648) * 4);
  (*(code *)PTR_strcat_000aeff4)(ctrl,string);
  dlg = (undefined4 *)((int)estuff + 0x60c);
  if (*(int *)((int)estuff + 4) != 0) {
    ctrl = *(control **)((int)estuff + 0x640);
    dlg_listbox_add(ctrl,dlg,*(char **)(*(int *)((int)estuff + 0x644) +
                                       *(int *)((int)estuff + 0x648) * 4));
  }
  *(int *)((int)estuff + 0x648) = *(int *)((int)estuff + 0x648) + 1;
  if (iVar2 == *(int *)PTR___stack_chk_guard_000aeedc) {
    return;
  }
  puVar11 = PTR___stack_chk_fail_000aeb88;
  (*(code *)PTR___stack_chk_fail_000aeb88)();
  msg = (char *)(**(code **)(puVar11 + 0x511dc))(*(int *)(puVar11 + 0x5119c) + 0x68b0,0x1000,*dlg);
  title = (char *)(**(code **)(puVar11 + 0x511dc))
                            (*(int *)(puVar11 + 0x5119c) + 0x67c0,
                             **(undefined4 **)(puVar11 + 0x51334));
  parentwin = (GtkWidget *)get_window(ctrl);
  iVar2 = string_width((char *)(*(int *)(puVar11 + 0x5119c) + 0x67d0));
  messagebox(parentwin,title,msg,iVar2,0,*(int *)(puVar11 + 0x5119c) + 0x6810,0x6f,1,2,
             *(int *)(puVar11 + 0x5119c) + 0x6808,0x61,0,1,*(int *)(puVar11 + 0x5119c) + 0x6800,100,
             0xffffffff,0,0);
  (**(code **)(puVar11 + 0x51178))(msg);
  (**(code **)(puVar11 + 0x51178))(title);
  return;
}



int logevent_dlg(int param_1,undefined4 param_2)

{
  undefined4 *puVar1;
  int iVar2;
  undefined4 uVar3;
  undefined4 *puVar4;
  undefined4 *puVar5;
  int iVar6;
  undefined4 uVar7;
  undefined4 *puVar8;
  undefined4 uVar9;
  undefined4 uVar10;
  int iVar11;
  int iVar12;
  undefined *puVar13;
  undefined4 local_a0 [8];
  undefined4 auStack_80 [4];
  undefined4 local_70 [11];
  undefined1 auStack_44 [40];
  int local_1c;
  
  local_1c = *(int *)PTR___stack_chk_guard_000aeedc;
  iVar6 = *(int *)(param_1 + 0x64c) + 0x40;
  if (*(int *)(param_1 + 0x64c) <= *(int *)(param_1 + 0x648)) {
    *(int *)(param_1 + 0x64c) = iVar6;
    uVar7 = (*(code *)PTR_saferealloc_000ae108)(*(undefined4 *)(param_1 + 0x644),iVar6,4);
    *(undefined4 *)(param_1 + 0x644) = uVar7;
  }
  ltime(local_a0);
  puVar8 = local_70;
  puVar5 = local_a0;
  do {
    puVar4 = puVar5;
    puVar1 = puVar8;
    uVar10 = puVar4[1];
    uVar9 = puVar4[2];
    uVar7 = puVar4[3];
    *puVar1 = *puVar4;
    puVar1[1] = uVar10;
    puVar1[2] = uVar9;
    puVar1[3] = uVar7;
    puVar5 = puVar4 + 4;
    puVar8 = puVar1 + 4;
  } while (puVar5 != auStack_80);
  uVar9 = puVar4[5];
  uVar7 = puVar4[6];
  puVar1[4] = *puVar5;
  puVar1[5] = uVar9;
  puVar1[6] = uVar7;
  (*(code *)PTR_strftime_000ae96c)(auStack_44,0x28,PTR_s__SSH_2_only__000ae0fc + 0x67ac,local_70);
  iVar6 = (*(code *)PTR_strlen_000aedf0)(auStack_44);
  iVar2 = (*(code *)PTR_strlen_000aedf0)(param_2);
  iVar11 = *(int *)(param_1 + 0x648);
  iVar12 = *(int *)(param_1 + 0x644);
  uVar7 = (*(code *)PTR_safemalloc_000ae0e0)(iVar6 + iVar2 + 1,1);
  *(undefined4 *)(iVar12 + iVar11 * 4) = uVar7;
  (*(code *)PTR_strcpy_000ae880)
            (*(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4),auStack_44);
  uVar7 = *(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4);
  (*(code *)PTR_strcat_000aeff4)(uVar7,param_2);
  puVar8 = (undefined4 *)(param_1 + 0x60c);
  if (*(int *)(param_1 + 4) != 0) {
    uVar7 = *(undefined4 *)(param_1 + 0x640);
    dlg_listbox_add(uVar7,puVar8,
                    *(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4));
  }
  *(int *)(param_1 + 0x648) = *(int *)(param_1 + 0x648) + 1;
  if (local_1c == *(int *)PTR___stack_chk_guard_000aeedc) {
    return *(int *)PTR___stack_chk_guard_000aeedc;
  }
  puVar13 = PTR___stack_chk_fail_000aeb88;
  (*(code *)PTR___stack_chk_fail_000aeb88)();
  uVar9 = (**(code **)(puVar13 + 0x511dc))(*(int *)(puVar13 + 0x5119c) + 0x68b0,0x1000,*puVar8);
  uVar10 = (**(code **)(puVar13 + 0x511dc))
                     (*(int *)(puVar13 + 0x5119c) + 0x67c0,**(undefined4 **)(puVar13 + 0x51334));
  uVar7 = get_window(uVar7);
  uVar3 = string_width(*(int *)(puVar13 + 0x5119c) + 0x67d0);
  iVar6 = messagebox(uVar7,uVar10,uVar9,uVar3,0,*(int *)(puVar13 + 0x5119c) + 0x6810,0x6f,1,2,
                     *(int *)(puVar13 + 0x5119c) + 0x6808,0x61,0,1,
                     *(int *)(puVar13 + 0x5119c) + 0x6800,100,0xffffffff,0,0);
  (**(code **)(puVar13 + 0x51178))(uVar9);
  (**(code **)(puVar13 + 0x51178))(uVar10);
  return iVar6;
}


lui gp,0x6
addiu gp,gp,-0x6ca0
addu gp,gp,t9
addiu sp,sp,-0xb8
sw ra,0xb4(sp)
sw s4,0xb0(sp)
sw s3,0xac(sp)
sw s2,0xa8(sp)
sw s1,0xa4(sp)
sw s0,0xa0(sp)
sw gp,0x10(sp)
or s0,a0,zero
or s2,a1,zero
lw v0,-0x71b4(gp)
lw v0,0x0(v0)
sw v0,0x9c(sp)
lw a1,0x64c(a0)
lw v0,0x648(a0)
slt v0,v0,a1
beq v0,zero,0x0005cf30
_addiu a1,a1,0x40
addiu s1,sp,0x18
or a0,s1,zero
lw t9,-0x7d54(gp)
bal 0x0004d970
_nop
lw gp,0x10(sp)
or a0,s1,zero
addiu v0,sp,0x48
addiu v1,sp,0x38
lw t0,0x0(a0)
lw a3,0x4(a0)
lw a2,0x8(a0)
lw a1,0xc(a0)
sw t0,0x0(v0)
sw a3,0x4(v0)
sw a2,0x8(v0)
sw a1,0xc(v0)
addiu a0,a0,0x10
bne a0,v1,0x0005cda8
_addiu v0,v0,0x10
lw a2,0x0(a0)
lw a1,0x4(a0)
lw v1,0x8(a0)
sw a2,0x0(v0)
sw a1,0x4(v0)
sw v1,0x8(v0)
addiu a3,sp,0x48
lw a2,-0x7f94(gp)
addiu a2,a2,0x67ac
li a1,0x28
addiu s1,sp,0x74
or a0,s1,zero
lw t9,-0x7724(gp)
jalr t9
_nop
lw gp,0x10(sp)
or a0,s1,zero
lw t9,-0x72a0(gp)
jalr t9
_nop
lw gp,0x10(sp)
or s4,v0,zero
or a0,s2,zero
lw t9,-0x72a0(gp)
jalr t9
_nop
lw gp,0x10(sp)
lw s3,0x648(s0)
sll v1,s3,0x2
lw s3,0x644(s0)
addu s3,s3,v1
addu v0,s4,v0
li a1,0x1
addiu a0,v0,0x1
lw t9,-0x7fb0(gp)
jalr t9
_nop
lw gp,0x10(sp)
sw v0,0x0(s3)
lw v1,0x648(s0)
lw v0,0x644(s0)
sll v1,v1,0x2
addu v0,v0,v1
or a1,s1,zero
lw a0,0x0(v0)
lw t9,-0x7810(gp)
jalr t9
_nop
lw gp,0x10(sp)
lw v1,0x648(s0)
lw v0,0x644(s0)
sll v1,v1,0x2
addu v0,v0,v1
or a1,s2,zero
lw a0,0x0(v0)
lw t9,-0x709c(gp)
jalr t9
_nop
lw gp,0x10(sp)
lw v0,0x4(s0)
beq v0,zero,0x0005cef4
_addiu a1,s0,0x60c
lw v1,0x648(s0)
lw v0,0x644(s0)
sll v1,v1,0x2
addu v0,v0,v1
lw a2,0x0(v0)
lw a0,0x640(s0)
lw t9,-0x7e84(gp)
bal 0x00055fe8
_nop
lw gp,0x10(sp)
lw v0,0x648(s0)
addiu v0,v0,0x1
sw v0,0x648(s0)
lw v1,0x9c(sp)
lw v0,-0x71b4(gp)
lw v0,0x0(v0)
bne v1,v0,0x0005cf54
_lw ra,0xb4(sp)
lw s4,0xb0(sp)
lw s3,0xac(sp)
lw s2,0xa8(sp)
lw s1,0xa4(sp)
lw s0,0xa0(sp)
jr ra
_addiu sp,sp,0xb8
sw a1,0x64c(a0)
li a2,0x4
lw a0,0x644(a0)
lw t9,-0x7f88(gp)
jalr t9
_nop
lw gp,0x10(sp)
b 0x0005cd84
_sw v0,0x644(s0)
lw t9,-0x7508(gp)
jalr t9
_nop
(translation_unit "int logevent_dlg(int param_1,undefined4 param_2)\n\n{\n  undefined4 *puVar1;\n  int iVar2;\n  undefined4 uVar3;\n  undefined4 *puVar4;\n  undefined4 *puVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined4 *puVar8;\n  undefined4 uVar9;\n  undefined4 uVar10;\n  int iVar11;\n  int iVar12;\n  undefined *puVar13;\n  undefined4 local_a0 [8];\n  undefined4 auStack_80 [4];\n  undefined4 local_70 [11];\n  undefined1 auStack_44 [40];\n  int local_1c;\n  \n  local_1c = *(int *)PTR___stack_chk_guard_000aeedc;\n  iVar6 = *(int *)(param_1 + 0x64c) + 0x40;\n  if (*(int *)(param_1 + 0x64c) <= *(int *)(param_1 + 0x648)) {\n    *(int *)(param_1 + 0x64c) = iVar6;\n    uVar7 = (*(code *)PTR_saferealloc_000ae108)(*(undefined4 *)(param_1 + 0x644),iVar6,4);\n    *(undefined4 *)(param_1 + 0x644) = uVar7;\n  }\n  ltime(local_a0);\n  puVar8 = local_70;\n  puVar5 = local_a0;\n  do {\n    puVar4 = puVar5;\n    puVar1 = puVar8;\n    uVar10 = puVar4[1];\n    uVar9 = puVar4[2];\n    uVar7 = puVar4[3];\n    *puVar1 = *puVar4;\n    puVar1[1] = uVar10;\n    puVar1[2] = uVar9;\n    puVar1[3] = uVar7;\n    puVar5 = puVar4 + 4;\n    puVar8 = puVar1 + 4;\n  } while (puVar5 != auStack_80);\n  uVar9 = puVar4[5];\n  uVar7 = puVar4[6];\n  puVar1[4] = *puVar5;\n  puVar1[5] = uVar9;\n  puVar1[6] = uVar7;\n  (*(code *)PTR_strftime_000ae96c)(auStack_44,0x28,PTR_s__SSH_2_only__000ae0fc + 0x67ac,local_70);\n  iVar6 = (*(code *)PTR_strlen_000aedf0)(auStack_44);\n  iVar2 = (*(code *)PTR_strlen_000aedf0)(param_2);\n  iVar11 = *(int *)(param_1 + 0x648);\n  iVar12 = *(int *)(param_1 + 0x644);\n  uVar7 = (*(code *)PTR_safemalloc_000ae0e0)(iVar6 + iVar2 + 1,1);\n  *(undefined4 *)(iVar12 + iVar11 * 4) = uVar7;\n  (*(code *)PTR_strcpy_000ae880)\n            (*(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4),auStack_44);\n  uVar7 = *(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4);\n  (*(code *)PTR_strcat_000aeff4)(uVar7,param_2);\n  puVar8 = (undefined4 *)(param_1 + 0x60c);\n  if (*(int *)(param_1 + 4) != 0) {\n    uVar7 = *(undefined4 *)(param_1 + 0x640);\n    dlg_listbox_add(uVar7,puVar8,\n                    *(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4));\n  }\n  *(int *)(param_1 + 0x648) = *(int *)(param_1 + 0x648) + 1;\n  if (local_1c == *(int *)PTR___stack_chk_guard_000aeedc) {\n    return *(int *)PTR___stack_chk_guard_000aeedc;\n  }\n  puVar13 = PTR___stack_chk_fail_000aeb88;\n  (*(code *)PTR___stack_chk_fail_000aeb88)();\n  uVar9 = (**(code **)(puVar13 + 0x511dc))(*(int *)(puVar13 + 0x5119c) + 0x68b0,0x1000,*puVar8);\n  uVar10 = (**(code **)(puVar13 + 0x511dc))\n                     (*(int *)(puVar13 + 0x5119c) + 0x67c0,**(undefined4 **)(puVar13 + 0x51334));\n  uVar7 = get_window(uVar7);\n  uVar3 = string_width(*(int *)(puVar13 + 0x5119c) + 0x67d0);\n  iVar6 = messagebox(uVar7,uVar10,uVar9,uVar3,0,*(int *)(puVar13 + 0x5119c) + 0x6810,0x6f,1,2,\n                     *(int *)(puVar13 + 0x5119c) + 0x6808,0x61,0,1,\n                     *(int *)(puVar13 + 0x5119c) + 0x6800,100,0xffffffff,0,0);\n  (**(code **)(puVar13 + 0x51178))(uVar9);\n  (**(code **)(puVar13 + 0x51178))(uVar10);\n  return iVar6;\n}\n\n" (function_definition "int logevent_dlg(int param_1,undefined4 param_2)\n\n{\n  undefined4 *puVar1;\n  int iVar2;\n  undefined4 uVar3;\n  undefined4 *puVar4;\n  undefined4 *puVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined4 *puVar8;\n  undefined4 uVar9;\n  undefined4 uVar10;\n  int iVar11;\n  int iVar12;\n  undefined *puVar13;\n  undefined4 local_a0 [8];\n  undefined4 auStack_80 [4];\n  undefined4 local_70 [11];\n  undefined1 auStack_44 [40];\n  int local_1c;\n  \n  local_1c = *(int *)PTR___stack_chk_guard_000aeedc;\n  iVar6 = *(int *)(param_1 + 0x64c) + 0x40;\n  if (*(int *)(param_1 + 0x64c) <= *(int *)(param_1 + 0x648)) {\n    *(int *)(param_1 + 0x64c) = iVar6;\n    uVar7 = (*(code *)PTR_saferealloc_000ae108)(*(undefined4 *)(param_1 + 0x644),iVar6,4);\n    *(undefined4 *)(param_1 + 0x644) = uVar7;\n  }\n  ltime(local_a0);\n  puVar8 = local_70;\n  puVar5 = local_a0;\n  do {\n    puVar4 = puVar5;\n    puVar1 = puVar8;\n    uVar10 = puVar4[1];\n    uVar9 = puVar4[2];\n    uVar7 = puVar4[3];\n    *puVar1 = *puVar4;\n    puVar1[1] = uVar10;\n    puVar1[2] = uVar9;\n    puVar1[3] = uVar7;\n    puVar5 = puVar4 + 4;\n    puVar8 = puVar1 + 4;\n  } while (puVar5 != auStack_80);\n  uVar9 = puVar4[5];\n  uVar7 = puVar4[6];\n  puVar1[4] = *puVar5;\n  puVar1[5] = uVar9;\n  puVar1[6] = uVar7;\n  (*(code *)PTR_strftime_000ae96c)(auStack_44,0x28,PTR_s__SSH_2_only__000ae0fc + 0x67ac,local_70);\n  iVar6 = (*(code *)PTR_strlen_000aedf0)(auStack_44);\n  iVar2 = (*(code *)PTR_strlen_000aedf0)(param_2);\n  iVar11 = *(int *)(param_1 + 0x648);\n  iVar12 = *(int *)(param_1 + 0x644);\n  uVar7 = (*(code *)PTR_safemalloc_000ae0e0)(iVar6 + iVar2 + 1,1);\n  *(undefined4 *)(iVar12 + iVar11 * 4) = uVar7;\n  (*(code *)PTR_strcpy_000ae880)\n            (*(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4),auStack_44);\n  uVar7 = *(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4);\n  (*(code *)PTR_strcat_000aeff4)(uVar7,param_2);\n  puVar8 = (undefined4 *)(param_1 + 0x60c);\n  if (*(int *)(param_1 + 4) != 0) {\n    uVar7 = *(undefined4 *)(param_1 + 0x640);\n    dlg_listbox_add(uVar7,puVar8,\n                    *(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4));\n  }\n  *(int *)(param_1 + 0x648) = *(int *)(param_1 + 0x648) + 1;\n  if (local_1c == *(int *)PTR___stack_chk_guard_000aeedc) {\n    return *(int *)PTR___stack_chk_guard_000aeedc;\n  }\n  puVar13 = PTR___stack_chk_fail_000aeb88;\n  (*(code *)PTR___stack_chk_fail_000aeb88)();\n  uVar9 = (**(code **)(puVar13 + 0x511dc))(*(int *)(puVar13 + 0x5119c) + 0x68b0,0x1000,*puVar8);\n  uVar10 = (**(code **)(puVar13 + 0x511dc))\n                     (*(int *)(puVar13 + 0x5119c) + 0x67c0,**(undefined4 **)(puVar13 + 0x51334));\n  uVar7 = get_window(uVar7);\n  uVar3 = string_width(*(int *)(puVar13 + 0x5119c) + 0x67d0);\n  iVar6 = messagebox(uVar7,uVar10,uVar9,uVar3,0,*(int *)(puVar13 + 0x5119c) + 0x6810,0x6f,1,2,\n                     *(int *)(puVar13 + 0x5119c) + 0x6808,0x61,0,1,\n                     *(int *)(puVar13 + 0x5119c) + 0x6800,100,0xffffffff,0,0);\n  (**(code **)(puVar13 + 0x51178))(uVar9);\n  (**(code **)(puVar13 + 0x51178))(uVar10);\n  return iVar6;\n}" primitive_type (function_declarator "logevent_dlg(int param_1,undefined4 param_2)" identifier (parameter_list "(int param_1,undefined4 param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) ))) (compound_statement "{\n  undefined4 *puVar1;\n  int iVar2;\n  undefined4 uVar3;\n  undefined4 *puVar4;\n  undefined4 *puVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined4 *puVar8;\n  undefined4 uVar9;\n  undefined4 uVar10;\n  int iVar11;\n  int iVar12;\n  undefined *puVar13;\n  undefined4 local_a0 [8];\n  undefined4 auStack_80 [4];\n  undefined4 local_70 [11];\n  undefined1 auStack_44 [40];\n  int local_1c;\n  \n  local_1c = *(int *)PTR___stack_chk_guard_000aeedc;\n  iVar6 = *(int *)(param_1 + 0x64c) + 0x40;\n  if (*(int *)(param_1 + 0x64c) <= *(int *)(param_1 + 0x648)) {\n    *(int *)(param_1 + 0x64c) = iVar6;\n    uVar7 = (*(code *)PTR_saferealloc_000ae108)(*(undefined4 *)(param_1 + 0x644),iVar6,4);\n    *(undefined4 *)(param_1 + 0x644) = uVar7;\n  }\n  ltime(local_a0);\n  puVar8 = local_70;\n  puVar5 = local_a0;\n  do {\n    puVar4 = puVar5;\n    puVar1 = puVar8;\n    uVar10 = puVar4[1];\n    uVar9 = puVar4[2];\n    uVar7 = puVar4[3];\n    *puVar1 = *puVar4;\n    puVar1[1] = uVar10;\n    puVar1[2] = uVar9;\n    puVar1[3] = uVar7;\n    puVar5 = puVar4 + 4;\n    puVar8 = puVar1 + 4;\n  } while (puVar5 != auStack_80);\n  uVar9 = puVar4[5];\n  uVar7 = puVar4[6];\n  puVar1[4] = *puVar5;\n  puVar1[5] = uVar9;\n  puVar1[6] = uVar7;\n  (*(code *)PTR_strftime_000ae96c)(auStack_44,0x28,PTR_s__SSH_2_only__000ae0fc + 0x67ac,local_70);\n  iVar6 = (*(code *)PTR_strlen_000aedf0)(auStack_44);\n  iVar2 = (*(code *)PTR_strlen_000aedf0)(param_2);\n  iVar11 = *(int *)(param_1 + 0x648);\n  iVar12 = *(int *)(param_1 + 0x644);\n  uVar7 = (*(code *)PTR_safemalloc_000ae0e0)(iVar6 + iVar2 + 1,1);\n  *(undefined4 *)(iVar12 + iVar11 * 4) = uVar7;\n  (*(code *)PTR_strcpy_000ae880)\n            (*(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4),auStack_44);\n  uVar7 = *(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4);\n  (*(code *)PTR_strcat_000aeff4)(uVar7,param_2);\n  puVar8 = (undefined4 *)(param_1 + 0x60c);\n  if (*(int *)(param_1 + 4) != 0) {\n    uVar7 = *(undefined4 *)(param_1 + 0x640);\n    dlg_listbox_add(uVar7,puVar8,\n                    *(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4));\n  }\n  *(int *)(param_1 + 0x648) = *(int *)(param_1 + 0x648) + 1;\n  if (local_1c == *(int *)PTR___stack_chk_guard_000aeedc) {\n    return *(int *)PTR___stack_chk_guard_000aeedc;\n  }\n  puVar13 = PTR___stack_chk_fail_000aeb88;\n  (*(code *)PTR___stack_chk_fail_000aeb88)();\n  uVar9 = (**(code **)(puVar13 + 0x511dc))(*(int *)(puVar13 + 0x5119c) + 0x68b0,0x1000,*puVar8);\n  uVar10 = (**(code **)(puVar13 + 0x511dc))\n                     (*(int *)(puVar13 + 0x5119c) + 0x67c0,**(undefined4 **)(puVar13 + 0x51334));\n  uVar7 = get_window(uVar7);\n  uVar3 = string_width(*(int *)(puVar13 + 0x5119c) + 0x67d0);\n  iVar6 = messagebox(uVar7,uVar10,uVar9,uVar3,0,*(int *)(puVar13 + 0x5119c) + 0x6810,0x6f,1,2,\n                     *(int *)(puVar13 + 0x5119c) + 0x6808,0x61,0,1,\n                     *(int *)(puVar13 + 0x5119c) + 0x6800,100,0xffffffff,0,0);\n  (**(code **)(puVar13 + 0x51178))(uVar9);\n  (**(code **)(puVar13 + 0x51178))(uVar10);\n  return iVar6;\n}" { (declaration "undefined4 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined4 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "undefined4 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "undefined *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "undefined4 local_a0 [8];" type_identifier (array_declarator "local_a0 [8]" identifier [ number_literal ]) ;) (declaration "undefined4 auStack_80 [4];" type_identifier (array_declarator "auStack_80 [4]" identifier [ number_literal ]) ;) (declaration "undefined4 local_70 [11];" type_identifier (array_declarator "local_70 [11]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_44 [40];" type_identifier (array_declarator "auStack_44 [40]" identifier [ number_literal ]) ;) (declaration "int local_1c;" primitive_type identifier ;) (expression_statement "local_1c = *(int *)PTR___stack_chk_guard_000aeedc;" (assignment_expression "local_1c = *(int *)PTR___stack_chk_guard_000aeedc" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000aeedc" * (cast_expression "(int *)PTR___stack_chk_guard_000aeedc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar6 = *(int *)(param_1 + 0x64c) + 0x40;" (assignment_expression "iVar6 = *(int *)(param_1 + 0x64c) + 0x40" identifier = (binary_expression "*(int *)(param_1 + 0x64c) + 0x40" (pointer_expression "*(int *)(param_1 + 0x64c)" * (cast_expression "(int *)(param_1 + 0x64c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x64c)" ( (binary_expression "param_1 + 0x64c" identifier + number_literal) )))) + number_literal)) ;) (if_statement "if (*(int *)(param_1 + 0x64c) <= *(int *)(param_1 + 0x648)) {\n    *(int *)(param_1 + 0x64c) = iVar6;\n    uVar7 = (*(code *)PTR_saferealloc_000ae108)(*(undefined4 *)(param_1 + 0x644),iVar6,4);\n    *(undefined4 *)(param_1 + 0x644) = uVar7;\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x64c) <= *(int *)(param_1 + 0x648))" ( (binary_expression "*(int *)(param_1 + 0x64c) <= *(int *)(param_1 + 0x648)" (pointer_expression "*(int *)(param_1 + 0x64c)" * (cast_expression "(int *)(param_1 + 0x64c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x64c)" ( (binary_expression "param_1 + 0x64c" identifier + number_literal) )))) <= (pointer_expression "*(int *)(param_1 + 0x648)" * (cast_expression "(int *)(param_1 + 0x648)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x648)" ( (binary_expression "param_1 + 0x648" identifier + number_literal) ))))) )) (compound_statement "{\n    *(int *)(param_1 + 0x64c) = iVar6;\n    uVar7 = (*(code *)PTR_saferealloc_000ae108)(*(undefined4 *)(param_1 + 0x644),iVar6,4);\n    *(undefined4 *)(param_1 + 0x644) = uVar7;\n  }" { (expression_statement "*(int *)(param_1 + 0x64c) = iVar6;" (assignment_expression "*(int *)(param_1 + 0x64c) = iVar6" (pointer_expression "*(int *)(param_1 + 0x64c)" * (cast_expression "(int *)(param_1 + 0x64c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x64c)" ( (binary_expression "param_1 + 0x64c" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar7 = (*(code *)PTR_saferealloc_000ae108)(*(undefined4 *)(param_1 + 0x644),iVar6,4);" (assignment_expression "uVar7 = (*(code *)PTR_saferealloc_000ae108)(*(undefined4 *)(param_1 + 0x644),iVar6,4)" identifier = (call_expression "(*(code *)PTR_saferealloc_000ae108)(*(undefined4 *)(param_1 + 0x644),iVar6,4)" (parenthesized_expression "(*(code *)PTR_saferealloc_000ae108)" ( (pointer_expression "*(code *)PTR_saferealloc_000ae108" * (cast_expression "(code *)PTR_saferealloc_000ae108" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(param_1 + 0x644),iVar6,4)" ( (pointer_expression "*(undefined4 *)(param_1 + 0x644)" * (cast_expression "(undefined4 *)(param_1 + 0x644)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x644)" ( (binary_expression "param_1 + 0x644" identifier + number_literal) )))) , identifier , number_literal )))) ;) (expression_statement "*(undefined4 *)(param_1 + 0x644) = uVar7;" (assignment_expression "*(undefined4 *)(param_1 + 0x644) = uVar7" (pointer_expression "*(undefined4 *)(param_1 + 0x644)" * (cast_expression "(undefined4 *)(param_1 + 0x644)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x644)" ( (binary_expression "param_1 + 0x644" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "ltime(local_a0);" (call_expression "ltime(local_a0)" identifier (argument_list "(local_a0)" ( identifier ))) ;) (expression_statement "puVar8 = local_70;" (assignment_expression "puVar8 = local_70" identifier = identifier) ;) (expression_statement "puVar5 = local_a0;" (assignment_expression "puVar5 = local_a0" identifier = identifier) ;) (do_statement "do {\n    puVar4 = puVar5;\n    puVar1 = puVar8;\n    uVar10 = puVar4[1];\n    uVar9 = puVar4[2];\n    uVar7 = puVar4[3];\n    *puVar1 = *puVar4;\n    puVar1[1] = uVar10;\n    puVar1[2] = uVar9;\n    puVar1[3] = uVar7;\n    puVar5 = puVar4 + 4;\n    puVar8 = puVar1 + 4;\n  } while (puVar5 != auStack_80);" do (compound_statement "{\n    puVar4 = puVar5;\n    puVar1 = puVar8;\n    uVar10 = puVar4[1];\n    uVar9 = puVar4[2];\n    uVar7 = puVar4[3];\n    *puVar1 = *puVar4;\n    puVar1[1] = uVar10;\n    puVar1[2] = uVar9;\n    puVar1[3] = uVar7;\n    puVar5 = puVar4 + 4;\n    puVar8 = puVar1 + 4;\n  }" { (expression_statement "puVar4 = puVar5;" (assignment_expression "puVar4 = puVar5" identifier = identifier) ;) (expression_statement "puVar1 = puVar8;" (assignment_expression "puVar1 = puVar8" identifier = identifier) ;) (expression_statement "uVar10 = puVar4[1];" (assignment_expression "uVar10 = puVar4[1]" identifier = (subscript_expression "puVar4[1]" identifier [ number_literal ])) ;) (expression_statement "uVar9 = puVar4[2];" (assignment_expression "uVar9 = puVar4[2]" identifier = (subscript_expression "puVar4[2]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = puVar4[3];" (assignment_expression "uVar7 = puVar4[3]" identifier = (subscript_expression "puVar4[3]" identifier [ number_literal ])) ;) (expression_statement "*puVar1 = *puVar4;" (assignment_expression "*puVar1 = *puVar4" (pointer_expression "*puVar1" * identifier) = (pointer_expression "*puVar4" * identifier)) ;) (expression_statement "puVar1[1] = uVar10;" (assignment_expression "puVar1[1] = uVar10" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1[2] = uVar9;" (assignment_expression "puVar1[2] = uVar9" (subscript_expression "puVar1[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1[3] = uVar7;" (assignment_expression "puVar1[3] = uVar7" (subscript_expression "puVar1[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar5 = puVar4 + 4;" (assignment_expression "puVar5 = puVar4 + 4" identifier = (binary_expression "puVar4 + 4" identifier + number_literal)) ;) (expression_statement "puVar8 = puVar1 + 4;" (assignment_expression "puVar8 = puVar1 + 4" identifier = (binary_expression "puVar1 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar5 != auStack_80)" ( (binary_expression "puVar5 != auStack_80" identifier != identifier) )) ;) (expression_statement "uVar9 = puVar4[5];" (assignment_expression "uVar9 = puVar4[5]" identifier = (subscript_expression "puVar4[5]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = puVar4[6];" (assignment_expression "uVar7 = puVar4[6]" identifier = (subscript_expression "puVar4[6]" identifier [ number_literal ])) ;) (expression_statement "puVar1[4] = *puVar5;" (assignment_expression "puVar1[4] = *puVar5" (subscript_expression "puVar1[4]" identifier [ number_literal ]) = (pointer_expression "*puVar5" * identifier)) ;) (expression_statement "puVar1[5] = uVar9;" (assignment_expression "puVar1[5] = uVar9" (subscript_expression "puVar1[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1[6] = uVar7;" (assignment_expression "puVar1[6] = uVar7" (subscript_expression "puVar1[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "(*(code *)PTR_strftime_000ae96c)(auStack_44,0x28,PTR_s__SSH_2_only__000ae0fc + 0x67ac,local_70);" (call_expression "(*(code *)PTR_strftime_000ae96c)(auStack_44,0x28,PTR_s__SSH_2_only__000ae0fc + 0x67ac,local_70)" (parenthesized_expression "(*(code *)PTR_strftime_000ae96c)" ( (pointer_expression "*(code *)PTR_strftime_000ae96c" * (cast_expression "(code *)PTR_strftime_000ae96c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_44,0x28,PTR_s__SSH_2_only__000ae0fc + 0x67ac,local_70)" ( identifier , number_literal , (binary_expression "PTR_s__SSH_2_only__000ae0fc + 0x67ac" identifier + number_literal) , identifier ))) ;) (expression_statement "iVar6 = (*(code *)PTR_strlen_000aedf0)(auStack_44);" (assignment_expression "iVar6 = (*(code *)PTR_strlen_000aedf0)(auStack_44)" identifier = (call_expression "(*(code *)PTR_strlen_000aedf0)(auStack_44)" (parenthesized_expression "(*(code *)PTR_strlen_000aedf0)" ( (pointer_expression "*(code *)PTR_strlen_000aedf0" * (cast_expression "(code *)PTR_strlen_000aedf0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_44)" ( identifier )))) ;) (expression_statement "iVar2 = (*(code *)PTR_strlen_000aedf0)(param_2);" (assignment_expression "iVar2 = (*(code *)PTR_strlen_000aedf0)(param_2)" identifier = (call_expression "(*(code *)PTR_strlen_000aedf0)(param_2)" (parenthesized_expression "(*(code *)PTR_strlen_000aedf0)" ( (pointer_expression "*(code *)PTR_strlen_000aedf0" * (cast_expression "(code *)PTR_strlen_000aedf0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "iVar11 = *(int *)(param_1 + 0x648);" (assignment_expression "iVar11 = *(int *)(param_1 + 0x648)" identifier = (pointer_expression "*(int *)(param_1 + 0x648)" * (cast_expression "(int *)(param_1 + 0x648)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x648)" ( (binary_expression "param_1 + 0x648" identifier + number_literal) ))))) ;) (expression_statement "iVar12 = *(int *)(param_1 + 0x644);" (assignment_expression "iVar12 = *(int *)(param_1 + 0x644)" identifier = (pointer_expression "*(int *)(param_1 + 0x644)" * (cast_expression "(int *)(param_1 + 0x644)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x644)" ( (binary_expression "param_1 + 0x644" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = (*(code *)PTR_safemalloc_000ae0e0)(iVar6 + iVar2 + 1,1);" (assignment_expression "uVar7 = (*(code *)PTR_safemalloc_000ae0e0)(iVar6 + iVar2 + 1,1)" identifier = (call_expression "(*(code *)PTR_safemalloc_000ae0e0)(iVar6 + iVar2 + 1,1)" (parenthesized_expression "(*(code *)PTR_safemalloc_000ae0e0)" ( (pointer_expression "*(code *)PTR_safemalloc_000ae0e0" * (cast_expression "(code *)PTR_safemalloc_000ae0e0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6 + iVar2 + 1,1)" ( (binary_expression "iVar6 + iVar2 + 1" (binary_expression "iVar6 + iVar2" identifier + identifier) + number_literal) , number_literal )))) ;) (expression_statement "*(undefined4 *)(iVar12 + iVar11 * 4) = uVar7;" (assignment_expression "*(undefined4 *)(iVar12 + iVar11 * 4) = uVar7" (pointer_expression "*(undefined4 *)(iVar12 + iVar11 * 4)" * (cast_expression "(undefined4 *)(iVar12 + iVar11 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + iVar11 * 4)" ( (binary_expression "iVar12 + iVar11 * 4" identifier + (binary_expression "iVar11 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "(*(code *)PTR_strcpy_000ae880)\n            (*(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4),auStack_44);" (call_expression "(*(code *)PTR_strcpy_000ae880)\n            (*(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4),auStack_44)" (parenthesized_expression "(*(code *)PTR_strcpy_000ae880)" ( (pointer_expression "*(code *)PTR_strcpy_000ae880" * (cast_expression "(code *)PTR_strcpy_000ae880" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4),auStack_44)" ( (pointer_expression "*(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4)" * (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4)" ( (binary_expression "*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4" (pointer_expression "*(int *)(param_1 + 0x644)" * (cast_expression "(int *)(param_1 + 0x644)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x644)" ( (binary_expression "param_1 + 0x644" identifier + number_literal) )))) + (binary_expression "*(int *)(param_1 + 0x648) * 4" (pointer_expression "*(int *)(param_1 + 0x648)" * (cast_expression "(int *)(param_1 + 0x648)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x648)" ( (binary_expression "param_1 + 0x648" identifier + number_literal) )))) * number_literal)) )))) , identifier ))) ;) (expression_statement "uVar7 = *(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4);" (assignment_expression "uVar7 = *(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4)" identifier = (pointer_expression "*(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4)" * (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4)" ( (binary_expression "*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4" (pointer_expression "*(int *)(param_1 + 0x644)" * (cast_expression "(int *)(param_1 + 0x644)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x644)" ( (binary_expression "param_1 + 0x644" identifier + number_literal) )))) + (binary_expression "*(int *)(param_1 + 0x648) * 4" (pointer_expression "*(int *)(param_1 + 0x648)" * (cast_expression "(int *)(param_1 + 0x648)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x648)" ( (binary_expression "param_1 + 0x648" identifier + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "(*(code *)PTR_strcat_000aeff4)(uVar7,param_2);" (call_expression "(*(code *)PTR_strcat_000aeff4)(uVar7,param_2)" (parenthesized_expression "(*(code *)PTR_strcat_000aeff4)" ( (pointer_expression "*(code *)PTR_strcat_000aeff4" * (cast_expression "(code *)PTR_strcat_000aeff4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar7,param_2)" ( identifier , identifier ))) ;) (expression_statement "puVar8 = (undefined4 *)(param_1 + 0x60c);" (assignment_expression "puVar8 = (undefined4 *)(param_1 + 0x60c)" identifier = (cast_expression "(undefined4 *)(param_1 + 0x60c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x60c)" ( (binary_expression "param_1 + 0x60c" identifier + number_literal) )))) ;) (if_statement "if (*(int *)(param_1 + 4) != 0) {\n    uVar7 = *(undefined4 *)(param_1 + 0x640);\n    dlg_listbox_add(uVar7,puVar8,\n                    *(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4));\n  }" if (parenthesized_expression "(*(int *)(param_1 + 4) != 0)" ( (binary_expression "*(int *)(param_1 + 4) != 0" (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    uVar7 = *(undefined4 *)(param_1 + 0x640);\n    dlg_listbox_add(uVar7,puVar8,\n                    *(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4));\n  }" { (expression_statement "uVar7 = *(undefined4 *)(param_1 + 0x640);" (assignment_expression "uVar7 = *(undefined4 *)(param_1 + 0x640)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x640)" * (cast_expression "(undefined4 *)(param_1 + 0x640)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x640)" ( (binary_expression "param_1 + 0x640" identifier + number_literal) ))))) ;) (expression_statement "dlg_listbox_add(uVar7,puVar8,\n                    *(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4));" (call_expression "dlg_listbox_add(uVar7,puVar8,\n                    *(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4))" identifier (argument_list "(uVar7,puVar8,\n                    *(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4))" ( identifier , identifier , (pointer_expression "*(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4)" * (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4)" ( (binary_expression "*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4" (pointer_expression "*(int *)(param_1 + 0x644)" * (cast_expression "(int *)(param_1 + 0x644)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x644)" ( (binary_expression "param_1 + 0x644" identifier + number_literal) )))) + (binary_expression "*(int *)(param_1 + 0x648) * 4" (pointer_expression "*(int *)(param_1 + 0x648)" * (cast_expression "(int *)(param_1 + 0x648)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x648)" ( (binary_expression "param_1 + 0x648" identifier + number_literal) )))) * number_literal)) )))) ))) ;) })) (expression_statement "*(int *)(param_1 + 0x648) = *(int *)(param_1 + 0x648) + 1;" (assignment_expression "*(int *)(param_1 + 0x648) = *(int *)(param_1 + 0x648) + 1" (pointer_expression "*(int *)(param_1 + 0x648)" * (cast_expression "(int *)(param_1 + 0x648)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x648)" ( (binary_expression "param_1 + 0x648" identifier + number_literal) )))) = (binary_expression "*(int *)(param_1 + 0x648) + 1" (pointer_expression "*(int *)(param_1 + 0x648)" * (cast_expression "(int *)(param_1 + 0x648)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x648)" ( (binary_expression "param_1 + 0x648" identifier + number_literal) )))) + number_literal)) ;) (if_statement "if (local_1c == *(int *)PTR___stack_chk_guard_000aeedc) {\n    return *(int *)PTR___stack_chk_guard_000aeedc;\n  }" if (parenthesized_expression "(local_1c == *(int *)PTR___stack_chk_guard_000aeedc)" ( (binary_expression "local_1c == *(int *)PTR___stack_chk_guard_000aeedc" identifier == (pointer_expression "*(int *)PTR___stack_chk_guard_000aeedc" * (cast_expression "(int *)PTR___stack_chk_guard_000aeedc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return *(int *)PTR___stack_chk_guard_000aeedc;\n  }" { (return_statement "return *(int *)PTR___stack_chk_guard_000aeedc;" return (pointer_expression "*(int *)PTR___stack_chk_guard_000aeedc" * (cast_expression "(int *)PTR___stack_chk_guard_000aeedc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) (expression_statement "puVar13 = PTR___stack_chk_fail_000aeb88;" (assignment_expression "puVar13 = PTR___stack_chk_fail_000aeb88" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000aeb88)();" (call_expression "(*(code *)PTR___stack_chk_fail_000aeb88)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000aeb88)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000aeb88" * (cast_expression "(code *)PTR___stack_chk_fail_000aeb88" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "uVar9 = (**(code **)(puVar13 + 0x511dc))(*(int *)(puVar13 + 0x5119c) + 0x68b0,0x1000,*puVar8);" (assignment_expression "uVar9 = (**(code **)(puVar13 + 0x511dc))(*(int *)(puVar13 + 0x5119c) + 0x68b0,0x1000,*puVar8)" identifier = (call_expression "(**(code **)(puVar13 + 0x511dc))(*(int *)(puVar13 + 0x5119c) + 0x68b0,0x1000,*puVar8)" (parenthesized_expression "(**(code **)(puVar13 + 0x511dc))" ( (pointer_expression "**(code **)(puVar13 + 0x511dc)" * (pointer_expression "*(code **)(puVar13 + 0x511dc)" * (cast_expression "(code **)(puVar13 + 0x511dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + 0x511dc)" ( (binary_expression "puVar13 + 0x511dc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar13 + 0x5119c) + 0x68b0,0x1000,*puVar8)" ( (binary_expression "*(int *)(puVar13 + 0x5119c) + 0x68b0" (pointer_expression "*(int *)(puVar13 + 0x5119c)" * (cast_expression "(int *)(puVar13 + 0x5119c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x5119c)" ( (binary_expression "puVar13 + 0x5119c" identifier + number_literal) )))) + number_literal) , number_literal , (pointer_expression "*puVar8" * identifier) )))) ;) (expression_statement "uVar10 = (**(code **)(puVar13 + 0x511dc))\n                     (*(int *)(puVar13 + 0x5119c) + 0x67c0,**(undefined4 **)(puVar13 + 0x51334));" (assignment_expression "uVar10 = (**(code **)(puVar13 + 0x511dc))\n                     (*(int *)(puVar13 + 0x5119c) + 0x67c0,**(undefined4 **)(puVar13 + 0x51334))" identifier = (call_expression "(**(code **)(puVar13 + 0x511dc))\n                     (*(int *)(puVar13 + 0x5119c) + 0x67c0,**(undefined4 **)(puVar13 + 0x51334))" (parenthesized_expression "(**(code **)(puVar13 + 0x511dc))" ( (pointer_expression "**(code **)(puVar13 + 0x511dc)" * (pointer_expression "*(code **)(puVar13 + 0x511dc)" * (cast_expression "(code **)(puVar13 + 0x511dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + 0x511dc)" ( (binary_expression "puVar13 + 0x511dc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar13 + 0x5119c) + 0x67c0,**(undefined4 **)(puVar13 + 0x51334))" ( (binary_expression "*(int *)(puVar13 + 0x5119c) + 0x67c0" (pointer_expression "*(int *)(puVar13 + 0x5119c)" * (cast_expression "(int *)(puVar13 + 0x5119c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x5119c)" ( (binary_expression "puVar13 + 0x5119c" identifier + number_literal) )))) + number_literal) , (pointer_expression "**(undefined4 **)(puVar13 + 0x51334)" * (pointer_expression "*(undefined4 **)(puVar13 + 0x51334)" * (cast_expression "(undefined4 **)(puVar13 + 0x51334)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + 0x51334)" ( (binary_expression "puVar13 + 0x51334" identifier + number_literal) ))))) )))) ;) (expression_statement "uVar7 = get_window(uVar7);" (assignment_expression "uVar7 = get_window(uVar7)" identifier = (call_expression "get_window(uVar7)" identifier (argument_list "(uVar7)" ( identifier )))) ;) (expression_statement "uVar3 = string_width(*(int *)(puVar13 + 0x5119c) + 0x67d0);" (assignment_expression "uVar3 = string_width(*(int *)(puVar13 + 0x5119c) + 0x67d0)" identifier = (call_expression "string_width(*(int *)(puVar13 + 0x5119c) + 0x67d0)" identifier (argument_list "(*(int *)(puVar13 + 0x5119c) + 0x67d0)" ( (binary_expression "*(int *)(puVar13 + 0x5119c) + 0x67d0" (pointer_expression "*(int *)(puVar13 + 0x5119c)" * (cast_expression "(int *)(puVar13 + 0x5119c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x5119c)" ( (binary_expression "puVar13 + 0x5119c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar6 = messagebox(uVar7,uVar10,uVar9,uVar3,0,*(int *)(puVar13 + 0x5119c) + 0x6810,0x6f,1,2,\n                     *(int *)(puVar13 + 0x5119c) + 0x6808,0x61,0,1,\n                     *(int *)(puVar13 + 0x5119c) + 0x6800,100,0xffffffff,0,0);" (assignment_expression "iVar6 = messagebox(uVar7,uVar10,uVar9,uVar3,0,*(int *)(puVar13 + 0x5119c) + 0x6810,0x6f,1,2,\n                     *(int *)(puVar13 + 0x5119c) + 0x6808,0x61,0,1,\n                     *(int *)(puVar13 + 0x5119c) + 0x6800,100,0xffffffff,0,0)" identifier = (call_expression "messagebox(uVar7,uVar10,uVar9,uVar3,0,*(int *)(puVar13 + 0x5119c) + 0x6810,0x6f,1,2,\n                     *(int *)(puVar13 + 0x5119c) + 0x6808,0x61,0,1,\n                     *(int *)(puVar13 + 0x5119c) + 0x6800,100,0xffffffff,0,0)" identifier (argument_list "(uVar7,uVar10,uVar9,uVar3,0,*(int *)(puVar13 + 0x5119c) + 0x6810,0x6f,1,2,\n                     *(int *)(puVar13 + 0x5119c) + 0x6808,0x61,0,1,\n                     *(int *)(puVar13 + 0x5119c) + 0x6800,100,0xffffffff,0,0)" ( identifier , identifier , identifier , identifier , number_literal , (binary_expression "*(int *)(puVar13 + 0x5119c) + 0x6810" (pointer_expression "*(int *)(puVar13 + 0x5119c)" * (cast_expression "(int *)(puVar13 + 0x5119c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x5119c)" ( (binary_expression "puVar13 + 0x5119c" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , number_literal , (binary_expression "*(int *)(puVar13 + 0x5119c) + 0x6808" (pointer_expression "*(int *)(puVar13 + 0x5119c)" * (cast_expression "(int *)(puVar13 + 0x5119c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x5119c)" ( (binary_expression "puVar13 + 0x5119c" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , number_literal , (binary_expression "*(int *)(puVar13 + 0x5119c) + 0x6800" (pointer_expression "*(int *)(puVar13 + 0x5119c)" * (cast_expression "(int *)(puVar13 + 0x5119c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x5119c)" ( (binary_expression "puVar13 + 0x5119c" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , number_literal , number_literal )))) ;) (expression_statement "(**(code **)(puVar13 + 0x51178))(uVar9);" (call_expression "(**(code **)(puVar13 + 0x51178))(uVar9)" (parenthesized_expression "(**(code **)(puVar13 + 0x51178))" ( (pointer_expression "**(code **)(puVar13 + 0x51178)" * (pointer_expression "*(code **)(puVar13 + 0x51178)" * (cast_expression "(code **)(puVar13 + 0x51178)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + 0x51178)" ( (binary_expression "puVar13 + 0x51178" identifier + number_literal) ))))) )) (argument_list "(uVar9)" ( identifier ))) ;) (expression_statement "(**(code **)(puVar13 + 0x51178))(uVar10);" (call_expression "(**(code **)(puVar13 + 0x51178))(uVar10)" (parenthesized_expression "(**(code **)(puVar13 + 0x51178))" ( (pointer_expression "**(code **)(puVar13 + 0x51178)" * (pointer_expression "*(code **)(puVar13 + 0x51178)" * (cast_expression "(code **)(puVar13 + 0x51178)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + 0x51178)" ( (binary_expression "puVar13 + 0x51178" identifier + number_literal) ))))) )) (argument_list "(uVar10)" ( identifier ))) ;) (return_statement "return iVar6;" return identifier ;) })))
(translation_unit "/* WARNING: Enum "anon_enum_32": Some values do not have unique names */\n\nvoid logevent_dlg(void *estuff,char *string)\n\n{\n  tm *ptVar1;\n  int iVar2;\n  tm *ptVar3;\n  undefined4 uVar4;\n  char *msg;\n  char *title;\n  GtkWidget *parentwin;\n  int *piVar5;\n  int *piVar6;\n  control *ctrl;\n  int iVar7;\n  undefined4 *dlg;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  undefined *puVar11;\n  int aiStack_a0 [8];\n  int aiStack_80 [4];\n  tm tm;\n  char timebuf [40];\n  \n  iVar2 = *(int *)PTR___stack_chk_guard_000aeedc;\n  iVar7 = *(int *)((int)estuff + 0x64c) + 0x40;\n  if (*(int *)((int)estuff + 0x64c) <= *(int *)((int)estuff + 0x648)) {\n    *(int *)((int)estuff + 0x64c) = iVar7;\n    uVar4 = (*(code *)PTR_saferealloc_000ae108)(*(undefined4 *)((int)estuff + 0x644),iVar7,4);\n    *(undefined4 *)((int)estuff + 0x644) = uVar4;\n  }\n  ltime();\n  ptVar1 = &tm;\n  piVar6 = aiStack_a0;\n  do {\n    piVar5 = piVar6;\n    ptVar3 = ptVar1;\n    iVar9 = piVar5[1];\n    iVar8 = piVar5[2];\n    iVar7 = piVar5[3];\n    ptVar3->tm_sec = *piVar5;\n    ptVar3->tm_min = iVar9;\n    ptVar3->tm_hour = iVar8;\n    ptVar3->tm_mday = iVar7;\n    piVar6 = piVar5 + 4;\n    ptVar1 = (tm *)&ptVar3->tm_mon;\n  } while (piVar6 != aiStack_80);\n  iVar8 = piVar5[5];\n  iVar7 = piVar5[6];\n  ptVar3->tm_mon = *piVar6;\n  ptVar3->tm_year = iVar8;\n  ptVar3->tm_wday = iVar7;\n  (*(code *)PTR_strftime_000ae96c)(timebuf,0x28,PTR_s__SSH_2_only__000ae0fc + 0x67ac,&tm);\n  iVar7 = (*(code *)PTR_strlen_000aedf0)(timebuf);\n  iVar8 = (*(code *)PTR_strlen_000aedf0)(string);\n  iVar9 = *(int *)((int)estuff + 0x648);\n  iVar10 = *(int *)((int)estuff + 0x644);\n  uVar4 = (*(code *)PTR_safemalloc_000ae0e0)(iVar7 + iVar8 + 1,1);\n  *(undefined4 *)(iVar10 + iVar9 * 4) = uVar4;\n  (*(code *)PTR_strcpy_000ae880)\n            (*(undefined4 *)(*(int *)((int)estuff + 0x644) + *(int *)((int)estuff + 0x648) * 4),\n             timebuf);\n  ctrl = *(control **)(*(int *)((int)estuff + 0x644) + *(int *)((int)estuff + 0x648) * 4);\n  (*(code *)PTR_strcat_000aeff4)(ctrl,string);\n  dlg = (undefined4 *)((int)estuff + 0x60c);\n  if (*(int *)((int)estuff + 4) != 0) {\n    ctrl = *(control **)((int)estuff + 0x640);\n    dlg_listbox_add(ctrl,dlg,*(char **)(*(int *)((int)estuff + 0x644) +\n                                       *(int *)((int)estuff + 0x648) * 4));\n  }\n  *(int *)((int)estuff + 0x648) = *(int *)((int)estuff + 0x648) + 1;\n  if (iVar2 == *(int *)PTR___stack_chk_guard_000aeedc) {\n    return;\n  }\n  puVar11 = PTR___stack_chk_fail_000aeb88;\n  (*(code *)PTR___stack_chk_fail_000aeb88)();\n  msg = (char *)(**(code **)(puVar11 + 0x511dc))(*(int *)(puVar11 + 0x5119c) + 0x68b0,0x1000,*dlg);\n  title = (char *)(**(code **)(puVar11 + 0x511dc))\n                            (*(int *)(puVar11 + 0x5119c) + 0x67c0,\n                             **(undefined4 **)(puVar11 + 0x51334));\n  parentwin = (GtkWidget *)get_window(ctrl);\n  iVar2 = string_width((char *)(*(int *)(puVar11 + 0x5119c) + 0x67d0));\n  messagebox(parentwin,title,msg,iVar2,0,*(int *)(puVar11 + 0x5119c) + 0x6810,0x6f,1,2,\n             *(int *)(puVar11 + 0x5119c) + 0x6808,0x61,0,1,*(int *)(puVar11 + 0x5119c) + 0x6800,100,\n             0xffffffff,0,0);\n  (**(code **)(puVar11 + 0x51178))(msg);\n  (**(code **)(puVar11 + 0x51178))(title);\n  return;\n}\n\n" comment (function_definition "void logevent_dlg(void *estuff,char *string)\n\n{\n  tm *ptVar1;\n  int iVar2;\n  tm *ptVar3;\n  undefined4 uVar4;\n  char *msg;\n  char *title;\n  GtkWidget *parentwin;\n  int *piVar5;\n  int *piVar6;\n  control *ctrl;\n  int iVar7;\n  undefined4 *dlg;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  undefined *puVar11;\n  int aiStack_a0 [8];\n  int aiStack_80 [4];\n  tm tm;\n  char timebuf [40];\n  \n  iVar2 = *(int *)PTR___stack_chk_guard_000aeedc;\n  iVar7 = *(int *)((int)estuff + 0x64c) + 0x40;\n  if (*(int *)((int)estuff + 0x64c) <= *(int *)((int)estuff + 0x648)) {\n    *(int *)((int)estuff + 0x64c) = iVar7;\n    uVar4 = (*(code *)PTR_saferealloc_000ae108)(*(undefined4 *)((int)estuff + 0x644),iVar7,4);\n    *(undefined4 *)((int)estuff + 0x644) = uVar4;\n  }\n  ltime();\n  ptVar1 = &tm;\n  piVar6 = aiStack_a0;\n  do {\n    piVar5 = piVar6;\n    ptVar3 = ptVar1;\n    iVar9 = piVar5[1];\n    iVar8 = piVar5[2];\n    iVar7 = piVar5[3];\n    ptVar3->tm_sec = *piVar5;\n    ptVar3->tm_min = iVar9;\n    ptVar3->tm_hour = iVar8;\n    ptVar3->tm_mday = iVar7;\n    piVar6 = piVar5 + 4;\n    ptVar1 = (tm *)&ptVar3->tm_mon;\n  } while (piVar6 != aiStack_80);\n  iVar8 = piVar5[5];\n  iVar7 = piVar5[6];\n  ptVar3->tm_mon = *piVar6;\n  ptVar3->tm_year = iVar8;\n  ptVar3->tm_wday = iVar7;\n  (*(code *)PTR_strftime_000ae96c)(timebuf,0x28,PTR_s__SSH_2_only__000ae0fc + 0x67ac,&tm);\n  iVar7 = (*(code *)PTR_strlen_000aedf0)(timebuf);\n  iVar8 = (*(code *)PTR_strlen_000aedf0)(string);\n  iVar9 = *(int *)((int)estuff + 0x648);\n  iVar10 = *(int *)((int)estuff + 0x644);\n  uVar4 = (*(code *)PTR_safemalloc_000ae0e0)(iVar7 + iVar8 + 1,1);\n  *(undefined4 *)(iVar10 + iVar9 * 4) = uVar4;\n  (*(code *)PTR_strcpy_000ae880)\n            (*(undefined4 *)(*(int *)((int)estuff + 0x644) + *(int *)((int)estuff + 0x648) * 4),\n             timebuf);\n  ctrl = *(control **)(*(int *)((int)estuff + 0x644) + *(int *)((int)estuff + 0x648) * 4);\n  (*(code *)PTR_strcat_000aeff4)(ctrl,string);\n  dlg = (undefined4 *)((int)estuff + 0x60c);\n  if (*(int *)((int)estuff + 4) != 0) {\n    ctrl = *(control **)((int)estuff + 0x640);\n    dlg_listbox_add(ctrl,dlg,*(char **)(*(int *)((int)estuff + 0x644) +\n                                       *(int *)((int)estuff + 0x648) * 4));\n  }\n  *(int *)((int)estuff + 0x648) = *(int *)((int)estuff + 0x648) + 1;\n  if (iVar2 == *(int *)PTR___stack_chk_guard_000aeedc) {\n    return;\n  }\n  puVar11 = PTR___stack_chk_fail_000aeb88;\n  (*(code *)PTR___stack_chk_fail_000aeb88)();\n  msg = (char *)(**(code **)(puVar11 + 0x511dc))(*(int *)(puVar11 + 0x5119c) + 0x68b0,0x1000,*dlg);\n  title = (char *)(**(code **)(puVar11 + 0x511dc))\n                            (*(int *)(puVar11 + 0x5119c) + 0x67c0,\n                             **(undefined4 **)(puVar11 + 0x51334));\n  parentwin = (GtkWidget *)get_window(ctrl);\n  iVar2 = string_width((char *)(*(int *)(puVar11 + 0x5119c) + 0x67d0));\n  messagebox(parentwin,title,msg,iVar2,0,*(int *)(puVar11 + 0x5119c) + 0x6810,0x6f,1,2,\n             *(int *)(puVar11 + 0x5119c) + 0x6808,0x61,0,1,*(int *)(puVar11 + 0x5119c) + 0x6800,100,\n             0xffffffff,0,0);\n  (**(code **)(puVar11 + 0x51178))(msg);\n  (**(code **)(puVar11 + 0x51178))(title);\n  return;\n}" primitive_type (function_declarator "logevent_dlg(void *estuff,char *string)" identifier (parameter_list "(void *estuff,char *string)" ( (parameter_declaration "void *estuff" primitive_type (pointer_declarator "*estuff" * identifier)) , (parameter_declaration "char *string" primitive_type (pointer_declarator "*string" * identifier)) ))) (compound_statement "{\n  tm *ptVar1;\n  int iVar2;\n  tm *ptVar3;\n  undefined4 uVar4;\n  char *msg;\n  char *title;\n  GtkWidget *parentwin;\n  int *piVar5;\n  int *piVar6;\n  control *ctrl;\n  int iVar7;\n  undefined4 *dlg;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  undefined *puVar11;\n  int aiStack_a0 [8];\n  int aiStack_80 [4];\n  tm tm;\n  char timebuf [40];\n  \n  iVar2 = *(int *)PTR___stack_chk_guard_000aeedc;\n  iVar7 = *(int *)((int)estuff + 0x64c) + 0x40;\n  if (*(int *)((int)estuff + 0x64c) <= *(int *)((int)estuff + 0x648)) {\n    *(int *)((int)estuff + 0x64c) = iVar7;\n    uVar4 = (*(code *)PTR_saferealloc_000ae108)(*(undefined4 *)((int)estuff + 0x644),iVar7,4);\n    *(undefined4 *)((int)estuff + 0x644) = uVar4;\n  }\n  ltime();\n  ptVar1 = &tm;\n  piVar6 = aiStack_a0;\n  do {\n    piVar5 = piVar6;\n    ptVar3 = ptVar1;\n    iVar9 = piVar5[1];\n    iVar8 = piVar5[2];\n    iVar7 = piVar5[3];\n    ptVar3->tm_sec = *piVar5;\n    ptVar3->tm_min = iVar9;\n    ptVar3->tm_hour = iVar8;\n    ptVar3->tm_mday = iVar7;\n    piVar6 = piVar5 + 4;\n    ptVar1 = (tm *)&ptVar3->tm_mon;\n  } while (piVar6 != aiStack_80);\n  iVar8 = piVar5[5];\n  iVar7 = piVar5[6];\n  ptVar3->tm_mon = *piVar6;\n  ptVar3->tm_year = iVar8;\n  ptVar3->tm_wday = iVar7;\n  (*(code *)PTR_strftime_000ae96c)(timebuf,0x28,PTR_s__SSH_2_only__000ae0fc + 0x67ac,&tm);\n  iVar7 = (*(code *)PTR_strlen_000aedf0)(timebuf);\n  iVar8 = (*(code *)PTR_strlen_000aedf0)(string);\n  iVar9 = *(int *)((int)estuff + 0x648);\n  iVar10 = *(int *)((int)estuff + 0x644);\n  uVar4 = (*(code *)PTR_safemalloc_000ae0e0)(iVar7 + iVar8 + 1,1);\n  *(undefined4 *)(iVar10 + iVar9 * 4) = uVar4;\n  (*(code *)PTR_strcpy_000ae880)\n            (*(undefined4 *)(*(int *)((int)estuff + 0x644) + *(int *)((int)estuff + 0x648) * 4),\n             timebuf);\n  ctrl = *(control **)(*(int *)((int)estuff + 0x644) + *(int *)((int)estuff + 0x648) * 4);\n  (*(code *)PTR_strcat_000aeff4)(ctrl,string);\n  dlg = (undefined4 *)((int)estuff + 0x60c);\n  if (*(int *)((int)estuff + 4) != 0) {\n    ctrl = *(control **)((int)estuff + 0x640);\n    dlg_listbox_add(ctrl,dlg,*(char **)(*(int *)((int)estuff + 0x644) +\n                                       *(int *)((int)estuff + 0x648) * 4));\n  }\n  *(int *)((int)estuff + 0x648) = *(int *)((int)estuff + 0x648) + 1;\n  if (iVar2 == *(int *)PTR___stack_chk_guard_000aeedc) {\n    return;\n  }\n  puVar11 = PTR___stack_chk_fail_000aeb88;\n  (*(code *)PTR___stack_chk_fail_000aeb88)();\n  msg = (char *)(**(code **)(puVar11 + 0x511dc))(*(int *)(puVar11 + 0x5119c) + 0x68b0,0x1000,*dlg);\n  title = (char *)(**(code **)(puVar11 + 0x511dc))\n                            (*(int *)(puVar11 + 0x5119c) + 0x67c0,\n                             **(undefined4 **)(puVar11 + 0x51334));\n  parentwin = (GtkWidget *)get_window(ctrl);\n  iVar2 = string_width((char *)(*(int *)(puVar11 + 0x5119c) + 0x67d0));\n  messagebox(parentwin,title,msg,iVar2,0,*(int *)(puVar11 + 0x5119c) + 0x6810,0x6f,1,2,\n             *(int *)(puVar11 + 0x5119c) + 0x6808,0x61,0,1,*(int *)(puVar11 + 0x5119c) + 0x6800,100,\n             0xffffffff,0,0);\n  (**(code **)(puVar11 + 0x51178))(msg);\n  (**(code **)(puVar11 + 0x51178))(title);\n  return;\n}" { (declaration "tm *ptVar1;" type_identifier (pointer_declarator "*ptVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "tm *ptVar3;" type_identifier (pointer_declarator "*ptVar3" * identifier) ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "char *msg;" primitive_type (pointer_declarator "*msg" * identifier) ;) (declaration "char *title;" primitive_type (pointer_declarator "*title" * identifier) ;) (declaration "GtkWidget *parentwin;" type_identifier (pointer_declarator "*parentwin" * identifier) ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "control *ctrl;" type_identifier (pointer_declarator "*ctrl" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined4 *dlg;" type_identifier (pointer_declarator "*dlg" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "int aiStack_a0 [8];" primitive_type (array_declarator "aiStack_a0 [8]" identifier [ number_literal ]) ;) (declaration "int aiStack_80 [4];" primitive_type (array_declarator "aiStack_80 [4]" identifier [ number_literal ]) ;) (declaration "tm tm;" type_identifier identifier ;) (declaration "char timebuf [40];" primitive_type (array_declarator "timebuf [40]" identifier [ number_literal ]) ;) (expression_statement "iVar2 = *(int *)PTR___stack_chk_guard_000aeedc;" (assignment_expression "iVar2 = *(int *)PTR___stack_chk_guard_000aeedc" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000aeedc" * (cast_expression "(int *)PTR___stack_chk_guard_000aeedc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar7 = *(int *)((int)estuff + 0x64c) + 0x40;" (assignment_expression "iVar7 = *(int *)((int)estuff + 0x64c) + 0x40" identifier = (binary_expression "*(int *)((int)estuff + 0x64c) + 0x40" (pointer_expression "*(int *)((int)estuff + 0x64c)" * (cast_expression "(int *)((int)estuff + 0x64c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)estuff + 0x64c)" ( (binary_expression "(int)estuff + 0x64c" (cast_expression "(int)estuff" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;) (if_statement "if (*(int *)((int)estuff + 0x64c) <= *(int *)((int)estuff + 0x648)) {\n    *(int *)((int)estuff + 0x64c) = iVar7;\n    uVar4 = (*(code *)PTR_saferealloc_000ae108)(*(undefined4 *)((int)estuff + 0x644),iVar7,4);\n    *(undefined4 *)((int)estuff + 0x644) = uVar4;\n  }" if (parenthesized_expression "(*(int *)((int)estuff + 0x64c) <= *(int *)((int)estuff + 0x648))" ( (binary_expression "*(int *)((int)estuff + 0x64c) <= *(int *)((int)estuff + 0x648)" (pointer_expression "*(int *)((int)estuff + 0x64c)" * (cast_expression "(int *)((int)estuff + 0x64c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)estuff + 0x64c)" ( (binary_expression "(int)estuff + 0x64c" (cast_expression "(int)estuff" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) <= (pointer_expression "*(int *)((int)estuff + 0x648)" * (cast_expression "(int *)((int)estuff + 0x648)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)estuff + 0x648)" ( (binary_expression "(int)estuff + 0x648" (cast_expression "(int)estuff" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )) (compound_statement "{\n    *(int *)((int)estuff + 0x64c) = iVar7;\n    uVar4 = (*(code *)PTR_saferealloc_000ae108)(*(undefined4 *)((int)estuff + 0x644),iVar7,4);\n    *(undefined4 *)((int)estuff + 0x644) = uVar4;\n  }" { (expression_statement "*(int *)((int)estuff + 0x64c) = iVar7;" (assignment_expression "*(int *)((int)estuff + 0x64c) = iVar7" (pointer_expression "*(int *)((int)estuff + 0x64c)" * (cast_expression "(int *)((int)estuff + 0x64c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)estuff + 0x64c)" ( (binary_expression "(int)estuff + 0x64c" (cast_expression "(int)estuff" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "uVar4 = (*(code *)PTR_saferealloc_000ae108)(*(undefined4 *)((int)estuff + 0x644),iVar7,4);" (assignment_expression "uVar4 = (*(code *)PTR_saferealloc_000ae108)(*(undefined4 *)((int)estuff + 0x644),iVar7,4)" identifier = (call_expression "(*(code *)PTR_saferealloc_000ae108)(*(undefined4 *)((int)estuff + 0x644),iVar7,4)" (parenthesized_expression "(*(code *)PTR_saferealloc_000ae108)" ( (pointer_expression "*(code *)PTR_saferealloc_000ae108" * (cast_expression "(code *)PTR_saferealloc_000ae108" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)((int)estuff + 0x644),iVar7,4)" ( (pointer_expression "*(undefined4 *)((int)estuff + 0x644)" * (cast_expression "(undefined4 *)((int)estuff + 0x644)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)estuff + 0x644)" ( (binary_expression "(int)estuff + 0x644" (cast_expression "(int)estuff" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , identifier , number_literal )))) ;) (expression_statement "*(undefined4 *)((int)estuff + 0x644) = uVar4;" (assignment_expression "*(undefined4 *)((int)estuff + 0x644) = uVar4" (pointer_expression "*(undefined4 *)((int)estuff + 0x644)" * (cast_expression "(undefined4 *)((int)estuff + 0x644)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)estuff + 0x644)" ( (binary_expression "(int)estuff + 0x644" (cast_expression "(int)estuff" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) })) (expression_statement "ltime();" (call_expression "ltime()" identifier (argument_list "()" ( ))) ;) (expression_statement "ptVar1 = &tm;" (assignment_expression "ptVar1 = &tm" identifier = (pointer_expression "&tm" & identifier)) ;) (expression_statement "piVar6 = aiStack_a0;" (assignment_expression "piVar6 = aiStack_a0" identifier = identifier) ;) (do_statement "do {\n    piVar5 = piVar6;\n    ptVar3 = ptVar1;\n    iVar9 = piVar5[1];\n    iVar8 = piVar5[2];\n    iVar7 = piVar5[3];\n    ptVar3->tm_sec = *piVar5;\n    ptVar3->tm_min = iVar9;\n    ptVar3->tm_hour = iVar8;\n    ptVar3->tm_mday = iVar7;\n    piVar6 = piVar5 + 4;\n    ptVar1 = (tm *)&ptVar3->tm_mon;\n  } while (piVar6 != aiStack_80);" do (compound_statement "{\n    piVar5 = piVar6;\n    ptVar3 = ptVar1;\n    iVar9 = piVar5[1];\n    iVar8 = piVar5[2];\n    iVar7 = piVar5[3];\n    ptVar3->tm_sec = *piVar5;\n    ptVar3->tm_min = iVar9;\n    ptVar3->tm_hour = iVar8;\n    ptVar3->tm_mday = iVar7;\n    piVar6 = piVar5 + 4;\n    ptVar1 = (tm *)&ptVar3->tm_mon;\n  }" { (expression_statement "piVar5 = piVar6;" (assignment_expression "piVar5 = piVar6" identifier = identifier) ;) (expression_statement "ptVar3 = ptVar1;" (assignment_expression "ptVar3 = ptVar1" identifier = identifier) ;) (expression_statement "iVar9 = piVar5[1];" (assignment_expression "iVar9 = piVar5[1]" identifier = (subscript_expression "piVar5[1]" identifier [ number_literal ])) ;) (expression_statement "iVar8 = piVar5[2];" (assignment_expression "iVar8 = piVar5[2]" identifier = (subscript_expression "piVar5[2]" identifier [ number_literal ])) ;) (expression_statement "iVar7 = piVar5[3];" (assignment_expression "iVar7 = piVar5[3]" identifier = (subscript_expression "piVar5[3]" identifier [ number_literal ])) ;) (expression_statement "ptVar3->tm_sec = *piVar5;" (assignment_expression "ptVar3->tm_sec = *piVar5" (field_expression "ptVar3->tm_sec" identifier -> field_identifier) = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "ptVar3->tm_min = iVar9;" (assignment_expression "ptVar3->tm_min = iVar9" (field_expression "ptVar3->tm_min" identifier -> field_identifier) = identifier) ;) (expression_statement "ptVar3->tm_hour = iVar8;" (assignment_expression "ptVar3->tm_hour = iVar8" (field_expression "ptVar3->tm_hour" identifier -> field_identifier) = identifier) ;) (expression_statement "ptVar3->tm_mday = iVar7;" (assignment_expression "ptVar3->tm_mday = iVar7" (field_expression "ptVar3->tm_mday" identifier -> field_identifier) = identifier) ;) (expression_statement "piVar6 = piVar5 + 4;" (assignment_expression "piVar6 = piVar5 + 4" identifier = (binary_expression "piVar5 + 4" identifier + number_literal)) ;) (expression_statement "ptVar1 = (tm *)&ptVar3->tm_mon;" (assignment_expression "ptVar1 = (tm *)&ptVar3->tm_mon" identifier = (cast_expression "(tm *)&ptVar3->tm_mon" ( (type_descriptor "tm *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&ptVar3->tm_mon" & (field_expression "ptVar3->tm_mon" identifier -> field_identifier)))) ;) }) while (parenthesized_expression "(piVar6 != aiStack_80)" ( (binary_expression "piVar6 != aiStack_80" identifier != identifier) )) ;) (expression_statement "iVar8 = piVar5[5];" (assignment_expression "iVar8 = piVar5[5]" identifier = (subscript_expression "piVar5[5]" identifier [ number_literal ])) ;) (expression_statement "iVar7 = piVar5[6];" (assignment_expression "iVar7 = piVar5[6]" identifier = (subscript_expression "piVar5[6]" identifier [ number_literal ])) ;) (expression_statement "ptVar3->tm_mon = *piVar6;" (assignment_expression "ptVar3->tm_mon = *piVar6" (field_expression "ptVar3->tm_mon" identifier -> field_identifier) = (pointer_expression "*piVar6" * identifier)) ;) (expression_statement "ptVar3->tm_year = iVar8;" (assignment_expression "ptVar3->tm_year = iVar8" (field_expression "ptVar3->tm_year" identifier -> field_identifier) = identifier) ;) (expression_statement "ptVar3->tm_wday = iVar7;" (assignment_expression "ptVar3->tm_wday = iVar7" (field_expression "ptVar3->tm_wday" identifier -> field_identifier) = identifier) ;) (expression_statement "(*(code *)PTR_strftime_000ae96c)(timebuf,0x28,PTR_s__SSH_2_only__000ae0fc + 0x67ac,&tm);" (call_expression "(*(code *)PTR_strftime_000ae96c)(timebuf,0x28,PTR_s__SSH_2_only__000ae0fc + 0x67ac,&tm)" (parenthesized_expression "(*(code *)PTR_strftime_000ae96c)" ( (pointer_expression "*(code *)PTR_strftime_000ae96c" * (cast_expression "(code *)PTR_strftime_000ae96c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(timebuf,0x28,PTR_s__SSH_2_only__000ae0fc + 0x67ac,&tm)" ( identifier , number_literal , (binary_expression "PTR_s__SSH_2_only__000ae0fc + 0x67ac" identifier + number_literal) , (pointer_expression "&tm" & identifier) ))) ;) (expression_statement "iVar7 = (*(code *)PTR_strlen_000aedf0)(timebuf);" (assignment_expression "iVar7 = (*(code *)PTR_strlen_000aedf0)(timebuf)" identifier = (call_expression "(*(code *)PTR_strlen_000aedf0)(timebuf)" (parenthesized_expression "(*(code *)PTR_strlen_000aedf0)" ( (pointer_expression "*(code *)PTR_strlen_000aedf0" * (cast_expression "(code *)PTR_strlen_000aedf0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(timebuf)" ( identifier )))) ;) (expression_statement "iVar8 = (*(code *)PTR_strlen_000aedf0)(string);" (assignment_expression "iVar8 = (*(code *)PTR_strlen_000aedf0)(string)" identifier = (call_expression "(*(code *)PTR_strlen_000aedf0)(string)" (parenthesized_expression "(*(code *)PTR_strlen_000aedf0)" ( (pointer_expression "*(code *)PTR_strlen_000aedf0" * (cast_expression "(code *)PTR_strlen_000aedf0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(string)" ( identifier )))) ;) (expression_statement "iVar9 = *(int *)((int)estuff + 0x648);" (assignment_expression "iVar9 = *(int *)((int)estuff + 0x648)" identifier = (pointer_expression "*(int *)((int)estuff + 0x648)" * (cast_expression "(int *)((int)estuff + 0x648)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)estuff + 0x648)" ( (binary_expression "(int)estuff + 0x648" (cast_expression "(int)estuff" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "iVar10 = *(int *)((int)estuff + 0x644);" (assignment_expression "iVar10 = *(int *)((int)estuff + 0x644)" identifier = (pointer_expression "*(int *)((int)estuff + 0x644)" * (cast_expression "(int *)((int)estuff + 0x644)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)estuff + 0x644)" ( (binary_expression "(int)estuff + 0x644" (cast_expression "(int)estuff" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "uVar4 = (*(code *)PTR_safemalloc_000ae0e0)(iVar7 + iVar8 + 1,1);" (assignment_expression "uVar4 = (*(code *)PTR_safemalloc_000ae0e0)(iVar7 + iVar8 + 1,1)" identifier = (call_expression "(*(code *)PTR_safemalloc_000ae0e0)(iVar7 + iVar8 + 1,1)" (parenthesized_expression "(*(code *)PTR_safemalloc_000ae0e0)" ( (pointer_expression "*(code *)PTR_safemalloc_000ae0e0" * (cast_expression "(code *)PTR_safemalloc_000ae0e0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7 + iVar8 + 1,1)" ( (binary_expression "iVar7 + iVar8 + 1" (binary_expression "iVar7 + iVar8" identifier + identifier) + number_literal) , number_literal )))) ;) (expression_statement "*(undefined4 *)(iVar10 + iVar9 * 4) = uVar4;" (assignment_expression "*(undefined4 *)(iVar10 + iVar9 * 4) = uVar4" (pointer_expression "*(undefined4 *)(iVar10 + iVar9 * 4)" * (cast_expression "(undefined4 *)(iVar10 + iVar9 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + iVar9 * 4)" ( (binary_expression "iVar10 + iVar9 * 4" identifier + (binary_expression "iVar9 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "(*(code *)PTR_strcpy_000ae880)\n            (*(undefined4 *)(*(int *)((int)estuff + 0x644) + *(int *)((int)estuff + 0x648) * 4),\n             timebuf);" (call_expression "(*(code *)PTR_strcpy_000ae880)\n            (*(undefined4 *)(*(int *)((int)estuff + 0x644) + *(int *)((int)estuff + 0x648) * 4),\n             timebuf)" (parenthesized_expression "(*(code *)PTR_strcpy_000ae880)" ( (pointer_expression "*(code *)PTR_strcpy_000ae880" * (cast_expression "(code *)PTR_strcpy_000ae880" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(*(int *)((int)estuff + 0x644) + *(int *)((int)estuff + 0x648) * 4),\n             timebuf)" ( (pointer_expression "*(undefined4 *)(*(int *)((int)estuff + 0x644) + *(int *)((int)estuff + 0x648) * 4)" * (cast_expression "(undefined4 *)(*(int *)((int)estuff + 0x644) + *(int *)((int)estuff + 0x648) * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)estuff + 0x644) + *(int *)((int)estuff + 0x648) * 4)" ( (binary_expression "*(int *)((int)estuff + 0x644) + *(int *)((int)estuff + 0x648) * 4" (pointer_expression "*(int *)((int)estuff + 0x644)" * (cast_expression "(int *)((int)estuff + 0x644)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)estuff + 0x644)" ( (binary_expression "(int)estuff + 0x644" (cast_expression "(int)estuff" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + (binary_expression "*(int *)((int)estuff + 0x648) * 4" (pointer_expression "*(int *)((int)estuff + 0x648)" * (cast_expression "(int *)((int)estuff + 0x648)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)estuff + 0x648)" ( (binary_expression "(int)estuff + 0x648" (cast_expression "(int)estuff" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) )))) , identifier ))) ;) (expression_statement "ctrl = *(control **)(*(int *)((int)estuff + 0x644) + *(int *)((int)estuff + 0x648) * 4);" (assignment_expression "ctrl = *(control **)(*(int *)((int)estuff + 0x644) + *(int *)((int)estuff + 0x648) * 4)" identifier = (pointer_expression "*(control **)(*(int *)((int)estuff + 0x644) + *(int *)((int)estuff + 0x648) * 4)" * (cast_expression "(control **)(*(int *)((int)estuff + 0x644) + *(int *)((int)estuff + 0x648) * 4)" ( (type_descriptor "control **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)((int)estuff + 0x644) + *(int *)((int)estuff + 0x648) * 4)" ( (binary_expression "*(int *)((int)estuff + 0x644) + *(int *)((int)estuff + 0x648) * 4" (pointer_expression "*(int *)((int)estuff + 0x644)" * (cast_expression "(int *)((int)estuff + 0x644)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)estuff + 0x644)" ( (binary_expression "(int)estuff + 0x644" (cast_expression "(int)estuff" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + (binary_expression "*(int *)((int)estuff + 0x648) * 4" (pointer_expression "*(int *)((int)estuff + 0x648)" * (cast_expression "(int *)((int)estuff + 0x648)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)estuff + 0x648)" ( (binary_expression "(int)estuff + 0x648" (cast_expression "(int)estuff" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "(*(code *)PTR_strcat_000aeff4)(ctrl,string);" (call_expression "(*(code *)PTR_strcat_000aeff4)(ctrl,string)" (parenthesized_expression "(*(code *)PTR_strcat_000aeff4)" ( (pointer_expression "*(code *)PTR_strcat_000aeff4" * (cast_expression "(code *)PTR_strcat_000aeff4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(ctrl,string)" ( identifier , identifier ))) ;) (expression_statement "dlg = (undefined4 *)((int)estuff + 0x60c);" (assignment_expression "dlg = (undefined4 *)((int)estuff + 0x60c)" identifier = (cast_expression "(undefined4 *)((int)estuff + 0x60c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)estuff + 0x60c)" ( (binary_expression "(int)estuff + 0x60c" (cast_expression "(int)estuff" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (*(int *)((int)estuff + 4) != 0) {\n    ctrl = *(control **)((int)estuff + 0x640);\n    dlg_listbox_add(ctrl,dlg,*(char **)(*(int *)((int)estuff + 0x644) +\n                                       *(int *)((int)estuff + 0x648) * 4));\n  }" if (parenthesized_expression "(*(int *)((int)estuff + 4) != 0)" ( (binary_expression "*(int *)((int)estuff + 4) != 0" (pointer_expression "*(int *)((int)estuff + 4)" * (cast_expression "(int *)((int)estuff + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)estuff + 4)" ( (binary_expression "(int)estuff + 4" (cast_expression "(int)estuff" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) )) (compound_statement "{\n    ctrl = *(control **)((int)estuff + 0x640);\n    dlg_listbox_add(ctrl,dlg,*(char **)(*(int *)((int)estuff + 0x644) +\n                                       *(int *)((int)estuff + 0x648) * 4));\n  }" { (expression_statement "ctrl = *(control **)((int)estuff + 0x640);" (assignment_expression "ctrl = *(control **)((int)estuff + 0x640)" identifier = (pointer_expression "*(control **)((int)estuff + 0x640)" * (cast_expression "(control **)((int)estuff + 0x640)" ( (type_descriptor "control **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)estuff + 0x640)" ( (binary_expression "(int)estuff + 0x640" (cast_expression "(int)estuff" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "dlg_listbox_add(ctrl,dlg,*(char **)(*(int *)((int)estuff + 0x644) +\n                                       *(int *)((int)estuff + 0x648) * 4));" (call_expression "dlg_listbox_add(ctrl,dlg,*(char **)(*(int *)((int)estuff + 0x644) +\n                                       *(int *)((int)estuff + 0x648) * 4))" identifier (argument_list "(ctrl,dlg,*(char **)(*(int *)((int)estuff + 0x644) +\n                                       *(int *)((int)estuff + 0x648) * 4))" ( identifier , identifier , (pointer_expression "*(char **)(*(int *)((int)estuff + 0x644) +\n                                       *(int *)((int)estuff + 0x648) * 4)" * (cast_expression "(char **)(*(int *)((int)estuff + 0x644) +\n                                       *(int *)((int)estuff + 0x648) * 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)((int)estuff + 0x644) +\n                                       *(int *)((int)estuff + 0x648) * 4)" ( (binary_expression "*(int *)((int)estuff + 0x644) +\n                                       *(int *)((int)estuff + 0x648) * 4" (pointer_expression "*(int *)((int)estuff + 0x644)" * (cast_expression "(int *)((int)estuff + 0x644)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)estuff + 0x644)" ( (binary_expression "(int)estuff + 0x644" (cast_expression "(int)estuff" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + (binary_expression "*(int *)((int)estuff + 0x648) * 4" (pointer_expression "*(int *)((int)estuff + 0x648)" * (cast_expression "(int *)((int)estuff + 0x648)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)estuff + 0x648)" ( (binary_expression "(int)estuff + 0x648" (cast_expression "(int)estuff" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) )))) ))) ;) })) (expression_statement "*(int *)((int)estuff + 0x648) = *(int *)((int)estuff + 0x648) + 1;" (assignment_expression "*(int *)((int)estuff + 0x648) = *(int *)((int)estuff + 0x648) + 1" (pointer_expression "*(int *)((int)estuff + 0x648)" * (cast_expression "(int *)((int)estuff + 0x648)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)estuff + 0x648)" ( (binary_expression "(int)estuff + 0x648" (cast_expression "(int)estuff" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(int *)((int)estuff + 0x648) + 1" (pointer_expression "*(int *)((int)estuff + 0x648)" * (cast_expression "(int *)((int)estuff + 0x648)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)estuff + 0x648)" ( (binary_expression "(int)estuff + 0x648" (cast_expression "(int)estuff" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;) (if_statement "if (iVar2 == *(int *)PTR___stack_chk_guard_000aeedc) {\n    return;\n  }" if (parenthesized_expression "(iVar2 == *(int *)PTR___stack_chk_guard_000aeedc)" ( (binary_expression "iVar2 == *(int *)PTR___stack_chk_guard_000aeedc" identifier == (pointer_expression "*(int *)PTR___stack_chk_guard_000aeedc" * (cast_expression "(int *)PTR___stack_chk_guard_000aeedc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "puVar11 = PTR___stack_chk_fail_000aeb88;" (assignment_expression "puVar11 = PTR___stack_chk_fail_000aeb88" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000aeb88)();" (call_expression "(*(code *)PTR___stack_chk_fail_000aeb88)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000aeb88)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000aeb88" * (cast_expression "(code *)PTR___stack_chk_fail_000aeb88" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "msg = (char *)(**(code **)(puVar11 + 0x511dc))(*(int *)(puVar11 + 0x5119c) + 0x68b0,0x1000,*dlg);" (assignment_expression "msg = (char *)(**(code **)(puVar11 + 0x511dc))(*(int *)(puVar11 + 0x5119c) + 0x68b0,0x1000,*dlg)" identifier = (cast_expression "(char *)(**(code **)(puVar11 + 0x511dc))(*(int *)(puVar11 + 0x5119c) + 0x68b0,0x1000,*dlg)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar11 + 0x511dc))(*(int *)(puVar11 + 0x5119c) + 0x68b0,0x1000,*dlg)" (parenthesized_expression "(**(code **)(puVar11 + 0x511dc))" ( (pointer_expression "**(code **)(puVar11 + 0x511dc)" * (pointer_expression "*(code **)(puVar11 + 0x511dc)" * (cast_expression "(code **)(puVar11 + 0x511dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x511dc)" ( (binary_expression "puVar11 + 0x511dc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x5119c) + 0x68b0,0x1000,*dlg)" ( (binary_expression "*(int *)(puVar11 + 0x5119c) + 0x68b0" (pointer_expression "*(int *)(puVar11 + 0x5119c)" * (cast_expression "(int *)(puVar11 + 0x5119c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x5119c)" ( (binary_expression "puVar11 + 0x5119c" identifier + number_literal) )))) + number_literal) , number_literal , (pointer_expression "*dlg" * identifier) ))))) ;) (expression_statement "title = (char *)(**(code **)(puVar11 + 0x511dc))\n                            (*(int *)(puVar11 + 0x5119c) + 0x67c0,\n                             **(undefined4 **)(puVar11 + 0x51334));" (assignment_expression "title = (char *)(**(code **)(puVar11 + 0x511dc))\n                            (*(int *)(puVar11 + 0x5119c) + 0x67c0,\n                             **(undefined4 **)(puVar11 + 0x51334))" identifier = (cast_expression "(char *)(**(code **)(puVar11 + 0x511dc))\n                            (*(int *)(puVar11 + 0x5119c) + 0x67c0,\n                             **(undefined4 **)(puVar11 + 0x51334))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar11 + 0x511dc))\n                            (*(int *)(puVar11 + 0x5119c) + 0x67c0,\n                             **(undefined4 **)(puVar11 + 0x51334))" (parenthesized_expression "(**(code **)(puVar11 + 0x511dc))" ( (pointer_expression "**(code **)(puVar11 + 0x511dc)" * (pointer_expression "*(code **)(puVar11 + 0x511dc)" * (cast_expression "(code **)(puVar11 + 0x511dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x511dc)" ( (binary_expression "puVar11 + 0x511dc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x5119c) + 0x67c0,\n                             **(undefined4 **)(puVar11 + 0x51334))" ( (binary_expression "*(int *)(puVar11 + 0x5119c) + 0x67c0" (pointer_expression "*(int *)(puVar11 + 0x5119c)" * (cast_expression "(int *)(puVar11 + 0x5119c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x5119c)" ( (binary_expression "puVar11 + 0x5119c" identifier + number_literal) )))) + number_literal) , (pointer_expression "**(undefined4 **)(puVar11 + 0x51334)" * (pointer_expression "*(undefined4 **)(puVar11 + 0x51334)" * (cast_expression "(undefined4 **)(puVar11 + 0x51334)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x51334)" ( (binary_expression "puVar11 + 0x51334" identifier + number_literal) ))))) ))))) ;) (expression_statement "parentwin = (GtkWidget *)get_window(ctrl);" (assignment_expression "parentwin = (GtkWidget *)get_window(ctrl)" identifier = (cast_expression "(GtkWidget *)get_window(ctrl)" ( (type_descriptor "GtkWidget *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "get_window(ctrl)" identifier (argument_list "(ctrl)" ( identifier ))))) ;) (expression_statement "iVar2 = string_width((char *)(*(int *)(puVar11 + 0x5119c) + 0x67d0));" (assignment_expression "iVar2 = string_width((char *)(*(int *)(puVar11 + 0x5119c) + 0x67d0))" identifier = (call_expression "string_width((char *)(*(int *)(puVar11 + 0x5119c) + 0x67d0))" identifier (argument_list "((char *)(*(int *)(puVar11 + 0x5119c) + 0x67d0))" ( (cast_expression "(char *)(*(int *)(puVar11 + 0x5119c) + 0x67d0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar11 + 0x5119c) + 0x67d0)" ( (binary_expression "*(int *)(puVar11 + 0x5119c) + 0x67d0" (pointer_expression "*(int *)(puVar11 + 0x5119c)" * (cast_expression "(int *)(puVar11 + 0x5119c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x5119c)" ( (binary_expression "puVar11 + 0x5119c" identifier + number_literal) )))) + number_literal) ))) )))) ;) (expression_statement "messagebox(parentwin,title,msg,iVar2,0,*(int *)(puVar11 + 0x5119c) + 0x6810,0x6f,1,2,\n             *(int *)(puVar11 + 0x5119c) + 0x6808,0x61,0,1,*(int *)(puVar11 + 0x5119c) + 0x6800,100,\n             0xffffffff,0,0);" (call_expression "messagebox(parentwin,title,msg,iVar2,0,*(int *)(puVar11 + 0x5119c) + 0x6810,0x6f,1,2,\n             *(int *)(puVar11 + 0x5119c) + 0x6808,0x61,0,1,*(int *)(puVar11 + 0x5119c) + 0x6800,100,\n             0xffffffff,0,0)" identifier (argument_list "(parentwin,title,msg,iVar2,0,*(int *)(puVar11 + 0x5119c) + 0x6810,0x6f,1,2,\n             *(int *)(puVar11 + 0x5119c) + 0x6808,0x61,0,1,*(int *)(puVar11 + 0x5119c) + 0x6800,100,\n             0xffffffff,0,0)" ( identifier , identifier , identifier , identifier , number_literal , (binary_expression "*(int *)(puVar11 + 0x5119c) + 0x6810" (pointer_expression "*(int *)(puVar11 + 0x5119c)" * (cast_expression "(int *)(puVar11 + 0x5119c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x5119c)" ( (binary_expression "puVar11 + 0x5119c" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , number_literal , (binary_expression "*(int *)(puVar11 + 0x5119c) + 0x6808" (pointer_expression "*(int *)(puVar11 + 0x5119c)" * (cast_expression "(int *)(puVar11 + 0x5119c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x5119c)" ( (binary_expression "puVar11 + 0x5119c" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , number_literal , (binary_expression "*(int *)(puVar11 + 0x5119c) + 0x6800" (pointer_expression "*(int *)(puVar11 + 0x5119c)" * (cast_expression "(int *)(puVar11 + 0x5119c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x5119c)" ( (binary_expression "puVar11 + 0x5119c" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , number_literal , number_literal ))) ;) (expression_statement "(**(code **)(puVar11 + 0x51178))(msg);" (call_expression "(**(code **)(puVar11 + 0x51178))(msg)" (parenthesized_expression "(**(code **)(puVar11 + 0x51178))" ( (pointer_expression "**(code **)(puVar11 + 0x51178)" * (pointer_expression "*(code **)(puVar11 + 0x51178)" * (cast_expression "(code **)(puVar11 + 0x51178)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x51178)" ( (binary_expression "puVar11 + 0x51178" identifier + number_literal) ))))) )) (argument_list "(msg)" ( identifier ))) ;) (expression_statement "(**(code **)(puVar11 + 0x51178))(title);" (call_expression "(**(code **)(puVar11 + 0x51178))(title)" (parenthesized_expression "(**(code **)(puVar11 + 0x51178))" ( (pointer_expression "**(code **)(puVar11 + 0x51178)" * (pointer_expression "*(code **)(puVar11 + 0x51178)" * (cast_expression "(code **)(puVar11 + 0x51178)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x51178)" ( (binary_expression "puVar11 + 0x51178" identifier + number_literal) ))))) )) (argument_list "(title)" ( identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit "int logevent_dlg(int param_1,undefined4 param_2)\n\n{\n  undefined4 *puVar1;\n  int iVar2;\n  undefined4 uVar3;\n  undefined4 *puVar4;\n  undefined4 *puVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined4 *puVar8;\n  undefined4 uVar9;\n  undefined4 uVar10;\n  int iVar11;\n  int iVar12;\n  undefined *puVar13;\n  undefined4 local_a0 [8];\n  undefined4 auStack_80 [4];\n  undefined4 local_70 [11];\n  undefined1 auStack_44 [40];\n  int local_1c;\n  \n  local_1c = *(int *)PTR___stack_chk_guard_000aeedc;\n  iVar6 = *(int *)(param_1 + 0x64c) + 0x40;\n  if (*(int *)(param_1 + 0x64c) <= *(int *)(param_1 + 0x648)) {\n    *(int *)(param_1 + 0x64c) = iVar6;\n    uVar7 = (*(code *)PTR_saferealloc_000ae108)(*(undefined4 *)(param_1 + 0x644),iVar6,4);\n    *(undefined4 *)(param_1 + 0x644) = uVar7;\n  }\n  ltime(local_a0);\n  puVar8 = local_70;\n  puVar5 = local_a0;\n  do {\n    puVar4 = puVar5;\n    puVar1 = puVar8;\n    uVar10 = puVar4[1];\n    uVar9 = puVar4[2];\n    uVar7 = puVar4[3];\n    *puVar1 = *puVar4;\n    puVar1[1] = uVar10;\n    puVar1[2] = uVar9;\n    puVar1[3] = uVar7;\n    puVar5 = puVar4 + 4;\n    puVar8 = puVar1 + 4;\n  } while (puVar5 != auStack_80);\n  uVar9 = puVar4[5];\n  uVar7 = puVar4[6];\n  puVar1[4] = *puVar5;\n  puVar1[5] = uVar9;\n  puVar1[6] = uVar7;\n  (*(code *)PTR_strftime_000ae96c)(auStack_44,0x28,PTR_s__SSH_2_only__000ae0fc + 0x67ac,local_70);\n  iVar6 = (*(code *)PTR_strlen_000aedf0)(auStack_44);\n  iVar2 = (*(code *)PTR_strlen_000aedf0)(param_2);\n  iVar11 = *(int *)(param_1 + 0x648);\n  iVar12 = *(int *)(param_1 + 0x644);\n  uVar7 = (*(code *)PTR_safemalloc_000ae0e0)(iVar6 + iVar2 + 1,1);\n  *(undefined4 *)(iVar12 + iVar11 * 4) = uVar7;\n  (*(code *)PTR_strcpy_000ae880)\n            (*(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4),auStack_44);\n  uVar7 = *(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4);\n  (*(code *)PTR_strcat_000aeff4)(uVar7,param_2);\n  puVar8 = (undefined4 *)(param_1 + 0x60c);\n  if (*(int *)(param_1 + 4) != 0) {\n    uVar7 = *(undefined4 *)(param_1 + 0x640);\n    dlg_listbox_add(uVar7,puVar8,\n                    *(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4));\n  }\n  *(int *)(param_1 + 0x648) = *(int *)(param_1 + 0x648) + 1;\n  if (local_1c == *(int *)PTR___stack_chk_guard_000aeedc) {\n    return *(int *)PTR___stack_chk_guard_000aeedc;\n  }\n  puVar13 = PTR___stack_chk_fail_000aeb88;\n  (*(code *)PTR___stack_chk_fail_000aeb88)();\n  uVar9 = (**(code **)(puVar13 + 0x511dc))(*(int *)(puVar13 + 0x5119c) + 0x68b0,0x1000,*puVar8);\n  uVar10 = (**(code **)(puVar13 + 0x511dc))\n                     (*(int *)(puVar13 + 0x5119c) + 0x67c0,**(undefined4 **)(puVar13 + 0x51334));\n  uVar7 = get_window(uVar7);\n  uVar3 = string_width(*(int *)(puVar13 + 0x5119c) + 0x67d0);\n  iVar6 = messagebox(uVar7,uVar10,uVar9,uVar3,0,*(int *)(puVar13 + 0x5119c) + 0x6810,0x6f,1,2,\n                     *(int *)(puVar13 + 0x5119c) + 0x6808,0x61,0,1,\n                     *(int *)(puVar13 + 0x5119c) + 0x6800,100,0xffffffff,0,0);\n  (**(code **)(puVar13 + 0x51178))(uVar9);\n  (**(code **)(puVar13 + 0x51178))(uVar10);\n  return iVar6;\n}\n\n" (function_definition "int logevent_dlg(int param_1,undefined4 param_2)\n\n{\n  undefined4 *puVar1;\n  int iVar2;\n  undefined4 uVar3;\n  undefined4 *puVar4;\n  undefined4 *puVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined4 *puVar8;\n  undefined4 uVar9;\n  undefined4 uVar10;\n  int iVar11;\n  int iVar12;\n  undefined *puVar13;\n  undefined4 local_a0 [8];\n  undefined4 auStack_80 [4];\n  undefined4 local_70 [11];\n  undefined1 auStack_44 [40];\n  int local_1c;\n  \n  local_1c = *(int *)PTR___stack_chk_guard_000aeedc;\n  iVar6 = *(int *)(param_1 + 0x64c) + 0x40;\n  if (*(int *)(param_1 + 0x64c) <= *(int *)(param_1 + 0x648)) {\n    *(int *)(param_1 + 0x64c) = iVar6;\n    uVar7 = (*(code *)PTR_saferealloc_000ae108)(*(undefined4 *)(param_1 + 0x644),iVar6,4);\n    *(undefined4 *)(param_1 + 0x644) = uVar7;\n  }\n  ltime(local_a0);\n  puVar8 = local_70;\n  puVar5 = local_a0;\n  do {\n    puVar4 = puVar5;\n    puVar1 = puVar8;\n    uVar10 = puVar4[1];\n    uVar9 = puVar4[2];\n    uVar7 = puVar4[3];\n    *puVar1 = *puVar4;\n    puVar1[1] = uVar10;\n    puVar1[2] = uVar9;\n    puVar1[3] = uVar7;\n    puVar5 = puVar4 + 4;\n    puVar8 = puVar1 + 4;\n  } while (puVar5 != auStack_80);\n  uVar9 = puVar4[5];\n  uVar7 = puVar4[6];\n  puVar1[4] = *puVar5;\n  puVar1[5] = uVar9;\n  puVar1[6] = uVar7;\n  (*(code *)PTR_strftime_000ae96c)(auStack_44,0x28,PTR_s__SSH_2_only__000ae0fc + 0x67ac,local_70);\n  iVar6 = (*(code *)PTR_strlen_000aedf0)(auStack_44);\n  iVar2 = (*(code *)PTR_strlen_000aedf0)(param_2);\n  iVar11 = *(int *)(param_1 + 0x648);\n  iVar12 = *(int *)(param_1 + 0x644);\n  uVar7 = (*(code *)PTR_safemalloc_000ae0e0)(iVar6 + iVar2 + 1,1);\n  *(undefined4 *)(iVar12 + iVar11 * 4) = uVar7;\n  (*(code *)PTR_strcpy_000ae880)\n            (*(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4),auStack_44);\n  uVar7 = *(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4);\n  (*(code *)PTR_strcat_000aeff4)(uVar7,param_2);\n  puVar8 = (undefined4 *)(param_1 + 0x60c);\n  if (*(int *)(param_1 + 4) != 0) {\n    uVar7 = *(undefined4 *)(param_1 + 0x640);\n    dlg_listbox_add(uVar7,puVar8,\n                    *(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4));\n  }\n  *(int *)(param_1 + 0x648) = *(int *)(param_1 + 0x648) + 1;\n  if (local_1c == *(int *)PTR___stack_chk_guard_000aeedc) {\n    return *(int *)PTR___stack_chk_guard_000aeedc;\n  }\n  puVar13 = PTR___stack_chk_fail_000aeb88;\n  (*(code *)PTR___stack_chk_fail_000aeb88)();\n  uVar9 = (**(code **)(puVar13 + 0x511dc))(*(int *)(puVar13 + 0x5119c) + 0x68b0,0x1000,*puVar8);\n  uVar10 = (**(code **)(puVar13 + 0x511dc))\n                     (*(int *)(puVar13 + 0x5119c) + 0x67c0,**(undefined4 **)(puVar13 + 0x51334));\n  uVar7 = get_window(uVar7);\n  uVar3 = string_width(*(int *)(puVar13 + 0x5119c) + 0x67d0);\n  iVar6 = messagebox(uVar7,uVar10,uVar9,uVar3,0,*(int *)(puVar13 + 0x5119c) + 0x6810,0x6f,1,2,\n                     *(int *)(puVar13 + 0x5119c) + 0x6808,0x61,0,1,\n                     *(int *)(puVar13 + 0x5119c) + 0x6800,100,0xffffffff,0,0);\n  (**(code **)(puVar13 + 0x51178))(uVar9);\n  (**(code **)(puVar13 + 0x51178))(uVar10);\n  return iVar6;\n}" primitive_type (function_declarator "logevent_dlg(int param_1,undefined4 param_2)" identifier (parameter_list "(int param_1,undefined4 param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) ))) (compound_statement "{\n  undefined4 *puVar1;\n  int iVar2;\n  undefined4 uVar3;\n  undefined4 *puVar4;\n  undefined4 *puVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined4 *puVar8;\n  undefined4 uVar9;\n  undefined4 uVar10;\n  int iVar11;\n  int iVar12;\n  undefined *puVar13;\n  undefined4 local_a0 [8];\n  undefined4 auStack_80 [4];\n  undefined4 local_70 [11];\n  undefined1 auStack_44 [40];\n  int local_1c;\n  \n  local_1c = *(int *)PTR___stack_chk_guard_000aeedc;\n  iVar6 = *(int *)(param_1 + 0x64c) + 0x40;\n  if (*(int *)(param_1 + 0x64c) <= *(int *)(param_1 + 0x648)) {\n    *(int *)(param_1 + 0x64c) = iVar6;\n    uVar7 = (*(code *)PTR_saferealloc_000ae108)(*(undefined4 *)(param_1 + 0x644),iVar6,4);\n    *(undefined4 *)(param_1 + 0x644) = uVar7;\n  }\n  ltime(local_a0);\n  puVar8 = local_70;\n  puVar5 = local_a0;\n  do {\n    puVar4 = puVar5;\n    puVar1 = puVar8;\n    uVar10 = puVar4[1];\n    uVar9 = puVar4[2];\n    uVar7 = puVar4[3];\n    *puVar1 = *puVar4;\n    puVar1[1] = uVar10;\n    puVar1[2] = uVar9;\n    puVar1[3] = uVar7;\n    puVar5 = puVar4 + 4;\n    puVar8 = puVar1 + 4;\n  } while (puVar5 != auStack_80);\n  uVar9 = puVar4[5];\n  uVar7 = puVar4[6];\n  puVar1[4] = *puVar5;\n  puVar1[5] = uVar9;\n  puVar1[6] = uVar7;\n  (*(code *)PTR_strftime_000ae96c)(auStack_44,0x28,PTR_s__SSH_2_only__000ae0fc + 0x67ac,local_70);\n  iVar6 = (*(code *)PTR_strlen_000aedf0)(auStack_44);\n  iVar2 = (*(code *)PTR_strlen_000aedf0)(param_2);\n  iVar11 = *(int *)(param_1 + 0x648);\n  iVar12 = *(int *)(param_1 + 0x644);\n  uVar7 = (*(code *)PTR_safemalloc_000ae0e0)(iVar6 + iVar2 + 1,1);\n  *(undefined4 *)(iVar12 + iVar11 * 4) = uVar7;\n  (*(code *)PTR_strcpy_000ae880)\n            (*(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4),auStack_44);\n  uVar7 = *(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4);\n  (*(code *)PTR_strcat_000aeff4)(uVar7,param_2);\n  puVar8 = (undefined4 *)(param_1 + 0x60c);\n  if (*(int *)(param_1 + 4) != 0) {\n    uVar7 = *(undefined4 *)(param_1 + 0x640);\n    dlg_listbox_add(uVar7,puVar8,\n                    *(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4));\n  }\n  *(int *)(param_1 + 0x648) = *(int *)(param_1 + 0x648) + 1;\n  if (local_1c == *(int *)PTR___stack_chk_guard_000aeedc) {\n    return *(int *)PTR___stack_chk_guard_000aeedc;\n  }\n  puVar13 = PTR___stack_chk_fail_000aeb88;\n  (*(code *)PTR___stack_chk_fail_000aeb88)();\n  uVar9 = (**(code **)(puVar13 + 0x511dc))(*(int *)(puVar13 + 0x5119c) + 0x68b0,0x1000,*puVar8);\n  uVar10 = (**(code **)(puVar13 + 0x511dc))\n                     (*(int *)(puVar13 + 0x5119c) + 0x67c0,**(undefined4 **)(puVar13 + 0x51334));\n  uVar7 = get_window(uVar7);\n  uVar3 = string_width(*(int *)(puVar13 + 0x5119c) + 0x67d0);\n  iVar6 = messagebox(uVar7,uVar10,uVar9,uVar3,0,*(int *)(puVar13 + 0x5119c) + 0x6810,0x6f,1,2,\n                     *(int *)(puVar13 + 0x5119c) + 0x6808,0x61,0,1,\n                     *(int *)(puVar13 + 0x5119c) + 0x6800,100,0xffffffff,0,0);\n  (**(code **)(puVar13 + 0x51178))(uVar9);\n  (**(code **)(puVar13 + 0x51178))(uVar10);\n  return iVar6;\n}" { (declaration "undefined4 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined4 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "undefined4 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "undefined *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "undefined4 local_a0 [8];" type_identifier (array_declarator "local_a0 [8]" identifier [ number_literal ]) ;) (declaration "undefined4 auStack_80 [4];" type_identifier (array_declarator "auStack_80 [4]" identifier [ number_literal ]) ;) (declaration "undefined4 local_70 [11];" type_identifier (array_declarator "local_70 [11]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_44 [40];" type_identifier (array_declarator "auStack_44 [40]" identifier [ number_literal ]) ;) (declaration "int local_1c;" primitive_type identifier ;) (expression_statement "local_1c = *(int *)PTR___stack_chk_guard_000aeedc;" (assignment_expression "local_1c = *(int *)PTR___stack_chk_guard_000aeedc" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000aeedc" * (cast_expression "(int *)PTR___stack_chk_guard_000aeedc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar6 = *(int *)(param_1 + 0x64c) + 0x40;" (assignment_expression "iVar6 = *(int *)(param_1 + 0x64c) + 0x40" identifier = (binary_expression "*(int *)(param_1 + 0x64c) + 0x40" (pointer_expression "*(int *)(param_1 + 0x64c)" * (cast_expression "(int *)(param_1 + 0x64c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x64c)" ( (binary_expression "param_1 + 0x64c" identifier + number_literal) )))) + number_literal)) ;) (if_statement "if (*(int *)(param_1 + 0x64c) <= *(int *)(param_1 + 0x648)) {\n    *(int *)(param_1 + 0x64c) = iVar6;\n    uVar7 = (*(code *)PTR_saferealloc_000ae108)(*(undefined4 *)(param_1 + 0x644),iVar6,4);\n    *(undefined4 *)(param_1 + 0x644) = uVar7;\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x64c) <= *(int *)(param_1 + 0x648))" ( (binary_expression "*(int *)(param_1 + 0x64c) <= *(int *)(param_1 + 0x648)" (pointer_expression "*(int *)(param_1 + 0x64c)" * (cast_expression "(int *)(param_1 + 0x64c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x64c)" ( (binary_expression "param_1 + 0x64c" identifier + number_literal) )))) <= (pointer_expression "*(int *)(param_1 + 0x648)" * (cast_expression "(int *)(param_1 + 0x648)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x648)" ( (binary_expression "param_1 + 0x648" identifier + number_literal) ))))) )) (compound_statement "{\n    *(int *)(param_1 + 0x64c) = iVar6;\n    uVar7 = (*(code *)PTR_saferealloc_000ae108)(*(undefined4 *)(param_1 + 0x644),iVar6,4);\n    *(undefined4 *)(param_1 + 0x644) = uVar7;\n  }" { (expression_statement "*(int *)(param_1 + 0x64c) = iVar6;" (assignment_expression "*(int *)(param_1 + 0x64c) = iVar6" (pointer_expression "*(int *)(param_1 + 0x64c)" * (cast_expression "(int *)(param_1 + 0x64c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x64c)" ( (binary_expression "param_1 + 0x64c" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar7 = (*(code *)PTR_saferealloc_000ae108)(*(undefined4 *)(param_1 + 0x644),iVar6,4);" (assignment_expression "uVar7 = (*(code *)PTR_saferealloc_000ae108)(*(undefined4 *)(param_1 + 0x644),iVar6,4)" identifier = (call_expression "(*(code *)PTR_saferealloc_000ae108)(*(undefined4 *)(param_1 + 0x644),iVar6,4)" (parenthesized_expression "(*(code *)PTR_saferealloc_000ae108)" ( (pointer_expression "*(code *)PTR_saferealloc_000ae108" * (cast_expression "(code *)PTR_saferealloc_000ae108" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(param_1 + 0x644),iVar6,4)" ( (pointer_expression "*(undefined4 *)(param_1 + 0x644)" * (cast_expression "(undefined4 *)(param_1 + 0x644)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x644)" ( (binary_expression "param_1 + 0x644" identifier + number_literal) )))) , identifier , number_literal )))) ;) (expression_statement "*(undefined4 *)(param_1 + 0x644) = uVar7;" (assignment_expression "*(undefined4 *)(param_1 + 0x644) = uVar7" (pointer_expression "*(undefined4 *)(param_1 + 0x644)" * (cast_expression "(undefined4 *)(param_1 + 0x644)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x644)" ( (binary_expression "param_1 + 0x644" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "ltime(local_a0);" (call_expression "ltime(local_a0)" identifier (argument_list "(local_a0)" ( identifier ))) ;) (expression_statement "puVar8 = local_70;" (assignment_expression "puVar8 = local_70" identifier = identifier) ;) (expression_statement "puVar5 = local_a0;" (assignment_expression "puVar5 = local_a0" identifier = identifier) ;) (do_statement "do {\n    puVar4 = puVar5;\n    puVar1 = puVar8;\n    uVar10 = puVar4[1];\n    uVar9 = puVar4[2];\n    uVar7 = puVar4[3];\n    *puVar1 = *puVar4;\n    puVar1[1] = uVar10;\n    puVar1[2] = uVar9;\n    puVar1[3] = uVar7;\n    puVar5 = puVar4 + 4;\n    puVar8 = puVar1 + 4;\n  } while (puVar5 != auStack_80);" do (compound_statement "{\n    puVar4 = puVar5;\n    puVar1 = puVar8;\n    uVar10 = puVar4[1];\n    uVar9 = puVar4[2];\n    uVar7 = puVar4[3];\n    *puVar1 = *puVar4;\n    puVar1[1] = uVar10;\n    puVar1[2] = uVar9;\n    puVar1[3] = uVar7;\n    puVar5 = puVar4 + 4;\n    puVar8 = puVar1 + 4;\n  }" { (expression_statement "puVar4 = puVar5;" (assignment_expression "puVar4 = puVar5" identifier = identifier) ;) (expression_statement "puVar1 = puVar8;" (assignment_expression "puVar1 = puVar8" identifier = identifier) ;) (expression_statement "uVar10 = puVar4[1];" (assignment_expression "uVar10 = puVar4[1]" identifier = (subscript_expression "puVar4[1]" identifier [ number_literal ])) ;) (expression_statement "uVar9 = puVar4[2];" (assignment_expression "uVar9 = puVar4[2]" identifier = (subscript_expression "puVar4[2]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = puVar4[3];" (assignment_expression "uVar7 = puVar4[3]" identifier = (subscript_expression "puVar4[3]" identifier [ number_literal ])) ;) (expression_statement "*puVar1 = *puVar4;" (assignment_expression "*puVar1 = *puVar4" (pointer_expression "*puVar1" * identifier) = (pointer_expression "*puVar4" * identifier)) ;) (expression_statement "puVar1[1] = uVar10;" (assignment_expression "puVar1[1] = uVar10" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1[2] = uVar9;" (assignment_expression "puVar1[2] = uVar9" (subscript_expression "puVar1[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1[3] = uVar7;" (assignment_expression "puVar1[3] = uVar7" (subscript_expression "puVar1[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar5 = puVar4 + 4;" (assignment_expression "puVar5 = puVar4 + 4" identifier = (binary_expression "puVar4 + 4" identifier + number_literal)) ;) (expression_statement "puVar8 = puVar1 + 4;" (assignment_expression "puVar8 = puVar1 + 4" identifier = (binary_expression "puVar1 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar5 != auStack_80)" ( (binary_expression "puVar5 != auStack_80" identifier != identifier) )) ;) (expression_statement "uVar9 = puVar4[5];" (assignment_expression "uVar9 = puVar4[5]" identifier = (subscript_expression "puVar4[5]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = puVar4[6];" (assignment_expression "uVar7 = puVar4[6]" identifier = (subscript_expression "puVar4[6]" identifier [ number_literal ])) ;) (expression_statement "puVar1[4] = *puVar5;" (assignment_expression "puVar1[4] = *puVar5" (subscript_expression "puVar1[4]" identifier [ number_literal ]) = (pointer_expression "*puVar5" * identifier)) ;) (expression_statement "puVar1[5] = uVar9;" (assignment_expression "puVar1[5] = uVar9" (subscript_expression "puVar1[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1[6] = uVar7;" (assignment_expression "puVar1[6] = uVar7" (subscript_expression "puVar1[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "(*(code *)PTR_strftime_000ae96c)(auStack_44,0x28,PTR_s__SSH_2_only__000ae0fc + 0x67ac,local_70);" (call_expression "(*(code *)PTR_strftime_000ae96c)(auStack_44,0x28,PTR_s__SSH_2_only__000ae0fc + 0x67ac,local_70)" (parenthesized_expression "(*(code *)PTR_strftime_000ae96c)" ( (pointer_expression "*(code *)PTR_strftime_000ae96c" * (cast_expression "(code *)PTR_strftime_000ae96c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_44,0x28,PTR_s__SSH_2_only__000ae0fc + 0x67ac,local_70)" ( identifier , number_literal , (binary_expression "PTR_s__SSH_2_only__000ae0fc + 0x67ac" identifier + number_literal) , identifier ))) ;) (expression_statement "iVar6 = (*(code *)PTR_strlen_000aedf0)(auStack_44);" (assignment_expression "iVar6 = (*(code *)PTR_strlen_000aedf0)(auStack_44)" identifier = (call_expression "(*(code *)PTR_strlen_000aedf0)(auStack_44)" (parenthesized_expression "(*(code *)PTR_strlen_000aedf0)" ( (pointer_expression "*(code *)PTR_strlen_000aedf0" * (cast_expression "(code *)PTR_strlen_000aedf0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_44)" ( identifier )))) ;) (expression_statement "iVar2 = (*(code *)PTR_strlen_000aedf0)(param_2);" (assignment_expression "iVar2 = (*(code *)PTR_strlen_000aedf0)(param_2)" identifier = (call_expression "(*(code *)PTR_strlen_000aedf0)(param_2)" (parenthesized_expression "(*(code *)PTR_strlen_000aedf0)" ( (pointer_expression "*(code *)PTR_strlen_000aedf0" * (cast_expression "(code *)PTR_strlen_000aedf0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "iVar11 = *(int *)(param_1 + 0x648);" (assignment_expression "iVar11 = *(int *)(param_1 + 0x648)" identifier = (pointer_expression "*(int *)(param_1 + 0x648)" * (cast_expression "(int *)(param_1 + 0x648)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x648)" ( (binary_expression "param_1 + 0x648" identifier + number_literal) ))))) ;) (expression_statement "iVar12 = *(int *)(param_1 + 0x644);" (assignment_expression "iVar12 = *(int *)(param_1 + 0x644)" identifier = (pointer_expression "*(int *)(param_1 + 0x644)" * (cast_expression "(int *)(param_1 + 0x644)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x644)" ( (binary_expression "param_1 + 0x644" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = (*(code *)PTR_safemalloc_000ae0e0)(iVar6 + iVar2 + 1,1);" (assignment_expression "uVar7 = (*(code *)PTR_safemalloc_000ae0e0)(iVar6 + iVar2 + 1,1)" identifier = (call_expression "(*(code *)PTR_safemalloc_000ae0e0)(iVar6 + iVar2 + 1,1)" (parenthesized_expression "(*(code *)PTR_safemalloc_000ae0e0)" ( (pointer_expression "*(code *)PTR_safemalloc_000ae0e0" * (cast_expression "(code *)PTR_safemalloc_000ae0e0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6 + iVar2 + 1,1)" ( (binary_expression "iVar6 + iVar2 + 1" (binary_expression "iVar6 + iVar2" identifier + identifier) + number_literal) , number_literal )))) ;) (expression_statement "*(undefined4 *)(iVar12 + iVar11 * 4) = uVar7;" (assignment_expression "*(undefined4 *)(iVar12 + iVar11 * 4) = uVar7" (pointer_expression "*(undefined4 *)(iVar12 + iVar11 * 4)" * (cast_expression "(undefined4 *)(iVar12 + iVar11 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + iVar11 * 4)" ( (binary_expression "iVar12 + iVar11 * 4" identifier + (binary_expression "iVar11 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "(*(code *)PTR_strcpy_000ae880)\n            (*(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4),auStack_44);" (call_expression "(*(code *)PTR_strcpy_000ae880)\n            (*(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4),auStack_44)" (parenthesized_expression "(*(code *)PTR_strcpy_000ae880)" ( (pointer_expression "*(code *)PTR_strcpy_000ae880" * (cast_expression "(code *)PTR_strcpy_000ae880" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4),auStack_44)" ( (pointer_expression "*(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4)" * (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4)" ( (binary_expression "*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4" (pointer_expression "*(int *)(param_1 + 0x644)" * (cast_expression "(int *)(param_1 + 0x644)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x644)" ( (binary_expression "param_1 + 0x644" identifier + number_literal) )))) + (binary_expression "*(int *)(param_1 + 0x648) * 4" (pointer_expression "*(int *)(param_1 + 0x648)" * (cast_expression "(int *)(param_1 + 0x648)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x648)" ( (binary_expression "param_1 + 0x648" identifier + number_literal) )))) * number_literal)) )))) , identifier ))) ;) (expression_statement "uVar7 = *(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4);" (assignment_expression "uVar7 = *(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4)" identifier = (pointer_expression "*(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4)" * (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4)" ( (binary_expression "*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4" (pointer_expression "*(int *)(param_1 + 0x644)" * (cast_expression "(int *)(param_1 + 0x644)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x644)" ( (binary_expression "param_1 + 0x644" identifier + number_literal) )))) + (binary_expression "*(int *)(param_1 + 0x648) * 4" (pointer_expression "*(int *)(param_1 + 0x648)" * (cast_expression "(int *)(param_1 + 0x648)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x648)" ( (binary_expression "param_1 + 0x648" identifier + number_literal) )))) * number_literal)) ))))) ;) (expression_statement "(*(code *)PTR_strcat_000aeff4)(uVar7,param_2);" (call_expression "(*(code *)PTR_strcat_000aeff4)(uVar7,param_2)" (parenthesized_expression "(*(code *)PTR_strcat_000aeff4)" ( (pointer_expression "*(code *)PTR_strcat_000aeff4" * (cast_expression "(code *)PTR_strcat_000aeff4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar7,param_2)" ( identifier , identifier ))) ;) (expression_statement "puVar8 = (undefined4 *)(param_1 + 0x60c);" (assignment_expression "puVar8 = (undefined4 *)(param_1 + 0x60c)" identifier = (cast_expression "(undefined4 *)(param_1 + 0x60c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x60c)" ( (binary_expression "param_1 + 0x60c" identifier + number_literal) )))) ;) (if_statement "if (*(int *)(param_1 + 4) != 0) {\n    uVar7 = *(undefined4 *)(param_1 + 0x640);\n    dlg_listbox_add(uVar7,puVar8,\n                    *(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4));\n  }" if (parenthesized_expression "(*(int *)(param_1 + 4) != 0)" ( (binary_expression "*(int *)(param_1 + 4) != 0" (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    uVar7 = *(undefined4 *)(param_1 + 0x640);\n    dlg_listbox_add(uVar7,puVar8,\n                    *(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4));\n  }" { (expression_statement "uVar7 = *(undefined4 *)(param_1 + 0x640);" (assignment_expression "uVar7 = *(undefined4 *)(param_1 + 0x640)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x640)" * (cast_expression "(undefined4 *)(param_1 + 0x640)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x640)" ( (binary_expression "param_1 + 0x640" identifier + number_literal) ))))) ;) (expression_statement "dlg_listbox_add(uVar7,puVar8,\n                    *(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4));" (call_expression "dlg_listbox_add(uVar7,puVar8,\n                    *(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4))" identifier (argument_list "(uVar7,puVar8,\n                    *(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4))" ( identifier , identifier , (pointer_expression "*(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4)" * (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4)" ( (binary_expression "*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4" (pointer_expression "*(int *)(param_1 + 0x644)" * (cast_expression "(int *)(param_1 + 0x644)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x644)" ( (binary_expression "param_1 + 0x644" identifier + number_literal) )))) + (binary_expression "*(int *)(param_1 + 0x648) * 4" (pointer_expression "*(int *)(param_1 + 0x648)" * (cast_expression "(int *)(param_1 + 0x648)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x648)" ( (binary_expression "param_1 + 0x648" identifier + number_literal) )))) * number_literal)) )))) ))) ;) })) (expression_statement "*(int *)(param_1 + 0x648) = *(int *)(param_1 + 0x648) + 1;" (assignment_expression "*(int *)(param_1 + 0x648) = *(int *)(param_1 + 0x648) + 1" (pointer_expression "*(int *)(param_1 + 0x648)" * (cast_expression "(int *)(param_1 + 0x648)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x648)" ( (binary_expression "param_1 + 0x648" identifier + number_literal) )))) = (binary_expression "*(int *)(param_1 + 0x648) + 1" (pointer_expression "*(int *)(param_1 + 0x648)" * (cast_expression "(int *)(param_1 + 0x648)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x648)" ( (binary_expression "param_1 + 0x648" identifier + number_literal) )))) + number_literal)) ;) (if_statement "if (local_1c == *(int *)PTR___stack_chk_guard_000aeedc) {\n    return *(int *)PTR___stack_chk_guard_000aeedc;\n  }" if (parenthesized_expression "(local_1c == *(int *)PTR___stack_chk_guard_000aeedc)" ( (binary_expression "local_1c == *(int *)PTR___stack_chk_guard_000aeedc" identifier == (pointer_expression "*(int *)PTR___stack_chk_guard_000aeedc" * (cast_expression "(int *)PTR___stack_chk_guard_000aeedc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return *(int *)PTR___stack_chk_guard_000aeedc;\n  }" { (return_statement "return *(int *)PTR___stack_chk_guard_000aeedc;" return (pointer_expression "*(int *)PTR___stack_chk_guard_000aeedc" * (cast_expression "(int *)PTR___stack_chk_guard_000aeedc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) (expression_statement "puVar13 = PTR___stack_chk_fail_000aeb88;" (assignment_expression "puVar13 = PTR___stack_chk_fail_000aeb88" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000aeb88)();" (call_expression "(*(code *)PTR___stack_chk_fail_000aeb88)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000aeb88)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000aeb88" * (cast_expression "(code *)PTR___stack_chk_fail_000aeb88" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "uVar9 = (**(code **)(puVar13 + 0x511dc))(*(int *)(puVar13 + 0x5119c) + 0x68b0,0x1000,*puVar8);" (assignment_expression "uVar9 = (**(code **)(puVar13 + 0x511dc))(*(int *)(puVar13 + 0x5119c) + 0x68b0,0x1000,*puVar8)" identifier = (call_expression "(**(code **)(puVar13 + 0x511dc))(*(int *)(puVar13 + 0x5119c) + 0x68b0,0x1000,*puVar8)" (parenthesized_expression "(**(code **)(puVar13 + 0x511dc))" ( (pointer_expression "**(code **)(puVar13 + 0x511dc)" * (pointer_expression "*(code **)(puVar13 + 0x511dc)" * (cast_expression "(code **)(puVar13 + 0x511dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + 0x511dc)" ( (binary_expression "puVar13 + 0x511dc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar13 + 0x5119c) + 0x68b0,0x1000,*puVar8)" ( (binary_expression "*(int *)(puVar13 + 0x5119c) + 0x68b0" (pointer_expression "*(int *)(puVar13 + 0x5119c)" * (cast_expression "(int *)(puVar13 + 0x5119c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x5119c)" ( (binary_expression "puVar13 + 0x5119c" identifier + number_literal) )))) + number_literal) , number_literal , (pointer_expression "*puVar8" * identifier) )))) ;) (expression_statement "uVar10 = (**(code **)(puVar13 + 0x511dc))\n                     (*(int *)(puVar13 + 0x5119c) + 0x67c0,**(undefined4 **)(puVar13 + 0x51334));" (assignment_expression "uVar10 = (**(code **)(puVar13 + 0x511dc))\n                     (*(int *)(puVar13 + 0x5119c) + 0x67c0,**(undefined4 **)(puVar13 + 0x51334))" identifier = (call_expression "(**(code **)(puVar13 + 0x511dc))\n                     (*(int *)(puVar13 + 0x5119c) + 0x67c0,**(undefined4 **)(puVar13 + 0x51334))" (parenthesized_expression "(**(code **)(puVar13 + 0x511dc))" ( (pointer_expression "**(code **)(puVar13 + 0x511dc)" * (pointer_expression "*(code **)(puVar13 + 0x511dc)" * (cast_expression "(code **)(puVar13 + 0x511dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + 0x511dc)" ( (binary_expression "puVar13 + 0x511dc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar13 + 0x5119c) + 0x67c0,**(undefined4 **)(puVar13 + 0x51334))" ( (binary_expression "*(int *)(puVar13 + 0x5119c) + 0x67c0" (pointer_expression "*(int *)(puVar13 + 0x5119c)" * (cast_expression "(int *)(puVar13 + 0x5119c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x5119c)" ( (binary_expression "puVar13 + 0x5119c" identifier + number_literal) )))) + number_literal) , (pointer_expression "**(undefined4 **)(puVar13 + 0x51334)" * (pointer_expression "*(undefined4 **)(puVar13 + 0x51334)" * (cast_expression "(undefined4 **)(puVar13 + 0x51334)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + 0x51334)" ( (binary_expression "puVar13 + 0x51334" identifier + number_literal) ))))) )))) ;) (expression_statement "uVar7 = get_window(uVar7);" (assignment_expression "uVar7 = get_window(uVar7)" identifier = (call_expression "get_window(uVar7)" identifier (argument_list "(uVar7)" ( identifier )))) ;) (expression_statement "uVar3 = string_width(*(int *)(puVar13 + 0x5119c) + 0x67d0);" (assignment_expression "uVar3 = string_width(*(int *)(puVar13 + 0x5119c) + 0x67d0)" identifier = (call_expression "string_width(*(int *)(puVar13 + 0x5119c) + 0x67d0)" identifier (argument_list "(*(int *)(puVar13 + 0x5119c) + 0x67d0)" ( (binary_expression "*(int *)(puVar13 + 0x5119c) + 0x67d0" (pointer_expression "*(int *)(puVar13 + 0x5119c)" * (cast_expression "(int *)(puVar13 + 0x5119c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x5119c)" ( (binary_expression "puVar13 + 0x5119c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar6 = messagebox(uVar7,uVar10,uVar9,uVar3,0,*(int *)(puVar13 + 0x5119c) + 0x6810,0x6f,1,2,\n                     *(int *)(puVar13 + 0x5119c) + 0x6808,0x61,0,1,\n                     *(int *)(puVar13 + 0x5119c) + 0x6800,100,0xffffffff,0,0);" (assignment_expression "iVar6 = messagebox(uVar7,uVar10,uVar9,uVar3,0,*(int *)(puVar13 + 0x5119c) + 0x6810,0x6f,1,2,\n                     *(int *)(puVar13 + 0x5119c) + 0x6808,0x61,0,1,\n                     *(int *)(puVar13 + 0x5119c) + 0x6800,100,0xffffffff,0,0)" identifier = (call_expression "messagebox(uVar7,uVar10,uVar9,uVar3,0,*(int *)(puVar13 + 0x5119c) + 0x6810,0x6f,1,2,\n                     *(int *)(puVar13 + 0x5119c) + 0x6808,0x61,0,1,\n                     *(int *)(puVar13 + 0x5119c) + 0x6800,100,0xffffffff,0,0)" identifier (argument_list "(uVar7,uVar10,uVar9,uVar3,0,*(int *)(puVar13 + 0x5119c) + 0x6810,0x6f,1,2,\n                     *(int *)(puVar13 + 0x5119c) + 0x6808,0x61,0,1,\n                     *(int *)(puVar13 + 0x5119c) + 0x6800,100,0xffffffff,0,0)" ( identifier , identifier , identifier , identifier , number_literal , (binary_expression "*(int *)(puVar13 + 0x5119c) + 0x6810" (pointer_expression "*(int *)(puVar13 + 0x5119c)" * (cast_expression "(int *)(puVar13 + 0x5119c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x5119c)" ( (binary_expression "puVar13 + 0x5119c" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , number_literal , (binary_expression "*(int *)(puVar13 + 0x5119c) + 0x6808" (pointer_expression "*(int *)(puVar13 + 0x5119c)" * (cast_expression "(int *)(puVar13 + 0x5119c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x5119c)" ( (binary_expression "puVar13 + 0x5119c" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , number_literal , (binary_expression "*(int *)(puVar13 + 0x5119c) + 0x6800" (pointer_expression "*(int *)(puVar13 + 0x5119c)" * (cast_expression "(int *)(puVar13 + 0x5119c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x5119c)" ( (binary_expression "puVar13 + 0x5119c" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , number_literal , number_literal )))) ;) (expression_statement "(**(code **)(puVar13 + 0x51178))(uVar9);" (call_expression "(**(code **)(puVar13 + 0x51178))(uVar9)" (parenthesized_expression "(**(code **)(puVar13 + 0x51178))" ( (pointer_expression "**(code **)(puVar13 + 0x51178)" * (pointer_expression "*(code **)(puVar13 + 0x51178)" * (cast_expression "(code **)(puVar13 + 0x51178)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + 0x51178)" ( (binary_expression "puVar13 + 0x51178" identifier + number_literal) ))))) )) (argument_list "(uVar9)" ( identifier ))) ;) (expression_statement "(**(code **)(puVar13 + 0x51178))(uVar10);" (call_expression "(**(code **)(puVar13 + 0x51178))(uVar10)" (parenthesized_expression "(**(code **)(puVar13 + 0x51178))" ( (pointer_expression "**(code **)(puVar13 + 0x51178)" * (pointer_expression "*(code **)(puVar13 + 0x51178)" * (cast_expression "(code **)(puVar13 + 0x51178)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + 0x51178)" ( (binary_expression "puVar13 + 0x51178" identifier + number_literal) ))))) )) (argument_list "(uVar10)" ( identifier ))) ;) (return_statement "return iVar6;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) <= (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , LIT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , (binary_expression IDENT + LIT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression (binary_expression IDENT + IDENT) + LIT) , LIT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))) ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (return_statement return (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (pointer_expression * IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , LIT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , LIT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , LIT , LIT , LIT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (return_statement return IDENT ;) })))
(function_definition "int logevent_dlg(int param_1,undefined4 param_2)\n\n{\n  undefined4 *puVar1;\n  int iVar2;\n  undefined4 uVar3;\n  undefined4 *puVar4;\n  undefined4 *puVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined4 *puVar8;\n  undefined4 uVar9;\n  undefined4 uVar10;\n  int iVar11;\n  int iVar12;\n  undefined *puVar13;\n  undefined4 local_a0 [8];\n  undefined4 auStack_80 [4];\n  undefined4 local_70 [11];\n  undefined1 auStack_44 [40];\n  int local_1c;\n  \n  local_1c = *(int *)PTR___stack_chk_guard_000aeedc;\n  iVar6 = *(int *)(param_1 + 0x64c) + 0x40;\n  if (*(int *)(param_1 + 0x64c) <= *(int *)(param_1 + 0x648)) {\n    *(int *)(param_1 + 0x64c) = iVar6;\n    uVar7 = (*(code *)PTR_saferealloc_000ae108)(*(undefined4 *)(param_1 + 0x644),iVar6,4);\n    *(undefined4 *)(param_1 + 0x644) = uVar7;\n  }\n  ltime(local_a0);\n  puVar8 = local_70;\n  puVar5 = local_a0;\n  do {\n    puVar4 = puVar5;\n    puVar1 = puVar8;\n    uVar10 = puVar4[1];\n    uVar9 = puVar4[2];\n    uVar7 = puVar4[3];\n    *puVar1 = *puVar4;\n    puVar1[1] = uVar10;\n    puVar1[2] = uVar9;\n    puVar1[3] = uVar7;\n    puVar5 = puVar4 + 4;\n    puVar8 = puVar1 + 4;\n  } while (puVar5 != auStack_80);\n  uVar9 = puVar4[5];\n  uVar7 = puVar4[6];\n  puVar1[4] = *puVar5;\n  puVar1[5] = uVar9;\n  puVar1[6] = uVar7;\n  (*(code *)PTR_strftime_000ae96c)(auStack_44,0x28,PTR_s__SSH_2_only__000ae0fc + 0x67ac,local_70);\n  iVar6 = (*(code *)PTR_strlen_000aedf0)(auStack_44);\n  iVar2 = (*(code *)PTR_strlen_000aedf0)(param_2);\n  iVar11 = *(int *)(param_1 + 0x648);\n  iVar12 = *(int *)(param_1 + 0x644);\n  uVar7 = (*(code *)PTR_safemalloc_000ae0e0)(iVar6 + iVar2 + 1,1);\n  *(undefined4 *)(iVar12 + iVar11 * 4) = uVar7;\n  (*(code *)PTR_strcpy_000ae880)\n            (*(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4),auStack_44);\n  uVar7 = *(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4);\n  (*(code *)PTR_strcat_000aeff4)(uVar7,param_2);\n  puVar8 = (undefined4 *)(param_1 + 0x60c);\n  if (*(int *)(param_1 + 4) != 0) {\n    uVar7 = *(undefined4 *)(param_1 + 0x640);\n    dlg_listbox_add(uVar7,puVar8,\n                    *(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4));\n  }\n  *(int *)(param_1 + 0x648) = *(int *)(param_1 + 0x648) + 1;\n  if (local_1c == *(int *)PTR___stack_chk_guard_000aeedc) {\n    return *(int *)PTR___stack_chk_guard_000aeedc;\n  }\n  puVar13 = PTR___stack_chk_fail_000aeb88;\n  (*(code *)PTR___stack_chk_fail_000aeb88)();\n  uVar9 = (**(code **)(puVar13 + 0x511dc))(*(int *)(puVar13 + 0x5119c) + 0x68b0,0x1000,*puVar8);\n  uVar10 = (**(code **)(puVar13 + 0x511dc))\n                     (*(int *)(puVar13 + 0x5119c) + 0x67c0,**(undefined4 **)(puVar13 + 0x51334));\n  uVar7 = get_window(uVar7);\n  uVar3 = string_width(*(int *)(puVar13 + 0x5119c) + 0x67d0);\n  iVar6 = messagebox(uVar7,uVar10,uVar9,uVar3,0,*(int *)(puVar13 + 0x5119c) + 0x6810,0x6f,1,2,\n                     *(int *)(puVar13 + 0x5119c) + 0x6808,0x61,0,1,\n                     *(int *)(puVar13 + 0x5119c) + 0x6800,100,0xffffffff,0,0);\n  (**(code **)(puVar13 + 0x51178))(uVar9);\n  (**(code **)(puVar13 + 0x51178))(uVar10);\n  return iVar6;\n}" (primitive_type "int") (function_declarator "logevent_dlg(int param_1,undefined4 param_2)" (identifier "logevent_dlg") (parameter_list "(int param_1,undefined4 param_2)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) () ")"))) (compound_statement "{\n  undefined4 *puVar1;\n  int iVar2;\n  undefined4 uVar3;\n  undefined4 *puVar4;\n  undefined4 *puVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined4 *puVar8;\n  undefined4 uVar9;\n  undefined4 uVar10;\n  int iVar11;\n  int iVar12;\n  undefined *puVar13;\n  undefined4 local_a0 [8];\n  undefined4 auStack_80 [4];\n  undefined4 local_70 [11];\n  undefined1 auStack_44 [40];\n  int local_1c;\n  \n  local_1c = *(int *)PTR___stack_chk_guard_000aeedc;\n  iVar6 = *(int *)(param_1 + 0x64c) + 0x40;\n  if (*(int *)(param_1 + 0x64c) <= *(int *)(param_1 + 0x648)) {\n    *(int *)(param_1 + 0x64c) = iVar6;\n    uVar7 = (*(code *)PTR_saferealloc_000ae108)(*(undefined4 *)(param_1 + 0x644),iVar6,4);\n    *(undefined4 *)(param_1 + 0x644) = uVar7;\n  }\n  ltime(local_a0);\n  puVar8 = local_70;\n  puVar5 = local_a0;\n  do {\n    puVar4 = puVar5;\n    puVar1 = puVar8;\n    uVar10 = puVar4[1];\n    uVar9 = puVar4[2];\n    uVar7 = puVar4[3];\n    *puVar1 = *puVar4;\n    puVar1[1] = uVar10;\n    puVar1[2] = uVar9;\n    puVar1[3] = uVar7;\n    puVar5 = puVar4 + 4;\n    puVar8 = puVar1 + 4;\n  } while (puVar5 != auStack_80);\n  uVar9 = puVar4[5];\n  uVar7 = puVar4[6];\n  puVar1[4] = *puVar5;\n  puVar1[5] = uVar9;\n  puVar1[6] = uVar7;\n  (*(code *)PTR_strftime_000ae96c)(auStack_44,0x28,PTR_s__SSH_2_only__000ae0fc + 0x67ac,local_70);\n  iVar6 = (*(code *)PTR_strlen_000aedf0)(auStack_44);\n  iVar2 = (*(code *)PTR_strlen_000aedf0)(param_2);\n  iVar11 = *(int *)(param_1 + 0x648);\n  iVar12 = *(int *)(param_1 + 0x644);\n  uVar7 = (*(code *)PTR_safemalloc_000ae0e0)(iVar6 + iVar2 + 1,1);\n  *(undefined4 *)(iVar12 + iVar11 * 4) = uVar7;\n  (*(code *)PTR_strcpy_000ae880)\n            (*(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4),auStack_44);\n  uVar7 = *(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4);\n  (*(code *)PTR_strcat_000aeff4)(uVar7,param_2);\n  puVar8 = (undefined4 *)(param_1 + 0x60c);\n  if (*(int *)(param_1 + 4) != 0) {\n    uVar7 = *(undefined4 *)(param_1 + 0x640);\n    dlg_listbox_add(uVar7,puVar8,\n                    *(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4));\n  }\n  *(int *)(param_1 + 0x648) = *(int *)(param_1 + 0x648) + 1;\n  if (local_1c == *(int *)PTR___stack_chk_guard_000aeedc) {\n    return *(int *)PTR___stack_chk_guard_000aeedc;\n  }\n  puVar13 = PTR___stack_chk_fail_000aeb88;\n  (*(code *)PTR___stack_chk_fail_000aeb88)();\n  uVar9 = (**(code **)(puVar13 + 0x511dc))(*(int *)(puVar13 + 0x5119c) + 0x68b0,0x1000,*puVar8);\n  uVar10 = (**(code **)(puVar13 + 0x511dc))\n                     (*(int *)(puVar13 + 0x5119c) + 0x67c0,**(undefined4 **)(puVar13 + 0x51334));\n  uVar7 = get_window(uVar7);\n  uVar3 = string_width(*(int *)(puVar13 + 0x5119c) + 0x67d0);\n  iVar6 = messagebox(uVar7,uVar10,uVar9,uVar3,0,*(int *)(puVar13 + 0x5119c) + 0x6810,0x6f,1,2,\n                     *(int *)(puVar13 + 0x5119c) + 0x6808,0x61,0,1,\n                     *(int *)(puVar13 + 0x5119c) + 0x6800,100,0xffffffff,0,0);\n  (**(code **)(puVar13 + 0x51178))(uVar9);\n  (**(code **)(puVar13 + 0x51178))(uVar10);\n  return iVar6;\n}" ({ "{") (declaration "undefined4 *puVar1;" (type_identifier "undefined4") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "undefined4 *puVar4;" (type_identifier "undefined4") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "undefined4 *puVar5;" (type_identifier "undefined4") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "undefined4 uVar7;" (type_identifier "undefined4") (identifier "uVar7") (; ";")) (declaration "undefined4 *puVar8;" (type_identifier "undefined4") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "undefined4 uVar9;" (type_identifier "undefined4") (identifier "uVar9") (; ";")) (declaration "undefined4 uVar10;" (type_identifier "undefined4") (identifier "uVar10") (; ";")) (declaration "int iVar11;" (primitive_type "int") (identifier "iVar11") (; ";")) (declaration "int iVar12;" (primitive_type "int") (identifier "iVar12") (; ";")) (declaration "undefined *puVar13;" (type_identifier "undefined") (pointer_declarator "*puVar13" (* "*") (identifier "puVar13")) (; ";")) (declaration "undefined4 local_a0 [8];" (type_identifier "undefined4") (array_declarator "local_a0 [8]" (identifier "local_a0") ([ "[") (number_literal "8") (] "]")) (; ";")) (declaration "undefined4 auStack_80 [4];" (type_identifier "undefined4") (array_declarator "auStack_80 [4]" (identifier "auStack_80") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "undefined4 local_70 [11];" (type_identifier "undefined4") (array_declarator "local_70 [11]" (identifier "local_70") ([ "[") (number_literal "11") (] "]")) (; ";")) (declaration "undefined1 auStack_44 [40];" (type_identifier "undefined1") (array_declarator "auStack_44 [40]" (identifier "auStack_44") ([ "[") (number_literal "40") (] "]")) (; ";")) (declaration "int local_1c;" (primitive_type "int") (identifier "local_1c") (; ";")) (expression_statement "local_1c = *(int *)PTR___stack_chk_guard_000aeedc;" (assignment_expression "local_1c = *(int *)PTR___stack_chk_guard_000aeedc" (identifier "local_1c") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_000aeedc" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_000aeedc" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_000aeedc")))) (; ";")) (expression_statement "iVar6 = *(int *)(param_1 + 0x64c) + 0x40;" (assignment_expression "iVar6 = *(int *)(param_1 + 0x64c) + 0x40" (identifier "iVar6") (= "=") (binary_expression "*(int *)(param_1 + 0x64c) + 0x40" (pointer_expression "*(int *)(param_1 + 0x64c)" (* "*") (cast_expression "(int *)(param_1 + 0x64c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x64c)" (( "(") (binary_expression "param_1 + 0x64c" (identifier "param_1") (+ "+") (number_literal "0x64c")) () ")")))) (+ "+") (number_literal "0x40"))) (; ";")) (if_statement "if (*(int *)(param_1 + 0x64c) <= *(int *)(param_1 + 0x648)) {\n    *(int *)(param_1 + 0x64c) = iVar6;\n    uVar7 = (*(code *)PTR_saferealloc_000ae108)(*(undefined4 *)(param_1 + 0x644),iVar6,4);\n    *(undefined4 *)(param_1 + 0x644) = uVar7;\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x64c) <= *(int *)(param_1 + 0x648))" (( "(") (binary_expression "*(int *)(param_1 + 0x64c) <= *(int *)(param_1 + 0x648)" (pointer_expression "*(int *)(param_1 + 0x64c)" (* "*") (cast_expression "(int *)(param_1 + 0x64c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x64c)" (( "(") (binary_expression "param_1 + 0x64c" (identifier "param_1") (+ "+") (number_literal "0x64c")) () ")")))) (<= "<=") (pointer_expression "*(int *)(param_1 + 0x648)" (* "*") (cast_expression "(int *)(param_1 + 0x648)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x648)" (( "(") (binary_expression "param_1 + 0x648" (identifier "param_1") (+ "+") (number_literal "0x648")) () ")"))))) () ")")) (compound_statement "{\n    *(int *)(param_1 + 0x64c) = iVar6;\n    uVar7 = (*(code *)PTR_saferealloc_000ae108)(*(undefined4 *)(param_1 + 0x644),iVar6,4);\n    *(undefined4 *)(param_1 + 0x644) = uVar7;\n  }" ({ "{") (expression_statement "*(int *)(param_1 + 0x64c) = iVar6;" (assignment_expression "*(int *)(param_1 + 0x64c) = iVar6" (pointer_expression "*(int *)(param_1 + 0x64c)" (* "*") (cast_expression "(int *)(param_1 + 0x64c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x64c)" (( "(") (binary_expression "param_1 + 0x64c" (identifier "param_1") (+ "+") (number_literal "0x64c")) () ")")))) (= "=") (identifier "iVar6")) (; ";")) (expression_statement "uVar7 = (*(code *)PTR_saferealloc_000ae108)(*(undefined4 *)(param_1 + 0x644),iVar6,4);" (assignment_expression "uVar7 = (*(code *)PTR_saferealloc_000ae108)(*(undefined4 *)(param_1 + 0x644),iVar6,4)" (identifier "uVar7") (= "=") (call_expression "(*(code *)PTR_saferealloc_000ae108)(*(undefined4 *)(param_1 + 0x644),iVar6,4)" (parenthesized_expression "(*(code *)PTR_saferealloc_000ae108)" (( "(") (pointer_expression "*(code *)PTR_saferealloc_000ae108" (* "*") (cast_expression "(code *)PTR_saferealloc_000ae108" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_saferealloc_000ae108"))) () ")")) (argument_list "(*(undefined4 *)(param_1 + 0x644),iVar6,4)" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 0x644)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x644)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x644)" (( "(") (binary_expression "param_1 + 0x644" (identifier "param_1") (+ "+") (number_literal "0x644")) () ")")))) (, ",") (identifier "iVar6") (, ",") (number_literal "4") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0x644) = uVar7;" (assignment_expression "*(undefined4 *)(param_1 + 0x644) = uVar7" (pointer_expression "*(undefined4 *)(param_1 + 0x644)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x644)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x644)" (( "(") (binary_expression "param_1 + 0x644" (identifier "param_1") (+ "+") (number_literal "0x644")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (} "}"))) (expression_statement "ltime(local_a0);" (call_expression "ltime(local_a0)" (identifier "ltime") (argument_list "(local_a0)" (( "(") (identifier "local_a0") () ")"))) (; ";")) (expression_statement "puVar8 = local_70;" (assignment_expression "puVar8 = local_70" (identifier "puVar8") (= "=") (identifier "local_70")) (; ";")) (expression_statement "puVar5 = local_a0;" (assignment_expression "puVar5 = local_a0" (identifier "puVar5") (= "=") (identifier "local_a0")) (; ";")) (do_statement "do {\n    puVar4 = puVar5;\n    puVar1 = puVar8;\n    uVar10 = puVar4[1];\n    uVar9 = puVar4[2];\n    uVar7 = puVar4[3];\n    *puVar1 = *puVar4;\n    puVar1[1] = uVar10;\n    puVar1[2] = uVar9;\n    puVar1[3] = uVar7;\n    puVar5 = puVar4 + 4;\n    puVar8 = puVar1 + 4;\n  } while (puVar5 != auStack_80);" (do "do") (compound_statement "{\n    puVar4 = puVar5;\n    puVar1 = puVar8;\n    uVar10 = puVar4[1];\n    uVar9 = puVar4[2];\n    uVar7 = puVar4[3];\n    *puVar1 = *puVar4;\n    puVar1[1] = uVar10;\n    puVar1[2] = uVar9;\n    puVar1[3] = uVar7;\n    puVar5 = puVar4 + 4;\n    puVar8 = puVar1 + 4;\n  }" ({ "{") (expression_statement "puVar4 = puVar5;" (assignment_expression "puVar4 = puVar5" (identifier "puVar4") (= "=") (identifier "puVar5")) (; ";")) (expression_statement "puVar1 = puVar8;" (assignment_expression "puVar1 = puVar8" (identifier "puVar1") (= "=") (identifier "puVar8")) (; ";")) (expression_statement "uVar10 = puVar4[1];" (assignment_expression "uVar10 = puVar4[1]" (identifier "uVar10") (= "=") (subscript_expression "puVar4[1]" (identifier "puVar4") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar9 = puVar4[2];" (assignment_expression "uVar9 = puVar4[2]" (identifier "uVar9") (= "=") (subscript_expression "puVar4[2]" (identifier "puVar4") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar7 = puVar4[3];" (assignment_expression "uVar7 = puVar4[3]" (identifier "uVar7") (= "=") (subscript_expression "puVar4[3]" (identifier "puVar4") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "*puVar1 = *puVar4;" (assignment_expression "*puVar1 = *puVar4" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (= "=") (pointer_expression "*puVar4" (* "*") (identifier "puVar4"))) (; ";")) (expression_statement "puVar1[1] = uVar10;" (assignment_expression "puVar1[1] = uVar10" (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar10")) (; ";")) (expression_statement "puVar1[2] = uVar9;" (assignment_expression "puVar1[2] = uVar9" (subscript_expression "puVar1[2]" (identifier "puVar1") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "puVar1[3] = uVar7;" (assignment_expression "puVar1[3] = uVar7" (subscript_expression "puVar1[3]" (identifier "puVar1") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "puVar5 = puVar4 + 4;" (assignment_expression "puVar5 = puVar4 + 4" (identifier "puVar5") (= "=") (binary_expression "puVar4 + 4" (identifier "puVar4") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "puVar8 = puVar1 + 4;" (assignment_expression "puVar8 = puVar1 + 4" (identifier "puVar8") (= "=") (binary_expression "puVar1 + 4" (identifier "puVar1") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar5 != auStack_80)" (( "(") (binary_expression "puVar5 != auStack_80" (identifier "puVar5") (!= "!=") (identifier "auStack_80")) () ")")) (; ";")) (expression_statement "uVar9 = puVar4[5];" (assignment_expression "uVar9 = puVar4[5]" (identifier "uVar9") (= "=") (subscript_expression "puVar4[5]" (identifier "puVar4") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "uVar7 = puVar4[6];" (assignment_expression "uVar7 = puVar4[6]" (identifier "uVar7") (= "=") (subscript_expression "puVar4[6]" (identifier "puVar4") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "puVar1[4] = *puVar5;" (assignment_expression "puVar1[4] = *puVar5" (subscript_expression "puVar1[4]" (identifier "puVar1") ([ "[") (number_literal "4") (] "]")) (= "=") (pointer_expression "*puVar5" (* "*") (identifier "puVar5"))) (; ";")) (expression_statement "puVar1[5] = uVar9;" (assignment_expression "puVar1[5] = uVar9" (subscript_expression "puVar1[5]" (identifier "puVar1") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "puVar1[6] = uVar7;" (assignment_expression "puVar1[6] = uVar7" (subscript_expression "puVar1[6]" (identifier "puVar1") ([ "[") (number_literal "6") (] "]")) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "(*(code *)PTR_strftime_000ae96c)(auStack_44,0x28,PTR_s__SSH_2_only__000ae0fc + 0x67ac,local_70);" (call_expression "(*(code *)PTR_strftime_000ae96c)(auStack_44,0x28,PTR_s__SSH_2_only__000ae0fc + 0x67ac,local_70)" (parenthesized_expression "(*(code *)PTR_strftime_000ae96c)" (( "(") (pointer_expression "*(code *)PTR_strftime_000ae96c" (* "*") (cast_expression "(code *)PTR_strftime_000ae96c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strftime_000ae96c"))) () ")")) (argument_list "(auStack_44,0x28,PTR_s__SSH_2_only__000ae0fc + 0x67ac,local_70)" (( "(") (identifier "auStack_44") (, ",") (number_literal "0x28") (, ",") (binary_expression "PTR_s__SSH_2_only__000ae0fc + 0x67ac" (identifier "PTR_s__SSH_2_only__000ae0fc") (+ "+") (number_literal "0x67ac")) (, ",") (identifier "local_70") () ")"))) (; ";")) (expression_statement "iVar6 = (*(code *)PTR_strlen_000aedf0)(auStack_44);" (assignment_expression "iVar6 = (*(code *)PTR_strlen_000aedf0)(auStack_44)" (identifier "iVar6") (= "=") (call_expression "(*(code *)PTR_strlen_000aedf0)(auStack_44)" (parenthesized_expression "(*(code *)PTR_strlen_000aedf0)" (( "(") (pointer_expression "*(code *)PTR_strlen_000aedf0" (* "*") (cast_expression "(code *)PTR_strlen_000aedf0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_000aedf0"))) () ")")) (argument_list "(auStack_44)" (( "(") (identifier "auStack_44") () ")")))) (; ";")) (expression_statement "iVar2 = (*(code *)PTR_strlen_000aedf0)(param_2);" (assignment_expression "iVar2 = (*(code *)PTR_strlen_000aedf0)(param_2)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_strlen_000aedf0)(param_2)" (parenthesized_expression "(*(code *)PTR_strlen_000aedf0)" (( "(") (pointer_expression "*(code *)PTR_strlen_000aedf0" (* "*") (cast_expression "(code *)PTR_strlen_000aedf0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_000aedf0"))) () ")")) (argument_list "(param_2)" (( "(") (identifier "param_2") () ")")))) (; ";")) (expression_statement "iVar11 = *(int *)(param_1 + 0x648);" (assignment_expression "iVar11 = *(int *)(param_1 + 0x648)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)(param_1 + 0x648)" (* "*") (cast_expression "(int *)(param_1 + 0x648)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x648)" (( "(") (binary_expression "param_1 + 0x648" (identifier "param_1") (+ "+") (number_literal "0x648")) () ")"))))) (; ";")) (expression_statement "iVar12 = *(int *)(param_1 + 0x644);" (assignment_expression "iVar12 = *(int *)(param_1 + 0x644)" (identifier "iVar12") (= "=") (pointer_expression "*(int *)(param_1 + 0x644)" (* "*") (cast_expression "(int *)(param_1 + 0x644)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x644)" (( "(") (binary_expression "param_1 + 0x644" (identifier "param_1") (+ "+") (number_literal "0x644")) () ")"))))) (; ";")) (expression_statement "uVar7 = (*(code *)PTR_safemalloc_000ae0e0)(iVar6 + iVar2 + 1,1);" (assignment_expression "uVar7 = (*(code *)PTR_safemalloc_000ae0e0)(iVar6 + iVar2 + 1,1)" (identifier "uVar7") (= "=") (call_expression "(*(code *)PTR_safemalloc_000ae0e0)(iVar6 + iVar2 + 1,1)" (parenthesized_expression "(*(code *)PTR_safemalloc_000ae0e0)" (( "(") (pointer_expression "*(code *)PTR_safemalloc_000ae0e0" (* "*") (cast_expression "(code *)PTR_safemalloc_000ae0e0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_safemalloc_000ae0e0"))) () ")")) (argument_list "(iVar6 + iVar2 + 1,1)" (( "(") (binary_expression "iVar6 + iVar2 + 1" (binary_expression "iVar6 + iVar2" (identifier "iVar6") (+ "+") (identifier "iVar2")) (+ "+") (number_literal "1")) (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(iVar12 + iVar11 * 4) = uVar7;" (assignment_expression "*(undefined4 *)(iVar12 + iVar11 * 4) = uVar7" (pointer_expression "*(undefined4 *)(iVar12 + iVar11 * 4)" (* "*") (cast_expression "(undefined4 *)(iVar12 + iVar11 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + iVar11 * 4)" (( "(") (binary_expression "iVar12 + iVar11 * 4" (identifier "iVar12") (+ "+") (binary_expression "iVar11 * 4" (identifier "iVar11") (* "*") (number_literal "4"))) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "(*(code *)PTR_strcpy_000ae880)\n            (*(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4),auStack_44);" (call_expression "(*(code *)PTR_strcpy_000ae880)\n            (*(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4),auStack_44)" (parenthesized_expression "(*(code *)PTR_strcpy_000ae880)" (( "(") (pointer_expression "*(code *)PTR_strcpy_000ae880" (* "*") (cast_expression "(code *)PTR_strcpy_000ae880" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcpy_000ae880"))) () ")")) (argument_list "(*(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4),auStack_44)" (( "(") (pointer_expression "*(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4)" (* "*") (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4)" (( "(") (binary_expression "*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4" (pointer_expression "*(int *)(param_1 + 0x644)" (* "*") (cast_expression "(int *)(param_1 + 0x644)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x644)" (( "(") (binary_expression "param_1 + 0x644" (identifier "param_1") (+ "+") (number_literal "0x644")) () ")")))) (+ "+") (binary_expression "*(int *)(param_1 + 0x648) * 4" (pointer_expression "*(int *)(param_1 + 0x648)" (* "*") (cast_expression "(int *)(param_1 + 0x648)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x648)" (( "(") (binary_expression "param_1 + 0x648" (identifier "param_1") (+ "+") (number_literal "0x648")) () ")")))) (* "*") (number_literal "4"))) () ")")))) (, ",") (identifier "auStack_44") () ")"))) (; ";")) (expression_statement "uVar7 = *(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4);" (assignment_expression "uVar7 = *(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4)" (identifier "uVar7") (= "=") (pointer_expression "*(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4)" (* "*") (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4)" (( "(") (binary_expression "*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4" (pointer_expression "*(int *)(param_1 + 0x644)" (* "*") (cast_expression "(int *)(param_1 + 0x644)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x644)" (( "(") (binary_expression "param_1 + 0x644" (identifier "param_1") (+ "+") (number_literal "0x644")) () ")")))) (+ "+") (binary_expression "*(int *)(param_1 + 0x648) * 4" (pointer_expression "*(int *)(param_1 + 0x648)" (* "*") (cast_expression "(int *)(param_1 + 0x648)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x648)" (( "(") (binary_expression "param_1 + 0x648" (identifier "param_1") (+ "+") (number_literal "0x648")) () ")")))) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "(*(code *)PTR_strcat_000aeff4)(uVar7,param_2);" (call_expression "(*(code *)PTR_strcat_000aeff4)(uVar7,param_2)" (parenthesized_expression "(*(code *)PTR_strcat_000aeff4)" (( "(") (pointer_expression "*(code *)PTR_strcat_000aeff4" (* "*") (cast_expression "(code *)PTR_strcat_000aeff4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcat_000aeff4"))) () ")")) (argument_list "(uVar7,param_2)" (( "(") (identifier "uVar7") (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "puVar8 = (undefined4 *)(param_1 + 0x60c);" (assignment_expression "puVar8 = (undefined4 *)(param_1 + 0x60c)" (identifier "puVar8") (= "=") (cast_expression "(undefined4 *)(param_1 + 0x60c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x60c)" (( "(") (binary_expression "param_1 + 0x60c" (identifier "param_1") (+ "+") (number_literal "0x60c")) () ")")))) (; ";")) (if_statement "if (*(int *)(param_1 + 4) != 0) {\n    uVar7 = *(undefined4 *)(param_1 + 0x640);\n    dlg_listbox_add(uVar7,puVar8,\n                    *(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4));\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 4) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 4) != 0" (pointer_expression "*(int *)(param_1 + 4)" (* "*") (cast_expression "(int *)(param_1 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    uVar7 = *(undefined4 *)(param_1 + 0x640);\n    dlg_listbox_add(uVar7,puVar8,\n                    *(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4));\n  }" ({ "{") (expression_statement "uVar7 = *(undefined4 *)(param_1 + 0x640);" (assignment_expression "uVar7 = *(undefined4 *)(param_1 + 0x640)" (identifier "uVar7") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 0x640)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x640)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x640)" (( "(") (binary_expression "param_1 + 0x640" (identifier "param_1") (+ "+") (number_literal "0x640")) () ")"))))) (; ";")) (expression_statement "dlg_listbox_add(uVar7,puVar8,\n                    *(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4));" (call_expression "dlg_listbox_add(uVar7,puVar8,\n                    *(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4))" (identifier "dlg_listbox_add") (argument_list "(uVar7,puVar8,\n                    *(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4))" (( "(") (identifier "uVar7") (, ",") (identifier "puVar8") (, ",") (pointer_expression "*(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4)" (* "*") (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4)" (( "(") (binary_expression "*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4" (pointer_expression "*(int *)(param_1 + 0x644)" (* "*") (cast_expression "(int *)(param_1 + 0x644)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x644)" (( "(") (binary_expression "param_1 + 0x644" (identifier "param_1") (+ "+") (number_literal "0x644")) () ")")))) (+ "+") (binary_expression "*(int *)(param_1 + 0x648) * 4" (pointer_expression "*(int *)(param_1 + 0x648)" (* "*") (cast_expression "(int *)(param_1 + 0x648)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x648)" (( "(") (binary_expression "param_1 + 0x648" (identifier "param_1") (+ "+") (number_literal "0x648")) () ")")))) (* "*") (number_literal "4"))) () ")")))) () ")"))) (; ";")) (} "}"))) (expression_statement "*(int *)(param_1 + 0x648) = *(int *)(param_1 + 0x648) + 1;" (assignment_expression "*(int *)(param_1 + 0x648) = *(int *)(param_1 + 0x648) + 1" (pointer_expression "*(int *)(param_1 + 0x648)" (* "*") (cast_expression "(int *)(param_1 + 0x648)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x648)" (( "(") (binary_expression "param_1 + 0x648" (identifier "param_1") (+ "+") (number_literal "0x648")) () ")")))) (= "=") (binary_expression "*(int *)(param_1 + 0x648) + 1" (pointer_expression "*(int *)(param_1 + 0x648)" (* "*") (cast_expression "(int *)(param_1 + 0x648)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x648)" (( "(") (binary_expression "param_1 + 0x648" (identifier "param_1") (+ "+") (number_literal "0x648")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (local_1c == *(int *)PTR___stack_chk_guard_000aeedc) {\n    return *(int *)PTR___stack_chk_guard_000aeedc;\n  }" (if "if") (parenthesized_expression "(local_1c == *(int *)PTR___stack_chk_guard_000aeedc)" (( "(") (binary_expression "local_1c == *(int *)PTR___stack_chk_guard_000aeedc" (identifier "local_1c") (== "==") (pointer_expression "*(int *)PTR___stack_chk_guard_000aeedc" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_000aeedc" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_000aeedc")))) () ")")) (compound_statement "{\n    return *(int *)PTR___stack_chk_guard_000aeedc;\n  }" ({ "{") (return_statement "return *(int *)PTR___stack_chk_guard_000aeedc;" (return "return") (pointer_expression "*(int *)PTR___stack_chk_guard_000aeedc" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_000aeedc" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_000aeedc"))) (; ";")) (} "}"))) (expression_statement "puVar13 = PTR___stack_chk_fail_000aeb88;" (assignment_expression "puVar13 = PTR___stack_chk_fail_000aeb88" (identifier "puVar13") (= "=") (identifier "PTR___stack_chk_fail_000aeb88")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_000aeb88)();" (call_expression "(*(code *)PTR___stack_chk_fail_000aeb88)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000aeb88)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_000aeb88" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_000aeb88" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_000aeb88"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar9 = (**(code **)(puVar13 + 0x511dc))(*(int *)(puVar13 + 0x5119c) + 0x68b0,0x1000,*puVar8);" (assignment_expression "uVar9 = (**(code **)(puVar13 + 0x511dc))(*(int *)(puVar13 + 0x5119c) + 0x68b0,0x1000,*puVar8)" (identifier "uVar9") (= "=") (call_expression "(**(code **)(puVar13 + 0x511dc))(*(int *)(puVar13 + 0x5119c) + 0x68b0,0x1000,*puVar8)" (parenthesized_expression "(**(code **)(puVar13 + 0x511dc))" (( "(") (pointer_expression "**(code **)(puVar13 + 0x511dc)" (* "*") (pointer_expression "*(code **)(puVar13 + 0x511dc)" (* "*") (cast_expression "(code **)(puVar13 + 0x511dc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar13 + 0x511dc)" (( "(") (binary_expression "puVar13 + 0x511dc" (identifier "puVar13") (+ "+") (number_literal "0x511dc")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar13 + 0x5119c) + 0x68b0,0x1000,*puVar8)" (( "(") (binary_expression "*(int *)(puVar13 + 0x5119c) + 0x68b0" (pointer_expression "*(int *)(puVar13 + 0x5119c)" (* "*") (cast_expression "(int *)(puVar13 + 0x5119c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar13 + 0x5119c)" (( "(") (binary_expression "puVar13 + 0x5119c" (identifier "puVar13") (+ "+") (number_literal "0x5119c")) () ")")))) (+ "+") (number_literal "0x68b0")) (, ",") (number_literal "0x1000") (, ",") (pointer_expression "*puVar8" (* "*") (identifier "puVar8")) () ")")))) (; ";")) (expression_statement "uVar10 = (**(code **)(puVar13 + 0x511dc))\n                     (*(int *)(puVar13 + 0x5119c) + 0x67c0,**(undefined4 **)(puVar13 + 0x51334));" (assignment_expression "uVar10 = (**(code **)(puVar13 + 0x511dc))\n                     (*(int *)(puVar13 + 0x5119c) + 0x67c0,**(undefined4 **)(puVar13 + 0x51334))" (identifier "uVar10") (= "=") (call_expression "(**(code **)(puVar13 + 0x511dc))\n                     (*(int *)(puVar13 + 0x5119c) + 0x67c0,**(undefined4 **)(puVar13 + 0x51334))" (parenthesized_expression "(**(code **)(puVar13 + 0x511dc))" (( "(") (pointer_expression "**(code **)(puVar13 + 0x511dc)" (* "*") (pointer_expression "*(code **)(puVar13 + 0x511dc)" (* "*") (cast_expression "(code **)(puVar13 + 0x511dc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar13 + 0x511dc)" (( "(") (binary_expression "puVar13 + 0x511dc" (identifier "puVar13") (+ "+") (number_literal "0x511dc")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar13 + 0x5119c) + 0x67c0,**(undefined4 **)(puVar13 + 0x51334))" (( "(") (binary_expression "*(int *)(puVar13 + 0x5119c) + 0x67c0" (pointer_expression "*(int *)(puVar13 + 0x5119c)" (* "*") (cast_expression "(int *)(puVar13 + 0x5119c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar13 + 0x5119c)" (( "(") (binary_expression "puVar13 + 0x5119c" (identifier "puVar13") (+ "+") (number_literal "0x5119c")) () ")")))) (+ "+") (number_literal "0x67c0")) (, ",") (pointer_expression "**(undefined4 **)(puVar13 + 0x51334)" (* "*") (pointer_expression "*(undefined4 **)(puVar13 + 0x51334)" (* "*") (cast_expression "(undefined4 **)(puVar13 + 0x51334)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar13 + 0x51334)" (( "(") (binary_expression "puVar13 + 0x51334" (identifier "puVar13") (+ "+") (number_literal "0x51334")) () ")"))))) () ")")))) (; ";")) (expression_statement "uVar7 = get_window(uVar7);" (assignment_expression "uVar7 = get_window(uVar7)" (identifier "uVar7") (= "=") (call_expression "get_window(uVar7)" (identifier "get_window") (argument_list "(uVar7)" (( "(") (identifier "uVar7") () ")")))) (; ";")) (expression_statement "uVar3 = string_width(*(int *)(puVar13 + 0x5119c) + 0x67d0);" (assignment_expression "uVar3 = string_width(*(int *)(puVar13 + 0x5119c) + 0x67d0)" (identifier "uVar3") (= "=") (call_expression "string_width(*(int *)(puVar13 + 0x5119c) + 0x67d0)" (identifier "string_width") (argument_list "(*(int *)(puVar13 + 0x5119c) + 0x67d0)" (( "(") (binary_expression "*(int *)(puVar13 + 0x5119c) + 0x67d0" (pointer_expression "*(int *)(puVar13 + 0x5119c)" (* "*") (cast_expression "(int *)(puVar13 + 0x5119c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar13 + 0x5119c)" (( "(") (binary_expression "puVar13 + 0x5119c" (identifier "puVar13") (+ "+") (number_literal "0x5119c")) () ")")))) (+ "+") (number_literal "0x67d0")) () ")")))) (; ";")) (expression_statement "iVar6 = messagebox(uVar7,uVar10,uVar9,uVar3,0,*(int *)(puVar13 + 0x5119c) + 0x6810,0x6f,1,2,\n                     *(int *)(puVar13 + 0x5119c) + 0x6808,0x61,0,1,\n                     *(int *)(puVar13 + 0x5119c) + 0x6800,100,0xffffffff,0,0);" (assignment_expression "iVar6 = messagebox(uVar7,uVar10,uVar9,uVar3,0,*(int *)(puVar13 + 0x5119c) + 0x6810,0x6f,1,2,\n                     *(int *)(puVar13 + 0x5119c) + 0x6808,0x61,0,1,\n                     *(int *)(puVar13 + 0x5119c) + 0x6800,100,0xffffffff,0,0)" (identifier "iVar6") (= "=") (call_expression "messagebox(uVar7,uVar10,uVar9,uVar3,0,*(int *)(puVar13 + 0x5119c) + 0x6810,0x6f,1,2,\n                     *(int *)(puVar13 + 0x5119c) + 0x6808,0x61,0,1,\n                     *(int *)(puVar13 + 0x5119c) + 0x6800,100,0xffffffff,0,0)" (identifier "messagebox") (argument_list "(uVar7,uVar10,uVar9,uVar3,0,*(int *)(puVar13 + 0x5119c) + 0x6810,0x6f,1,2,\n                     *(int *)(puVar13 + 0x5119c) + 0x6808,0x61,0,1,\n                     *(int *)(puVar13 + 0x5119c) + 0x6800,100,0xffffffff,0,0)" (( "(") (identifier "uVar7") (, ",") (identifier "uVar10") (, ",") (identifier "uVar9") (, ",") (identifier "uVar3") (, ",") (number_literal "0") (, ",") (binary_expression "*(int *)(puVar13 + 0x5119c) + 0x6810" (pointer_expression "*(int *)(puVar13 + 0x5119c)" (* "*") (cast_expression "(int *)(puVar13 + 0x5119c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar13 + 0x5119c)" (( "(") (binary_expression "puVar13 + 0x5119c" (identifier "puVar13") (+ "+") (number_literal "0x5119c")) () ")")))) (+ "+") (number_literal "0x6810")) (, ",") (number_literal "0x6f") (, ",") (number_literal "1") (, ",") (number_literal "2") (, ",") (binary_expression "*(int *)(puVar13 + 0x5119c) + 0x6808" (pointer_expression "*(int *)(puVar13 + 0x5119c)" (* "*") (cast_expression "(int *)(puVar13 + 0x5119c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar13 + 0x5119c)" (( "(") (binary_expression "puVar13 + 0x5119c" (identifier "puVar13") (+ "+") (number_literal "0x5119c")) () ")")))) (+ "+") (number_literal "0x6808")) (, ",") (number_literal "0x61") (, ",") (number_literal "0") (, ",") (number_literal "1") (, ",") (binary_expression "*(int *)(puVar13 + 0x5119c) + 0x6800" (pointer_expression "*(int *)(puVar13 + 0x5119c)" (* "*") (cast_expression "(int *)(puVar13 + 0x5119c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar13 + 0x5119c)" (( "(") (binary_expression "puVar13 + 0x5119c" (identifier "puVar13") (+ "+") (number_literal "0x5119c")) () ")")))) (+ "+") (number_literal "0x6800")) (, ",") (number_literal "100") (, ",") (number_literal "0xffffffff") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "(**(code **)(puVar13 + 0x51178))(uVar9);" (call_expression "(**(code **)(puVar13 + 0x51178))(uVar9)" (parenthesized_expression "(**(code **)(puVar13 + 0x51178))" (( "(") (pointer_expression "**(code **)(puVar13 + 0x51178)" (* "*") (pointer_expression "*(code **)(puVar13 + 0x51178)" (* "*") (cast_expression "(code **)(puVar13 + 0x51178)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar13 + 0x51178)" (( "(") (binary_expression "puVar13 + 0x51178" (identifier "puVar13") (+ "+") (number_literal "0x51178")) () ")"))))) () ")")) (argument_list "(uVar9)" (( "(") (identifier "uVar9") () ")"))) (; ";")) (expression_statement "(**(code **)(puVar13 + 0x51178))(uVar10);" (call_expression "(**(code **)(puVar13 + 0x51178))(uVar10)" (parenthesized_expression "(**(code **)(puVar13 + 0x51178))" (( "(") (pointer_expression "**(code **)(puVar13 + 0x51178)" (* "*") (pointer_expression "*(code **)(puVar13 + 0x51178)" (* "*") (cast_expression "(code **)(puVar13 + 0x51178)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar13 + 0x51178)" (( "(") (binary_expression "puVar13 + 0x51178" (identifier "puVar13") (+ "+") (number_literal "0x51178")) () ")"))))) () ")")) (argument_list "(uVar10)" (( "(") (identifier "uVar10") () ")"))) (; ";")) (return_statement "return iVar6;" (return "return") (identifier "iVar6") (; ";")) (} "}")))
(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) 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: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (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: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) 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: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (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))))) (identifier) (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (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 (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (binary_expression left: (identifier) right: (number_literal)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal)) (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (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)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) consequence: (compound_statement (return_statement (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (number_literal) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (number_literal) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (number_literal) (number_literal) (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (return_statement (identifier)))))

int MASKED(int param_1,undefined4 param_2)

{
  undefined4 *puVar1;
  int iVar2;
  undefined4 uVar3;
  undefined4 *puVar4;
  undefined4 *puVar5;
  int iVar6;
  undefined4 uVar7;
  undefined4 *puVar8;
  undefined4 uVar9;
  undefined4 uVar10;
  int iVar11;
  int iVar12;
  undefined *puVar13;
  undefined4 local_a0 [8];
  undefined4 auStack_80 [4];
  undefined4 local_70 [11];
  undefined1 auStack_44 [40];
  int local_1c;
  
  local_1c = *(int *)PTR___stack_chk_guard_000aeedc;
  iVar6 = *(int *)(param_1 + 0x64c) + 0x40;
  if (*(int *)(param_1 + 0x64c) <= *(int *)(param_1 + 0x648)) {
    *(int *)(param_1 + 0x64c) = iVar6;
    uVar7 = (*(code *)PTR_saferealloc_000ae108)(*(undefined4 *)(param_1 + 0x644),iVar6,4);
    *(undefined4 *)(param_1 + 0x644) = uVar7;
  }
  ltime(local_a0);
  puVar8 = local_70;
  puVar5 = local_a0;
  do {
    puVar4 = puVar5;
    puVar1 = puVar8;
    uVar10 = puVar4[1];
    uVar9 = puVar4[2];
    uVar7 = puVar4[3];
    *puVar1 = *puVar4;
    puVar1[1] = uVar10;
    puVar1[2] = uVar9;
    puVar1[3] = uVar7;
    puVar5 = puVar4 + 4;
    puVar8 = puVar1 + 4;
  } while (puVar5 != auStack_80);
  uVar9 = puVar4[5];
  uVar7 = puVar4[6];
  puVar1[4] = *puVar5;
  puVar1[5] = uVar9;
  puVar1[6] = uVar7;
  (*(code *)PTR_strftime_000ae96c)(auStack_44,0x28,PTR_s__SSH_2_only__000ae0fc + 0x67ac,local_70);
  iVar6 = (*(code *)PTR_strlen_000aedf0)(auStack_44);
  iVar2 = (*(code *)PTR_strlen_000aedf0)(param_2);
  iVar11 = *(int *)(param_1 + 0x648);
  iVar12 = *(int *)(param_1 + 0x644);
  uVar7 = (*(code *)PTR_safemalloc_000ae0e0)(iVar6 + iVar2 + 1,1);
  *(undefined4 *)(iVar12 + iVar11 * 4) = uVar7;
  (*(code *)PTR_strcpy_000ae880)
            (*(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4),auStack_44);
  uVar7 = *(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4);
  (*(code *)PTR_strcat_000aeff4)(uVar7,param_2);
  puVar8 = (undefined4 *)(param_1 + 0x60c);
  if (*(int *)(param_1 + 4) != 0) {
    uVar7 = *(undefined4 *)(param_1 + 0x640);
    dlg_listbox_add(uVar7,puVar8,
                    *(undefined4 *)(*(int *)(param_1 + 0x644) + *(int *)(param_1 + 0x648) * 4));
  }
  *(int *)(param_1 + 0x648) = *(int *)(param_1 + 0x648) + 1;
  if (local_1c == *(int *)PTR___stack_chk_guard_000aeedc) {
    return *(int *)PTR___stack_chk_guard_000aeedc;
  }
  puVar13 = PTR___stack_chk_fail_000aeb88;
  (*(code *)PTR___stack_chk_fail_000aeb88)();
  uVar9 = (**(code **)(puVar13 + 0x511dc))(*(int *)(puVar13 + 0x5119c) + 0x68b0,0x1000,*puVar8);
  uVar10 = (**(code **)(puVar13 + 0x511dc))
                     (*(int *)(puVar13 + 0x5119c) + 0x67c0,**(undefined4 **)(puVar13 + 0x51334));
  uVar7 = get_window(uVar7);
  uVar3 = string_width(*(int *)(puVar13 + 0x5119c) + 0x67d0);
  iVar6 = messagebox(uVar7,uVar10,uVar9,uVar3,0,*(int *)(puVar13 + 0x5119c) + 0x6810,0x6f,1,2,
                     *(int *)(puVar13 + 0x5119c) + 0x6808,0x61,0,1,
                     *(int *)(puVar13 + 0x5119c) + 0x6800,100,0xffffffff,0,0);
  (**(code **)(puVar13 + 0x51178))(uVar9);
  (**(code **)(puVar13 + 0x51178))(uVar10);
  return iVar6;
}

