
void nonfatal(char *p,...)

{
  undefined *puVar1;
  undefined *puVar2;
  int iVar3;
  undefined4 uVar4;
  undefined4 in_a1;
  undefined4 uVar5;
  undefined4 uVar6;
  undefined4 in_a2;
  char *pcVar7;
  undefined4 in_a3;
  char **ppcVar8;
  undefined4 *puVar9;
  undefined4 *puVar10;
  int *piVar11;
  undefined *puVar12;
  code *pcVar13;
  code *pcVar14;
  undefined4 local_res4;
  undefined4 local_res8;
  undefined4 local_resc;
  termios tStack_128;
  undefined4 uStack_f4;
  termios *ptStack_f0;
  undefined4 *puStack_ec;
  int *piStack_e8;
  code *pcStack_e4;
  undefined4 uStack_dc;
  undefined4 uStack_d8;
  char **ppcStack_d4;
  undefined *puStack_d0;
  char **ppcStack_c4;
  termios tStack_c0;
  int iStack_8c;
  termios *ptStack_88;
  undefined *puStack_84;
  undefined *puStack_80;
  char *pcStack_7c;
  char *pcStack_68;
  undefined4 *puStack_64;
  va_list ap;
  termios cf;
  
  puVar2 = PTR_stderr_000adcf0;
  puVar1 = PTR___stack_chk_guard_000adcd4;
  iVar3 = *(int *)PTR___stack_chk_guard_000adcd4;
  local_res4 = in_a1;
  local_res8 = in_a2;
  local_resc = in_a3;
  premsg(&cf);
  (*(code *)PTR_fwrite_000adc7c)(PTR_DAT_000ad2d0 + -0x604c,1,7,*(undefined4 *)puVar2);
  puVar10 = &local_res4;
  pcVar7 = p;
  (*(code *)PTR___vfprintf_chk_000add0c)(*(undefined4 *)puVar2,1);
  uVar5 = *(undefined4 *)puVar2;
  (*(code *)PTR_fputc_000adb8c)(10);
  postmsg(&cf);
  if (iVar3 == *(int *)puVar1) {
    return;
  }
  puVar12 = PTR___stack_chk_fail_000adca4;
  (*(code *)PTR___stack_chk_fail_000adca4)();
  puStack_d0 = puVar12 + 0x35188;
  puStack_80 = puVar1;
  piVar11 = *(int **)(puVar12 + 0x2dbcc);
  puStack_84 = puVar2;
  iStack_8c = *piVar11;
  puVar9 = *(undefined4 **)(puVar12 + 0x2dbe8);
  iVar3 = *(int *)(puVar12 + 0x2d1b0);
  ptStack_88 = &cf;
  pcStack_7c = p;
  pcStack_68 = pcVar7;
  puStack_64 = puVar10;
  premsg(&tStack_c0);
  (**(code **)(puStack_d0 + -0x7614))(*(int *)(puStack_d0 + -0x7fc0) + -0x605c,1,0xd,*puVar9);
  ppcVar8 = &pcStack_68;
  ppcStack_c4 = ppcVar8;
  (**(code **)(puStack_d0 + -0x7584))(*puVar9,1);
  uVar6 = *puVar9;
  (**(code **)(puStack_d0 + -0x7704))(10);
  postmsg(&tStack_c0);
  if (*(int *)(iVar3 + -0x1b18) != 0) {
    (**(code **)(puStack_d0 + -0x7fa8))();
    *(undefined4 *)(iVar3 + -0x1b18) = 0;
  }
  uVar4 = 1;
  cleanup_exit(1);
  if (iStack_8c == *piVar11) {
    return;
  }
  pcVar13 = *(code **)(puStack_d0 + -0x75ec);
  pcVar14 = cmdline_error;
  (*pcVar13)();
  uStack_f4 = **(undefined4 **)(pcVar13 + 0x2da9c);
  puVar10 = *(undefined4 **)(pcVar13 + 0x2dab8);
  ptStack_f0 = &tStack_c0;
  puStack_ec = puVar9;
  piStack_e8 = piVar11;
  pcStack_e4 = pcVar14;
  uStack_dc = uVar6;
  uStack_d8 = uVar5;
  ppcStack_d4 = ppcVar8;
  premsg(&tStack_128);
  (**(code **)(pcVar13 + 0x2da44))(*(int *)(pcVar13 + 0x2d098) + -0x6044,1,7,*puVar10);
  (**(code **)(pcVar13 + 0x2dad4))(*puVar10,1,uVar4,&uStack_dc);
  (**(code **)(pcVar13 + 0x2d954))(10,*puVar10);
  postmsg(&tStack_128);
  pcVar13 = *(code **)(pcVar13 + 0x2da10);
  uVar5 = 1;
  (*pcVar13)(1);
  iVar3 = (**(code **)(pcVar13 + 0x2da0c))();
  if (iVar3 == 0) {
    uVar5 = (**(code **)(pcVar13 + 0x2d95c))(*(int *)(pcVar13 + 0x2cfc0) + -0xa68);
                    /* WARNING: Could not recover jumptable at 0x000803b0. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    (**(code **)(pcVar13 + 0x2cfd4))(uVar5);
    return;
  }
  iVar3 = (**(code **)(pcVar13 + 0x2da0c))(uVar5,*(int *)(pcVar13 + 0x2cfc0) + -0x430c);
  if (iVar3 != 0) {
    return;
  }
                    /* WARNING: Could not recover jumptable at 0x00080384. Too many branches */
                    /* WARNING: Treating indirect jump as call */
  (**(code **)(pcVar13 + 0x2cfd4))(*(int *)(pcVar13 + 0x2cfc8) + -0x6030);
  return;
}



int nonfatal(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)

{
  undefined *puVar1;
  undefined *puVar2;
  int iVar3;
  undefined4 uVar4;
  undefined4 uVar5;
  undefined4 uVar6;
  undefined4 *puVar7;
  undefined4 *puVar8;
  undefined4 *puVar9;
  int *piVar10;
  undefined *puVar11;
  code *pcVar12;
  code *pcVar13;
  undefined4 local_res4;
  undefined4 local_res8;
  undefined4 local_resc;
  undefined1 auStack_128 [52];
  undefined4 uStack_f4;
  undefined1 *puStack_f0;
  undefined4 *puStack_ec;
  int *piStack_e8;
  code *pcStack_e4;
  undefined4 uStack_dc;
  undefined4 uStack_d8;
  undefined4 *puStack_d4;
  undefined *puStack_d0;
  undefined4 *puStack_c4;
  undefined1 auStack_c0 [52];
  int iStack_8c;
  undefined1 *puStack_88;
  undefined *puStack_84;
  undefined *puStack_80;
  undefined4 uStack_7c;
  undefined4 uStack_68;
  undefined4 *puStack_64;
  undefined1 auStack_50 [52];
  int local_1c;
  
  puVar2 = PTR_stderr_000adcf0;
  puVar1 = PTR___stack_chk_guard_000adcd4;
  local_1c = *(int *)PTR___stack_chk_guard_000adcd4;
  local_res4 = param_2;
  local_res8 = param_3;
  local_resc = param_4;
  premsg(auStack_50);
  (*(code *)PTR_fwrite_000adc7c)(PTR_DAT_000ad2d0 + -0x604c,1,7,*(undefined4 *)puVar2);
  puVar7 = &local_res4;
  uVar6 = param_1;
  (*(code *)PTR___vfprintf_chk_000add0c)(*(undefined4 *)puVar2,1);
  uVar5 = *(undefined4 *)puVar2;
  (*(code *)PTR_fputc_000adb8c)(10);
  postmsg(auStack_50);
  iVar3 = *(int *)puVar1;
  if (local_1c == iVar3) {
    return iVar3;
  }
  puVar11 = PTR___stack_chk_fail_000adca4;
  (*(code *)PTR___stack_chk_fail_000adca4)();
  puStack_d0 = puVar11 + 0x35188;
  puStack_80 = puVar1;
  piVar10 = *(int **)(puVar11 + 0x2dbcc);
  puStack_84 = puVar2;
  iStack_8c = *piVar10;
  puVar8 = *(undefined4 **)(puVar11 + 0x2dbe8);
  iVar3 = *(int *)(puVar11 + 0x2d1b0);
  puStack_88 = auStack_50;
  uStack_7c = param_1;
  uStack_68 = uVar6;
  puStack_64 = puVar7;
  premsg(auStack_c0);
  (**(code **)(puStack_d0 + -0x7614))(*(int *)(puStack_d0 + -0x7fc0) + -0x605c,1,0xd,*puVar8);
  puVar7 = &uStack_68;
  puStack_c4 = puVar7;
  (**(code **)(puStack_d0 + -0x7584))(*puVar8,1);
  uVar6 = *puVar8;
  (**(code **)(puStack_d0 + -0x7704))(10);
  postmsg(auStack_c0);
  if (*(int *)(iVar3 + -0x1b18) != 0) {
    (**(code **)(puStack_d0 + -0x7fa8))();
    *(undefined4 *)(iVar3 + -0x1b18) = 0;
  }
  uVar4 = 1;
  cleanup_exit(1);
  if (iStack_8c == *piVar10) {
    return *piVar10;
  }
  pcVar12 = *(code **)(puStack_d0 + -0x75ec);
  pcVar13 = cmdline_error;
  (*pcVar12)();
  uStack_f4 = **(undefined4 **)(pcVar12 + 0x2da9c);
  puVar9 = *(undefined4 **)(pcVar12 + 0x2dab8);
  puStack_f0 = auStack_c0;
  puStack_ec = puVar8;
  piStack_e8 = piVar10;
  pcStack_e4 = pcVar13;
  uStack_dc = uVar6;
  uStack_d8 = uVar5;
  puStack_d4 = puVar7;
  premsg(auStack_128);
  (**(code **)(pcVar12 + 0x2da44))(*(int *)(pcVar12 + 0x2d098) + -0x6044,1,7,*puVar9);
  (**(code **)(pcVar12 + 0x2dad4))(*puVar9,1,uVar4,&uStack_dc);
  (**(code **)(pcVar12 + 0x2d954))(10,*puVar9);
  postmsg(auStack_128);
  pcVar12 = *(code **)(pcVar12 + 0x2da10);
  uVar6 = 1;
  (*pcVar12)(1);
  iVar3 = (**(code **)(pcVar12 + 0x2da0c))();
  if (iVar3 == 0) {
    uVar6 = (**(code **)(pcVar12 + 0x2d95c))(*(int *)(pcVar12 + 0x2cfc0) + -0xa68);
                    /* WARNING: Could not recover jumptable at 0x000803b0. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    iVar3 = (**(code **)(pcVar12 + 0x2cfd4))(uVar6);
    return iVar3;
  }
  iVar3 = (**(code **)(pcVar12 + 0x2da0c))(uVar6,*(int *)(pcVar12 + 0x2cfc0) + -0x430c);
  if (iVar3 != 0) {
    return 0;
  }
                    /* WARNING: Could not recover jumptable at 0x00080384. Too many branches */
                    /* WARNING: Treating indirect jump as call */
  iVar3 = (**(code **)(pcVar12 + 0x2cfd4))(*(int *)(pcVar12 + 0x2cfc8) + -0x6030);
  return iVar3;
}


lui gp,0x3
addiu gp,gp,0x5284
addu gp,gp,t9
addiu sp,sp,-0x70
lw t9,-0x7fb0(gp)
sw s2,0x64(sp)
sw a1,0x74(sp)
sw a2,0x78(sp)
sw a3,0x7c(sp)
lw s2,-0x75bc(gp)
sw s0,0x5c(sp)
addiu s0,sp,0x20
sw ra,0x6c(sp)
sw gp,0x10(sp)
sw s3,0x68(sp)
or s3,a0,zero
sw s1,0x60(sp)
or a0,s0,zero
lw v0,0x0(s2)
lw s1,-0x75a0(gp)
sw v0,0x54(sp)
bal 0x0007a0bc
_nop
li a2,0x7
lw gp,0x10(sp)
li a1,0x1
lw a3,0x0(s1)
lw a0,-0x7fc0(gp)
lw t9,-0x7614(gp)
jalr t9
_addiu a0,a0,-0x604c
addiu v0,sp,0x74
lw gp,0x10(sp)
li a1,0x1
lw a0,0x0(s1)
or a3,v0,zero
or a2,s3,zero
lw t9,-0x7584(gp)
jalr t9
_sw v0,0x1c(sp)
li a0,0xa
lw gp,0x10(sp)
lw t9,-0x7704(gp)
jalr t9
_lw a1,0x0(s1)
lw gp,0x10(sp)
lw t9,-0x7fac(gp)
bal 0x0007a0ec
_or a0,s0,zero
lw v1,0x54(sp)
lw v0,0x0(s2)
bne v1,v0,0x000800fc
_lw gp,0x10(sp)
lw ra,0x6c(sp)
lw s3,0x68(sp)
lw s2,0x64(sp)
lw s1,0x60(sp)
lw s0,0x5c(sp)
jr ra
_addiu sp,sp,0x70
lw t9,-0x75ec(gp)
jalr t9
_nop
(translation_unit "int nonfatal(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  int iVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  undefined4 *puVar7;\n  undefined4 *puVar8;\n  undefined4 *puVar9;\n  int *piVar10;\n  undefined *puVar11;\n  code *pcVar12;\n  code *pcVar13;\n  undefined4 local_res4;\n  undefined4 local_res8;\n  undefined4 local_resc;\n  undefined1 auStack_128 [52];\n  undefined4 uStack_f4;\n  undefined1 *puStack_f0;\n  undefined4 *puStack_ec;\n  int *piStack_e8;\n  code *pcStack_e4;\n  undefined4 uStack_dc;\n  undefined4 uStack_d8;\n  undefined4 *puStack_d4;\n  undefined *puStack_d0;\n  undefined4 *puStack_c4;\n  undefined1 auStack_c0 [52];\n  int iStack_8c;\n  undefined1 *puStack_88;\n  undefined *puStack_84;\n  undefined *puStack_80;\n  undefined4 uStack_7c;\n  undefined4 uStack_68;\n  undefined4 *puStack_64;\n  undefined1 auStack_50 [52];\n  int local_1c;\n  \n  puVar2 = PTR_stderr_000adcf0;\n  puVar1 = PTR___stack_chk_guard_000adcd4;\n  local_1c = *(int *)PTR___stack_chk_guard_000adcd4;\n  local_res4 = param_2;\n  local_res8 = param_3;\n  local_resc = param_4;\n  premsg(auStack_50);\n  (*(code *)PTR_fwrite_000adc7c)(PTR_DAT_000ad2d0 + -0x604c,1,7,*(undefined4 *)puVar2);\n  puVar7 = &local_res4;\n  uVar6 = param_1;\n  (*(code *)PTR___vfprintf_chk_000add0c)(*(undefined4 *)puVar2,1);\n  uVar5 = *(undefined4 *)puVar2;\n  (*(code *)PTR_fputc_000adb8c)(10);\n  postmsg(auStack_50);\n  iVar3 = *(int *)puVar1;\n  if (local_1c == iVar3) {\n    return iVar3;\n  }\n  puVar11 = PTR___stack_chk_fail_000adca4;\n  (*(code *)PTR___stack_chk_fail_000adca4)();\n  puStack_d0 = puVar11 + 0x35188;\n  puStack_80 = puVar1;\n  piVar10 = *(int **)(puVar11 + 0x2dbcc);\n  puStack_84 = puVar2;\n  iStack_8c = *piVar10;\n  puVar8 = *(undefined4 **)(puVar11 + 0x2dbe8);\n  iVar3 = *(int *)(puVar11 + 0x2d1b0);\n  puStack_88 = auStack_50;\n  uStack_7c = param_1;\n  uStack_68 = uVar6;\n  puStack_64 = puVar7;\n  premsg(auStack_c0);\n  (**(code **)(puStack_d0 + -0x7614))(*(int *)(puStack_d0 + -0x7fc0) + -0x605c,1,0xd,*puVar8);\n  puVar7 = &uStack_68;\n  puStack_c4 = puVar7;\n  (**(code **)(puStack_d0 + -0x7584))(*puVar8,1);\n  uVar6 = *puVar8;\n  (**(code **)(puStack_d0 + -0x7704))(10);\n  postmsg(auStack_c0);\n  if (*(int *)(iVar3 + -0x1b18) != 0) {\n    (**(code **)(puStack_d0 + -0x7fa8))();\n    *(undefined4 *)(iVar3 + -0x1b18) = 0;\n  }\n  uVar4 = 1;\n  cleanup_exit(1);\n  if (iStack_8c == *piVar10) {\n    return *piVar10;\n  }\n  pcVar12 = *(code **)(puStack_d0 + -0x75ec);\n  pcVar13 = cmdline_error;\n  (*pcVar12)();\n  uStack_f4 = **(undefined4 **)(pcVar12 + 0x2da9c);\n  puVar9 = *(undefined4 **)(pcVar12 + 0x2dab8);\n  puStack_f0 = auStack_c0;\n  puStack_ec = puVar8;\n  piStack_e8 = piVar10;\n  pcStack_e4 = pcVar13;\n  uStack_dc = uVar6;\n  uStack_d8 = uVar5;\n  puStack_d4 = puVar7;\n  premsg(auStack_128);\n  (**(code **)(pcVar12 + 0x2da44))(*(int *)(pcVar12 + 0x2d098) + -0x6044,1,7,*puVar9);\n  (**(code **)(pcVar12 + 0x2dad4))(*puVar9,1,uVar4,&uStack_dc);\n  (**(code **)(pcVar12 + 0x2d954))(10,*puVar9);\n  postmsg(auStack_128);\n  pcVar12 = *(code **)(pcVar12 + 0x2da10);\n  uVar6 = 1;\n  (*pcVar12)(1);\n  iVar3 = (**(code **)(pcVar12 + 0x2da0c))();\n  if (iVar3 == 0) {\n    uVar6 = (**(code **)(pcVar12 + 0x2d95c))(*(int *)(pcVar12 + 0x2cfc0) + -0xa68);\n                    /* WARNING: Could not recover jumptable at 0x000803b0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    iVar3 = (**(code **)(pcVar12 + 0x2cfd4))(uVar6);\n    return iVar3;\n  }\n  iVar3 = (**(code **)(pcVar12 + 0x2da0c))(uVar6,*(int *)(pcVar12 + 0x2cfc0) + -0x430c);\n  if (iVar3 != 0) {\n    return 0;\n  }\n                    /* WARNING: Could not recover jumptable at 0x00080384. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  iVar3 = (**(code **)(pcVar12 + 0x2cfd4))(*(int *)(pcVar12 + 0x2cfc8) + -0x6030);\n  return iVar3;\n}\n\n" (function_definition "int nonfatal(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  int iVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  undefined4 *puVar7;\n  undefined4 *puVar8;\n  undefined4 *puVar9;\n  int *piVar10;\n  undefined *puVar11;\n  code *pcVar12;\n  code *pcVar13;\n  undefined4 local_res4;\n  undefined4 local_res8;\n  undefined4 local_resc;\n  undefined1 auStack_128 [52];\n  undefined4 uStack_f4;\n  undefined1 *puStack_f0;\n  undefined4 *puStack_ec;\n  int *piStack_e8;\n  code *pcStack_e4;\n  undefined4 uStack_dc;\n  undefined4 uStack_d8;\n  undefined4 *puStack_d4;\n  undefined *puStack_d0;\n  undefined4 *puStack_c4;\n  undefined1 auStack_c0 [52];\n  int iStack_8c;\n  undefined1 *puStack_88;\n  undefined *puStack_84;\n  undefined *puStack_80;\n  undefined4 uStack_7c;\n  undefined4 uStack_68;\n  undefined4 *puStack_64;\n  undefined1 auStack_50 [52];\n  int local_1c;\n  \n  puVar2 = PTR_stderr_000adcf0;\n  puVar1 = PTR___stack_chk_guard_000adcd4;\n  local_1c = *(int *)PTR___stack_chk_guard_000adcd4;\n  local_res4 = param_2;\n  local_res8 = param_3;\n  local_resc = param_4;\n  premsg(auStack_50);\n  (*(code *)PTR_fwrite_000adc7c)(PTR_DAT_000ad2d0 + -0x604c,1,7,*(undefined4 *)puVar2);\n  puVar7 = &local_res4;\n  uVar6 = param_1;\n  (*(code *)PTR___vfprintf_chk_000add0c)(*(undefined4 *)puVar2,1);\n  uVar5 = *(undefined4 *)puVar2;\n  (*(code *)PTR_fputc_000adb8c)(10);\n  postmsg(auStack_50);\n  iVar3 = *(int *)puVar1;\n  if (local_1c == iVar3) {\n    return iVar3;\n  }\n  puVar11 = PTR___stack_chk_fail_000adca4;\n  (*(code *)PTR___stack_chk_fail_000adca4)();\n  puStack_d0 = puVar11 + 0x35188;\n  puStack_80 = puVar1;\n  piVar10 = *(int **)(puVar11 + 0x2dbcc);\n  puStack_84 = puVar2;\n  iStack_8c = *piVar10;\n  puVar8 = *(undefined4 **)(puVar11 + 0x2dbe8);\n  iVar3 = *(int *)(puVar11 + 0x2d1b0);\n  puStack_88 = auStack_50;\n  uStack_7c = param_1;\n  uStack_68 = uVar6;\n  puStack_64 = puVar7;\n  premsg(auStack_c0);\n  (**(code **)(puStack_d0 + -0x7614))(*(int *)(puStack_d0 + -0x7fc0) + -0x605c,1,0xd,*puVar8);\n  puVar7 = &uStack_68;\n  puStack_c4 = puVar7;\n  (**(code **)(puStack_d0 + -0x7584))(*puVar8,1);\n  uVar6 = *puVar8;\n  (**(code **)(puStack_d0 + -0x7704))(10);\n  postmsg(auStack_c0);\n  if (*(int *)(iVar3 + -0x1b18) != 0) {\n    (**(code **)(puStack_d0 + -0x7fa8))();\n    *(undefined4 *)(iVar3 + -0x1b18) = 0;\n  }\n  uVar4 = 1;\n  cleanup_exit(1);\n  if (iStack_8c == *piVar10) {\n    return *piVar10;\n  }\n  pcVar12 = *(code **)(puStack_d0 + -0x75ec);\n  pcVar13 = cmdline_error;\n  (*pcVar12)();\n  uStack_f4 = **(undefined4 **)(pcVar12 + 0x2da9c);\n  puVar9 = *(undefined4 **)(pcVar12 + 0x2dab8);\n  puStack_f0 = auStack_c0;\n  puStack_ec = puVar8;\n  piStack_e8 = piVar10;\n  pcStack_e4 = pcVar13;\n  uStack_dc = uVar6;\n  uStack_d8 = uVar5;\n  puStack_d4 = puVar7;\n  premsg(auStack_128);\n  (**(code **)(pcVar12 + 0x2da44))(*(int *)(pcVar12 + 0x2d098) + -0x6044,1,7,*puVar9);\n  (**(code **)(pcVar12 + 0x2dad4))(*puVar9,1,uVar4,&uStack_dc);\n  (**(code **)(pcVar12 + 0x2d954))(10,*puVar9);\n  postmsg(auStack_128);\n  pcVar12 = *(code **)(pcVar12 + 0x2da10);\n  uVar6 = 1;\n  (*pcVar12)(1);\n  iVar3 = (**(code **)(pcVar12 + 0x2da0c))();\n  if (iVar3 == 0) {\n    uVar6 = (**(code **)(pcVar12 + 0x2d95c))(*(int *)(pcVar12 + 0x2cfc0) + -0xa68);\n                    /* WARNING: Could not recover jumptable at 0x000803b0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    iVar3 = (**(code **)(pcVar12 + 0x2cfd4))(uVar6);\n    return iVar3;\n  }\n  iVar3 = (**(code **)(pcVar12 + 0x2da0c))(uVar6,*(int *)(pcVar12 + 0x2cfc0) + -0x430c);\n  if (iVar3 != 0) {\n    return 0;\n  }\n                    /* WARNING: Could not recover jumptable at 0x00080384. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  iVar3 = (**(code **)(pcVar12 + 0x2cfd4))(*(int *)(pcVar12 + 0x2cfc8) + -0x6030);\n  return iVar3;\n}" primitive_type (function_declarator "nonfatal(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  int iVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  undefined4 *puVar7;\n  undefined4 *puVar8;\n  undefined4 *puVar9;\n  int *piVar10;\n  undefined *puVar11;\n  code *pcVar12;\n  code *pcVar13;\n  undefined4 local_res4;\n  undefined4 local_res8;\n  undefined4 local_resc;\n  undefined1 auStack_128 [52];\n  undefined4 uStack_f4;\n  undefined1 *puStack_f0;\n  undefined4 *puStack_ec;\n  int *piStack_e8;\n  code *pcStack_e4;\n  undefined4 uStack_dc;\n  undefined4 uStack_d8;\n  undefined4 *puStack_d4;\n  undefined *puStack_d0;\n  undefined4 *puStack_c4;\n  undefined1 auStack_c0 [52];\n  int iStack_8c;\n  undefined1 *puStack_88;\n  undefined *puStack_84;\n  undefined *puStack_80;\n  undefined4 uStack_7c;\n  undefined4 uStack_68;\n  undefined4 *puStack_64;\n  undefined1 auStack_50 [52];\n  int local_1c;\n  \n  puVar2 = PTR_stderr_000adcf0;\n  puVar1 = PTR___stack_chk_guard_000adcd4;\n  local_1c = *(int *)PTR___stack_chk_guard_000adcd4;\n  local_res4 = param_2;\n  local_res8 = param_3;\n  local_resc = param_4;\n  premsg(auStack_50);\n  (*(code *)PTR_fwrite_000adc7c)(PTR_DAT_000ad2d0 + -0x604c,1,7,*(undefined4 *)puVar2);\n  puVar7 = &local_res4;\n  uVar6 = param_1;\n  (*(code *)PTR___vfprintf_chk_000add0c)(*(undefined4 *)puVar2,1);\n  uVar5 = *(undefined4 *)puVar2;\n  (*(code *)PTR_fputc_000adb8c)(10);\n  postmsg(auStack_50);\n  iVar3 = *(int *)puVar1;\n  if (local_1c == iVar3) {\n    return iVar3;\n  }\n  puVar11 = PTR___stack_chk_fail_000adca4;\n  (*(code *)PTR___stack_chk_fail_000adca4)();\n  puStack_d0 = puVar11 + 0x35188;\n  puStack_80 = puVar1;\n  piVar10 = *(int **)(puVar11 + 0x2dbcc);\n  puStack_84 = puVar2;\n  iStack_8c = *piVar10;\n  puVar8 = *(undefined4 **)(puVar11 + 0x2dbe8);\n  iVar3 = *(int *)(puVar11 + 0x2d1b0);\n  puStack_88 = auStack_50;\n  uStack_7c = param_1;\n  uStack_68 = uVar6;\n  puStack_64 = puVar7;\n  premsg(auStack_c0);\n  (**(code **)(puStack_d0 + -0x7614))(*(int *)(puStack_d0 + -0x7fc0) + -0x605c,1,0xd,*puVar8);\n  puVar7 = &uStack_68;\n  puStack_c4 = puVar7;\n  (**(code **)(puStack_d0 + -0x7584))(*puVar8,1);\n  uVar6 = *puVar8;\n  (**(code **)(puStack_d0 + -0x7704))(10);\n  postmsg(auStack_c0);\n  if (*(int *)(iVar3 + -0x1b18) != 0) {\n    (**(code **)(puStack_d0 + -0x7fa8))();\n    *(undefined4 *)(iVar3 + -0x1b18) = 0;\n  }\n  uVar4 = 1;\n  cleanup_exit(1);\n  if (iStack_8c == *piVar10) {\n    return *piVar10;\n  }\n  pcVar12 = *(code **)(puStack_d0 + -0x75ec);\n  pcVar13 = cmdline_error;\n  (*pcVar12)();\n  uStack_f4 = **(undefined4 **)(pcVar12 + 0x2da9c);\n  puVar9 = *(undefined4 **)(pcVar12 + 0x2dab8);\n  puStack_f0 = auStack_c0;\n  puStack_ec = puVar8;\n  piStack_e8 = piVar10;\n  pcStack_e4 = pcVar13;\n  uStack_dc = uVar6;\n  uStack_d8 = uVar5;\n  puStack_d4 = puVar7;\n  premsg(auStack_128);\n  (**(code **)(pcVar12 + 0x2da44))(*(int *)(pcVar12 + 0x2d098) + -0x6044,1,7,*puVar9);\n  (**(code **)(pcVar12 + 0x2dad4))(*puVar9,1,uVar4,&uStack_dc);\n  (**(code **)(pcVar12 + 0x2d954))(10,*puVar9);\n  postmsg(auStack_128);\n  pcVar12 = *(code **)(pcVar12 + 0x2da10);\n  uVar6 = 1;\n  (*pcVar12)(1);\n  iVar3 = (**(code **)(pcVar12 + 0x2da0c))();\n  if (iVar3 == 0) {\n    uVar6 = (**(code **)(pcVar12 + 0x2d95c))(*(int *)(pcVar12 + 0x2cfc0) + -0xa68);\n                    /* WARNING: Could not recover jumptable at 0x000803b0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    iVar3 = (**(code **)(pcVar12 + 0x2cfd4))(uVar6);\n    return iVar3;\n  }\n  iVar3 = (**(code **)(pcVar12 + 0x2da0c))(uVar6,*(int *)(pcVar12 + 0x2cfc0) + -0x430c);\n  if (iVar3 != 0) {\n    return 0;\n  }\n                    /* WARNING: Could not recover jumptable at 0x00080384. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  iVar3 = (**(code **)(pcVar12 + 0x2cfd4))(*(int *)(pcVar12 + 0x2cfc8) + -0x6030);\n  return iVar3;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "undefined4 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined4 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined4 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "code *pcVar12;" type_identifier (pointer_declarator "*pcVar12" * identifier) ;) (declaration "code *pcVar13;" type_identifier (pointer_declarator "*pcVar13" * identifier) ;) (declaration "undefined4 local_res4;" type_identifier identifier ;) (declaration "undefined4 local_res8;" type_identifier identifier ;) (declaration "undefined4 local_resc;" type_identifier identifier ;) (declaration "undefined1 auStack_128 [52];" type_identifier (array_declarator "auStack_128 [52]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_f4;" type_identifier identifier ;) (declaration "undefined1 *puStack_f0;" type_identifier (pointer_declarator "*puStack_f0" * identifier) ;) (declaration "undefined4 *puStack_ec;" type_identifier (pointer_declarator "*puStack_ec" * identifier) ;) (declaration "int *piStack_e8;" primitive_type (pointer_declarator "*piStack_e8" * identifier) ;) (declaration "code *pcStack_e4;" type_identifier (pointer_declarator "*pcStack_e4" * identifier) ;) (declaration "undefined4 uStack_dc;" type_identifier identifier ;) (declaration "undefined4 uStack_d8;" type_identifier identifier ;) (declaration "undefined4 *puStack_d4;" type_identifier (pointer_declarator "*puStack_d4" * identifier) ;) (declaration "undefined *puStack_d0;" type_identifier (pointer_declarator "*puStack_d0" * identifier) ;) (declaration "undefined4 *puStack_c4;" type_identifier (pointer_declarator "*puStack_c4" * identifier) ;) (declaration "undefined1 auStack_c0 [52];" type_identifier (array_declarator "auStack_c0 [52]" identifier [ number_literal ]) ;) (declaration "int iStack_8c;" primitive_type identifier ;) (declaration "undefined1 *puStack_88;" type_identifier (pointer_declarator "*puStack_88" * identifier) ;) (declaration "undefined *puStack_84;" type_identifier (pointer_declarator "*puStack_84" * identifier) ;) (declaration "undefined *puStack_80;" type_identifier (pointer_declarator "*puStack_80" * identifier) ;) (declaration "undefined4 uStack_7c;" type_identifier identifier ;) (declaration "undefined4 uStack_68;" type_identifier identifier ;) (declaration "undefined4 *puStack_64;" type_identifier (pointer_declarator "*puStack_64" * identifier) ;) (declaration "undefined1 auStack_50 [52];" type_identifier (array_declarator "auStack_50 [52]" identifier [ number_literal ]) ;) (declaration "int local_1c;" primitive_type identifier ;) (expression_statement "puVar2 = PTR_stderr_000adcf0;" (assignment_expression "puVar2 = PTR_stderr_000adcf0" identifier = identifier) ;) (expression_statement "puVar1 = PTR___stack_chk_guard_000adcd4;" (assignment_expression "puVar1 = PTR___stack_chk_guard_000adcd4" identifier = identifier) ;) (expression_statement "local_1c = *(int *)PTR___stack_chk_guard_000adcd4;" (assignment_expression "local_1c = *(int *)PTR___stack_chk_guard_000adcd4" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000adcd4" * (cast_expression "(int *)PTR___stack_chk_guard_000adcd4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_res4 = param_2;" (assignment_expression "local_res4 = param_2" identifier = identifier) ;) (expression_statement "local_res8 = param_3;" (assignment_expression "local_res8 = param_3" identifier = identifier) ;) (expression_statement "local_resc = param_4;" (assignment_expression "local_resc = param_4" identifier = identifier) ;) (expression_statement "premsg(auStack_50);" (call_expression "premsg(auStack_50)" identifier (argument_list "(auStack_50)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_fwrite_000adc7c)(PTR_DAT_000ad2d0 + -0x604c,1,7,*(undefined4 *)puVar2);" (call_expression "(*(code *)PTR_fwrite_000adc7c)(PTR_DAT_000ad2d0 + -0x604c,1,7,*(undefined4 *)puVar2)" (parenthesized_expression "(*(code *)PTR_fwrite_000adc7c)" ( (pointer_expression "*(code *)PTR_fwrite_000adc7c" * (cast_expression "(code *)PTR_fwrite_000adc7c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_000ad2d0 + -0x604c,1,7,*(undefined4 *)puVar2)" ( (binary_expression "PTR_DAT_000ad2d0 + -0x604c" identifier + number_literal) , number_literal , number_literal , (pointer_expression "*(undefined4 *)puVar2" * (cast_expression "(undefined4 *)puVar2" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (expression_statement "puVar7 = &local_res4;" (assignment_expression "puVar7 = &local_res4" identifier = (pointer_expression "&local_res4" & identifier)) ;) (expression_statement "uVar6 = param_1;" (assignment_expression "uVar6 = param_1" identifier = identifier) ;) (expression_statement "(*(code *)PTR___vfprintf_chk_000add0c)(*(undefined4 *)puVar2,1);" (call_expression "(*(code *)PTR___vfprintf_chk_000add0c)(*(undefined4 *)puVar2,1)" (parenthesized_expression "(*(code *)PTR___vfprintf_chk_000add0c)" ( (pointer_expression "*(code *)PTR___vfprintf_chk_000add0c" * (cast_expression "(code *)PTR___vfprintf_chk_000add0c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)puVar2,1)" ( (pointer_expression "*(undefined4 *)puVar2" * (cast_expression "(undefined4 *)puVar2" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , number_literal ))) ;) (expression_statement "uVar5 = *(undefined4 *)puVar2;" (assignment_expression "uVar5 = *(undefined4 *)puVar2" identifier = (pointer_expression "*(undefined4 *)puVar2" * (cast_expression "(undefined4 *)puVar2" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "(*(code *)PTR_fputc_000adb8c)(10);" (call_expression "(*(code *)PTR_fputc_000adb8c)(10)" (parenthesized_expression "(*(code *)PTR_fputc_000adb8c)" ( (pointer_expression "*(code *)PTR_fputc_000adb8c" * (cast_expression "(code *)PTR_fputc_000adb8c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(10)" ( number_literal ))) ;) (expression_statement "postmsg(auStack_50);" (call_expression "postmsg(auStack_50)" identifier (argument_list "(auStack_50)" ( identifier ))) ;) (expression_statement "iVar3 = *(int *)puVar1;" (assignment_expression "iVar3 = *(int *)puVar1" identifier = (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (local_1c == iVar3) {\n    return iVar3;\n  }" if (parenthesized_expression "(local_1c == iVar3)" ( (binary_expression "local_1c == iVar3" identifier == identifier) )) (compound_statement "{\n    return iVar3;\n  }" { (return_statement "return iVar3;" return identifier ;) })) (expression_statement "puVar11 = PTR___stack_chk_fail_000adca4;" (assignment_expression "puVar11 = PTR___stack_chk_fail_000adca4" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000adca4)();" (call_expression "(*(code *)PTR___stack_chk_fail_000adca4)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000adca4)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000adca4" * (cast_expression "(code *)PTR___stack_chk_fail_000adca4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puStack_d0 = puVar11 + 0x35188;" (assignment_expression "puStack_d0 = puVar11 + 0x35188" identifier = (binary_expression "puVar11 + 0x35188" identifier + number_literal)) ;) (expression_statement "puStack_80 = puVar1;" (assignment_expression "puStack_80 = puVar1" identifier = identifier) ;) (expression_statement "piVar10 = *(int **)(puVar11 + 0x2dbcc);" (assignment_expression "piVar10 = *(int **)(puVar11 + 0x2dbcc)" identifier = (pointer_expression "*(int **)(puVar11 + 0x2dbcc)" * (cast_expression "(int **)(puVar11 + 0x2dbcc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x2dbcc)" ( (binary_expression "puVar11 + 0x2dbcc" identifier + number_literal) ))))) ;) (expression_statement "puStack_84 = puVar2;" (assignment_expression "puStack_84 = puVar2" identifier = identifier) ;) (expression_statement "iStack_8c = *piVar10;" (assignment_expression "iStack_8c = *piVar10" identifier = (pointer_expression "*piVar10" * identifier)) ;) (expression_statement "puVar8 = *(undefined4 **)(puVar11 + 0x2dbe8);" (assignment_expression "puVar8 = *(undefined4 **)(puVar11 + 0x2dbe8)" identifier = (pointer_expression "*(undefined4 **)(puVar11 + 0x2dbe8)" * (cast_expression "(undefined4 **)(puVar11 + 0x2dbe8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x2dbe8)" ( (binary_expression "puVar11 + 0x2dbe8" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = *(int *)(puVar11 + 0x2d1b0);" (assignment_expression "iVar3 = *(int *)(puVar11 + 0x2d1b0)" identifier = (pointer_expression "*(int *)(puVar11 + 0x2d1b0)" * (cast_expression "(int *)(puVar11 + 0x2d1b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x2d1b0)" ( (binary_expression "puVar11 + 0x2d1b0" identifier + number_literal) ))))) ;) (expression_statement "puStack_88 = auStack_50;" (assignment_expression "puStack_88 = auStack_50" identifier = identifier) ;) (expression_statement "uStack_7c = param_1;" (assignment_expression "uStack_7c = param_1" identifier = identifier) ;) (expression_statement "uStack_68 = uVar6;" (assignment_expression "uStack_68 = uVar6" identifier = identifier) ;) (expression_statement "puStack_64 = puVar7;" (assignment_expression "puStack_64 = puVar7" identifier = identifier) ;) (expression_statement "premsg(auStack_c0);" (call_expression "premsg(auStack_c0)" identifier (argument_list "(auStack_c0)" ( identifier ))) ;) (expression_statement "(**(code **)(puStack_d0 + -0x7614))(*(int *)(puStack_d0 + -0x7fc0) + -0x605c,1,0xd,*puVar8);" (call_expression "(**(code **)(puStack_d0 + -0x7614))(*(int *)(puStack_d0 + -0x7fc0) + -0x605c,1,0xd,*puVar8)" (parenthesized_expression "(**(code **)(puStack_d0 + -0x7614))" ( (pointer_expression "**(code **)(puStack_d0 + -0x7614)" * (pointer_expression "*(code **)(puStack_d0 + -0x7614)" * (cast_expression "(code **)(puStack_d0 + -0x7614)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_d0 + -0x7614)" ( (binary_expression "puStack_d0 + -0x7614" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puStack_d0 + -0x7fc0) + -0x605c,1,0xd,*puVar8)" ( (binary_expression "*(int *)(puStack_d0 + -0x7fc0) + -0x605c" (pointer_expression "*(int *)(puStack_d0 + -0x7fc0)" * (cast_expression "(int *)(puStack_d0 + -0x7fc0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_d0 + -0x7fc0)" ( (binary_expression "puStack_d0 + -0x7fc0" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , (pointer_expression "*puVar8" * identifier) ))) ;) (expression_statement "puVar7 = &uStack_68;" (assignment_expression "puVar7 = &uStack_68" identifier = (pointer_expression "&uStack_68" & identifier)) ;) (expression_statement "puStack_c4 = puVar7;" (assignment_expression "puStack_c4 = puVar7" identifier = identifier) ;) (expression_statement "(**(code **)(puStack_d0 + -0x7584))(*puVar8,1);" (call_expression "(**(code **)(puStack_d0 + -0x7584))(*puVar8,1)" (parenthesized_expression "(**(code **)(puStack_d0 + -0x7584))" ( (pointer_expression "**(code **)(puStack_d0 + -0x7584)" * (pointer_expression "*(code **)(puStack_d0 + -0x7584)" * (cast_expression "(code **)(puStack_d0 + -0x7584)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_d0 + -0x7584)" ( (binary_expression "puStack_d0 + -0x7584" identifier + number_literal) ))))) )) (argument_list "(*puVar8,1)" ( (pointer_expression "*puVar8" * identifier) , number_literal ))) ;) (expression_statement "uVar6 = *puVar8;" (assignment_expression "uVar6 = *puVar8" identifier = (pointer_expression "*puVar8" * identifier)) ;) (expression_statement "(**(code **)(puStack_d0 + -0x7704))(10);" (call_expression "(**(code **)(puStack_d0 + -0x7704))(10)" (parenthesized_expression "(**(code **)(puStack_d0 + -0x7704))" ( (pointer_expression "**(code **)(puStack_d0 + -0x7704)" * (pointer_expression "*(code **)(puStack_d0 + -0x7704)" * (cast_expression "(code **)(puStack_d0 + -0x7704)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_d0 + -0x7704)" ( (binary_expression "puStack_d0 + -0x7704" identifier + number_literal) ))))) )) (argument_list "(10)" ( number_literal ))) ;) (expression_statement "postmsg(auStack_c0);" (call_expression "postmsg(auStack_c0)" identifier (argument_list "(auStack_c0)" ( identifier ))) ;) (if_statement "if (*(int *)(iVar3 + -0x1b18) != 0) {\n    (**(code **)(puStack_d0 + -0x7fa8))();\n    *(undefined4 *)(iVar3 + -0x1b18) = 0;\n  }" if (parenthesized_expression "(*(int *)(iVar3 + -0x1b18) != 0)" ( (binary_expression "*(int *)(iVar3 + -0x1b18) != 0" (pointer_expression "*(int *)(iVar3 + -0x1b18)" * (cast_expression "(int *)(iVar3 + -0x1b18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + -0x1b18)" ( (binary_expression "iVar3 + -0x1b18" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    (**(code **)(puStack_d0 + -0x7fa8))();\n    *(undefined4 *)(iVar3 + -0x1b18) = 0;\n  }" { (expression_statement "(**(code **)(puStack_d0 + -0x7fa8))();" (call_expression "(**(code **)(puStack_d0 + -0x7fa8))()" (parenthesized_expression "(**(code **)(puStack_d0 + -0x7fa8))" ( (pointer_expression "**(code **)(puStack_d0 + -0x7fa8)" * (pointer_expression "*(code **)(puStack_d0 + -0x7fa8)" * (cast_expression "(code **)(puStack_d0 + -0x7fa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_d0 + -0x7fa8)" ( (binary_expression "puStack_d0 + -0x7fa8" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(iVar3 + -0x1b18) = 0;" (assignment_expression "*(undefined4 *)(iVar3 + -0x1b18) = 0" (pointer_expression "*(undefined4 *)(iVar3 + -0x1b18)" * (cast_expression "(undefined4 *)(iVar3 + -0x1b18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + -0x1b18)" ( (binary_expression "iVar3 + -0x1b18" identifier + number_literal) )))) = number_literal) ;) })) (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" identifier = number_literal) ;) (expression_statement "cleanup_exit(1);" (call_expression "cleanup_exit(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (if_statement "if (iStack_8c == *piVar10) {\n    return *piVar10;\n  }" if (parenthesized_expression "(iStack_8c == *piVar10)" ( (binary_expression "iStack_8c == *piVar10" identifier == (pointer_expression "*piVar10" * identifier)) )) (compound_statement "{\n    return *piVar10;\n  }" { (return_statement "return *piVar10;" return (pointer_expression "*piVar10" * identifier) ;) })) (expression_statement "pcVar12 = *(code **)(puStack_d0 + -0x75ec);" (assignment_expression "pcVar12 = *(code **)(puStack_d0 + -0x75ec)" identifier = (pointer_expression "*(code **)(puStack_d0 + -0x75ec)" * (cast_expression "(code **)(puStack_d0 + -0x75ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_d0 + -0x75ec)" ( (binary_expression "puStack_d0 + -0x75ec" identifier + number_literal) ))))) ;) (expression_statement "pcVar13 = cmdline_error;" (assignment_expression "pcVar13 = cmdline_error" identifier = identifier) ;) (expression_statement "(*pcVar12)();" (call_expression "(*pcVar12)()" (parenthesized_expression "(*pcVar12)" ( (pointer_expression "*pcVar12" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "uStack_f4 = **(undefined4 **)(pcVar12 + 0x2da9c);" (assignment_expression "uStack_f4 = **(undefined4 **)(pcVar12 + 0x2da9c)" identifier = (pointer_expression "**(undefined4 **)(pcVar12 + 0x2da9c)" * (pointer_expression "*(undefined4 **)(pcVar12 + 0x2da9c)" * (cast_expression "(undefined4 **)(pcVar12 + 0x2da9c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x2da9c)" ( (binary_expression "pcVar12 + 0x2da9c" identifier + number_literal) )))))) ;) (expression_statement "puVar9 = *(undefined4 **)(pcVar12 + 0x2dab8);" (assignment_expression "puVar9 = *(undefined4 **)(pcVar12 + 0x2dab8)" identifier = (pointer_expression "*(undefined4 **)(pcVar12 + 0x2dab8)" * (cast_expression "(undefined4 **)(pcVar12 + 0x2dab8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x2dab8)" ( (binary_expression "pcVar12 + 0x2dab8" identifier + number_literal) ))))) ;) (expression_statement "puStack_f0 = auStack_c0;" (assignment_expression "puStack_f0 = auStack_c0" identifier = identifier) ;) (expression_statement "puStack_ec = puVar8;" (assignment_expression "puStack_ec = puVar8" identifier = identifier) ;) (expression_statement "piStack_e8 = piVar10;" (assignment_expression "piStack_e8 = piVar10" identifier = identifier) ;) (expression_statement "pcStack_e4 = pcVar13;" (assignment_expression "pcStack_e4 = pcVar13" identifier = identifier) ;) (expression_statement "uStack_dc = uVar6;" (assignment_expression "uStack_dc = uVar6" identifier = identifier) ;) (expression_statement "uStack_d8 = uVar5;" (assignment_expression "uStack_d8 = uVar5" identifier = identifier) ;) (expression_statement "puStack_d4 = puVar7;" (assignment_expression "puStack_d4 = puVar7" identifier = identifier) ;) (expression_statement "premsg(auStack_128);" (call_expression "premsg(auStack_128)" identifier (argument_list "(auStack_128)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar12 + 0x2da44))(*(int *)(pcVar12 + 0x2d098) + -0x6044,1,7,*puVar9);" (call_expression "(**(code **)(pcVar12 + 0x2da44))(*(int *)(pcVar12 + 0x2d098) + -0x6044,1,7,*puVar9)" (parenthesized_expression "(**(code **)(pcVar12 + 0x2da44))" ( (pointer_expression "**(code **)(pcVar12 + 0x2da44)" * (pointer_expression "*(code **)(pcVar12 + 0x2da44)" * (cast_expression "(code **)(pcVar12 + 0x2da44)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x2da44)" ( (binary_expression "pcVar12 + 0x2da44" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar12 + 0x2d098) + -0x6044,1,7,*puVar9)" ( (binary_expression "*(int *)(pcVar12 + 0x2d098) + -0x6044" (pointer_expression "*(int *)(pcVar12 + 0x2d098)" * (cast_expression "(int *)(pcVar12 + 0x2d098)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x2d098)" ( (binary_expression "pcVar12 + 0x2d098" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , (pointer_expression "*puVar9" * identifier) ))) ;) (expression_statement "(**(code **)(pcVar12 + 0x2dad4))(*puVar9,1,uVar4,&uStack_dc);" (call_expression "(**(code **)(pcVar12 + 0x2dad4))(*puVar9,1,uVar4,&uStack_dc)" (parenthesized_expression "(**(code **)(pcVar12 + 0x2dad4))" ( (pointer_expression "**(code **)(pcVar12 + 0x2dad4)" * (pointer_expression "*(code **)(pcVar12 + 0x2dad4)" * (cast_expression "(code **)(pcVar12 + 0x2dad4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x2dad4)" ( (binary_expression "pcVar12 + 0x2dad4" identifier + number_literal) ))))) )) (argument_list "(*puVar9,1,uVar4,&uStack_dc)" ( (pointer_expression "*puVar9" * identifier) , number_literal , identifier , (pointer_expression "&uStack_dc" & identifier) ))) ;) (expression_statement "(**(code **)(pcVar12 + 0x2d954))(10,*puVar9);" (call_expression "(**(code **)(pcVar12 + 0x2d954))(10,*puVar9)" (parenthesized_expression "(**(code **)(pcVar12 + 0x2d954))" ( (pointer_expression "**(code **)(pcVar12 + 0x2d954)" * (pointer_expression "*(code **)(pcVar12 + 0x2d954)" * (cast_expression "(code **)(pcVar12 + 0x2d954)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x2d954)" ( (binary_expression "pcVar12 + 0x2d954" identifier + number_literal) ))))) )) (argument_list "(10,*puVar9)" ( number_literal , (pointer_expression "*puVar9" * identifier) ))) ;) (expression_statement "postmsg(auStack_128);" (call_expression "postmsg(auStack_128)" identifier (argument_list "(auStack_128)" ( identifier ))) ;) (expression_statement "pcVar12 = *(code **)(pcVar12 + 0x2da10);" (assignment_expression "pcVar12 = *(code **)(pcVar12 + 0x2da10)" identifier = (pointer_expression "*(code **)(pcVar12 + 0x2da10)" * (cast_expression "(code **)(pcVar12 + 0x2da10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x2da10)" ( (binary_expression "pcVar12 + 0x2da10" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (expression_statement "(*pcVar12)(1);" (call_expression "(*pcVar12)(1)" (parenthesized_expression "(*pcVar12)" ( (pointer_expression "*pcVar12" * identifier) )) (argument_list "(1)" ( number_literal ))) ;) (expression_statement "iVar3 = (**(code **)(pcVar12 + 0x2da0c))();" (assignment_expression "iVar3 = (**(code **)(pcVar12 + 0x2da0c))()" identifier = (call_expression "(**(code **)(pcVar12 + 0x2da0c))()" (parenthesized_expression "(**(code **)(pcVar12 + 0x2da0c))" ( (pointer_expression "**(code **)(pcVar12 + 0x2da0c)" * (pointer_expression "*(code **)(pcVar12 + 0x2da0c)" * (cast_expression "(code **)(pcVar12 + 0x2da0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x2da0c)" ( (binary_expression "pcVar12 + 0x2da0c" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar3 == 0) {\n    uVar6 = (**(code **)(pcVar12 + 0x2d95c))(*(int *)(pcVar12 + 0x2cfc0) + -0xa68);\n                    /* WARNING: Could not recover jumptable at 0x000803b0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    iVar3 = (**(code **)(pcVar12 + 0x2cfd4))(uVar6);\n    return iVar3;\n  }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar6 = (**(code **)(pcVar12 + 0x2d95c))(*(int *)(pcVar12 + 0x2cfc0) + -0xa68);\n                    /* WARNING: Could not recover jumptable at 0x000803b0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    iVar3 = (**(code **)(pcVar12 + 0x2cfd4))(uVar6);\n    return iVar3;\n  }" { (expression_statement "uVar6 = (**(code **)(pcVar12 + 0x2d95c))(*(int *)(pcVar12 + 0x2cfc0) + -0xa68);" (assignment_expression "uVar6 = (**(code **)(pcVar12 + 0x2d95c))(*(int *)(pcVar12 + 0x2cfc0) + -0xa68)" identifier = (call_expression "(**(code **)(pcVar12 + 0x2d95c))(*(int *)(pcVar12 + 0x2cfc0) + -0xa68)" (parenthesized_expression "(**(code **)(pcVar12 + 0x2d95c))" ( (pointer_expression "**(code **)(pcVar12 + 0x2d95c)" * (pointer_expression "*(code **)(pcVar12 + 0x2d95c)" * (cast_expression "(code **)(pcVar12 + 0x2d95c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x2d95c)" ( (binary_expression "pcVar12 + 0x2d95c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar12 + 0x2cfc0) + -0xa68)" ( (binary_expression "*(int *)(pcVar12 + 0x2cfc0) + -0xa68" (pointer_expression "*(int *)(pcVar12 + 0x2cfc0)" * (cast_expression "(int *)(pcVar12 + 0x2cfc0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x2cfc0)" ( (binary_expression "pcVar12 + 0x2cfc0" identifier + number_literal) )))) + number_literal) )))) ;) comment comment (expression_statement "iVar3 = (**(code **)(pcVar12 + 0x2cfd4))(uVar6);" (assignment_expression "iVar3 = (**(code **)(pcVar12 + 0x2cfd4))(uVar6)" identifier = (call_expression "(**(code **)(pcVar12 + 0x2cfd4))(uVar6)" (parenthesized_expression "(**(code **)(pcVar12 + 0x2cfd4))" ( (pointer_expression "**(code **)(pcVar12 + 0x2cfd4)" * (pointer_expression "*(code **)(pcVar12 + 0x2cfd4)" * (cast_expression "(code **)(pcVar12 + 0x2cfd4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x2cfd4)" ( (binary_expression "pcVar12 + 0x2cfd4" identifier + number_literal) ))))) )) (argument_list "(uVar6)" ( identifier )))) ;) (return_statement "return iVar3;" return identifier ;) })) (expression_statement "iVar3 = (**(code **)(pcVar12 + 0x2da0c))(uVar6,*(int *)(pcVar12 + 0x2cfc0) + -0x430c);" (assignment_expression "iVar3 = (**(code **)(pcVar12 + 0x2da0c))(uVar6,*(int *)(pcVar12 + 0x2cfc0) + -0x430c)" identifier = (call_expression "(**(code **)(pcVar12 + 0x2da0c))(uVar6,*(int *)(pcVar12 + 0x2cfc0) + -0x430c)" (parenthesized_expression "(**(code **)(pcVar12 + 0x2da0c))" ( (pointer_expression "**(code **)(pcVar12 + 0x2da0c)" * (pointer_expression "*(code **)(pcVar12 + 0x2da0c)" * (cast_expression "(code **)(pcVar12 + 0x2da0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x2da0c)" ( (binary_expression "pcVar12 + 0x2da0c" identifier + number_literal) ))))) )) (argument_list "(uVar6,*(int *)(pcVar12 + 0x2cfc0) + -0x430c)" ( identifier , (binary_expression "*(int *)(pcVar12 + 0x2cfc0) + -0x430c" (pointer_expression "*(int *)(pcVar12 + 0x2cfc0)" * (cast_expression "(int *)(pcVar12 + 0x2cfc0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x2cfc0)" ( (binary_expression "pcVar12 + 0x2cfc0" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar3 != 0) {\n    return 0;\n  }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) })) comment comment (expression_statement "iVar3 = (**(code **)(pcVar12 + 0x2cfd4))(*(int *)(pcVar12 + 0x2cfc8) + -0x6030);" (assignment_expression "iVar3 = (**(code **)(pcVar12 + 0x2cfd4))(*(int *)(pcVar12 + 0x2cfc8) + -0x6030)" identifier = (call_expression "(**(code **)(pcVar12 + 0x2cfd4))(*(int *)(pcVar12 + 0x2cfc8) + -0x6030)" (parenthesized_expression "(**(code **)(pcVar12 + 0x2cfd4))" ( (pointer_expression "**(code **)(pcVar12 + 0x2cfd4)" * (pointer_expression "*(code **)(pcVar12 + 0x2cfd4)" * (cast_expression "(code **)(pcVar12 + 0x2cfd4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x2cfd4)" ( (binary_expression "pcVar12 + 0x2cfd4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar12 + 0x2cfc8) + -0x6030)" ( (binary_expression "*(int *)(pcVar12 + 0x2cfc8) + -0x6030" (pointer_expression "*(int *)(pcVar12 + 0x2cfc8)" * (cast_expression "(int *)(pcVar12 + 0x2cfc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x2cfc8)" ( (binary_expression "pcVar12 + 0x2cfc8" identifier + number_literal) )))) + number_literal) )))) ;) (return_statement "return iVar3;" return identifier ;) })))
(translation_unit "void nonfatal(char *p,...)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  int iVar3;\n  undefined4 uVar4;\n  undefined4 in_a1;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  undefined4 in_a2;\n  char *pcVar7;\n  undefined4 in_a3;\n  char **ppcVar8;\n  undefined4 *puVar9;\n  undefined4 *puVar10;\n  int *piVar11;\n  undefined *puVar12;\n  code *pcVar13;\n  code *pcVar14;\n  undefined4 local_res4;\n  undefined4 local_res8;\n  undefined4 local_resc;\n  termios tStack_128;\n  undefined4 uStack_f4;\n  termios *ptStack_f0;\n  undefined4 *puStack_ec;\n  int *piStack_e8;\n  code *pcStack_e4;\n  undefined4 uStack_dc;\n  undefined4 uStack_d8;\n  char **ppcStack_d4;\n  undefined *puStack_d0;\n  char **ppcStack_c4;\n  termios tStack_c0;\n  int iStack_8c;\n  termios *ptStack_88;\n  undefined *puStack_84;\n  undefined *puStack_80;\n  char *pcStack_7c;\n  char *pcStack_68;\n  undefined4 *puStack_64;\n  va_list ap;\n  termios cf;\n  \n  puVar2 = PTR_stderr_000adcf0;\n  puVar1 = PTR___stack_chk_guard_000adcd4;\n  iVar3 = *(int *)PTR___stack_chk_guard_000adcd4;\n  local_res4 = in_a1;\n  local_res8 = in_a2;\n  local_resc = in_a3;\n  premsg(&cf);\n  (*(code *)PTR_fwrite_000adc7c)(PTR_DAT_000ad2d0 + -0x604c,1,7,*(undefined4 *)puVar2);\n  puVar10 = &local_res4;\n  pcVar7 = p;\n  (*(code *)PTR___vfprintf_chk_000add0c)(*(undefined4 *)puVar2,1);\n  uVar5 = *(undefined4 *)puVar2;\n  (*(code *)PTR_fputc_000adb8c)(10);\n  postmsg(&cf);\n  if (iVar3 == *(int *)puVar1) {\n    return;\n  }\n  puVar12 = PTR___stack_chk_fail_000adca4;\n  (*(code *)PTR___stack_chk_fail_000adca4)();\n  puStack_d0 = puVar12 + 0x35188;\n  puStack_80 = puVar1;\n  piVar11 = *(int **)(puVar12 + 0x2dbcc);\n  puStack_84 = puVar2;\n  iStack_8c = *piVar11;\n  puVar9 = *(undefined4 **)(puVar12 + 0x2dbe8);\n  iVar3 = *(int *)(puVar12 + 0x2d1b0);\n  ptStack_88 = &cf;\n  pcStack_7c = p;\n  pcStack_68 = pcVar7;\n  puStack_64 = puVar10;\n  premsg(&tStack_c0);\n  (**(code **)(puStack_d0 + -0x7614))(*(int *)(puStack_d0 + -0x7fc0) + -0x605c,1,0xd,*puVar9);\n  ppcVar8 = &pcStack_68;\n  ppcStack_c4 = ppcVar8;\n  (**(code **)(puStack_d0 + -0x7584))(*puVar9,1);\n  uVar6 = *puVar9;\n  (**(code **)(puStack_d0 + -0x7704))(10);\n  postmsg(&tStack_c0);\n  if (*(int *)(iVar3 + -0x1b18) != 0) {\n    (**(code **)(puStack_d0 + -0x7fa8))();\n    *(undefined4 *)(iVar3 + -0x1b18) = 0;\n  }\n  uVar4 = 1;\n  cleanup_exit(1);\n  if (iStack_8c == *piVar11) {\n    return;\n  }\n  pcVar13 = *(code **)(puStack_d0 + -0x75ec);\n  pcVar14 = cmdline_error;\n  (*pcVar13)();\n  uStack_f4 = **(undefined4 **)(pcVar13 + 0x2da9c);\n  puVar10 = *(undefined4 **)(pcVar13 + 0x2dab8);\n  ptStack_f0 = &tStack_c0;\n  puStack_ec = puVar9;\n  piStack_e8 = piVar11;\n  pcStack_e4 = pcVar14;\n  uStack_dc = uVar6;\n  uStack_d8 = uVar5;\n  ppcStack_d4 = ppcVar8;\n  premsg(&tStack_128);\n  (**(code **)(pcVar13 + 0x2da44))(*(int *)(pcVar13 + 0x2d098) + -0x6044,1,7,*puVar10);\n  (**(code **)(pcVar13 + 0x2dad4))(*puVar10,1,uVar4,&uStack_dc);\n  (**(code **)(pcVar13 + 0x2d954))(10,*puVar10);\n  postmsg(&tStack_128);\n  pcVar13 = *(code **)(pcVar13 + 0x2da10);\n  uVar5 = 1;\n  (*pcVar13)(1);\n  iVar3 = (**(code **)(pcVar13 + 0x2da0c))();\n  if (iVar3 == 0) {\n    uVar5 = (**(code **)(pcVar13 + 0x2d95c))(*(int *)(pcVar13 + 0x2cfc0) + -0xa68);\n                    /* WARNING: Could not recover jumptable at 0x000803b0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(pcVar13 + 0x2cfd4))(uVar5);\n    return;\n  }\n  iVar3 = (**(code **)(pcVar13 + 0x2da0c))(uVar5,*(int *)(pcVar13 + 0x2cfc0) + -0x430c);\n  if (iVar3 != 0) {\n    return;\n  }\n                    /* WARNING: Could not recover jumptable at 0x00080384. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  (**(code **)(pcVar13 + 0x2cfd4))(*(int *)(pcVar13 + 0x2cfc8) + -0x6030);\n  return;\n}\n\n" (function_definition "void nonfatal(char *p,...)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  int iVar3;\n  undefined4 uVar4;\n  undefined4 in_a1;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  undefined4 in_a2;\n  char *pcVar7;\n  undefined4 in_a3;\n  char **ppcVar8;\n  undefined4 *puVar9;\n  undefined4 *puVar10;\n  int *piVar11;\n  undefined *puVar12;\n  code *pcVar13;\n  code *pcVar14;\n  undefined4 local_res4;\n  undefined4 local_res8;\n  undefined4 local_resc;\n  termios tStack_128;\n  undefined4 uStack_f4;\n  termios *ptStack_f0;\n  undefined4 *puStack_ec;\n  int *piStack_e8;\n  code *pcStack_e4;\n  undefined4 uStack_dc;\n  undefined4 uStack_d8;\n  char **ppcStack_d4;\n  undefined *puStack_d0;\n  char **ppcStack_c4;\n  termios tStack_c0;\n  int iStack_8c;\n  termios *ptStack_88;\n  undefined *puStack_84;\n  undefined *puStack_80;\n  char *pcStack_7c;\n  char *pcStack_68;\n  undefined4 *puStack_64;\n  va_list ap;\n  termios cf;\n  \n  puVar2 = PTR_stderr_000adcf0;\n  puVar1 = PTR___stack_chk_guard_000adcd4;\n  iVar3 = *(int *)PTR___stack_chk_guard_000adcd4;\n  local_res4 = in_a1;\n  local_res8 = in_a2;\n  local_resc = in_a3;\n  premsg(&cf);\n  (*(code *)PTR_fwrite_000adc7c)(PTR_DAT_000ad2d0 + -0x604c,1,7,*(undefined4 *)puVar2);\n  puVar10 = &local_res4;\n  pcVar7 = p;\n  (*(code *)PTR___vfprintf_chk_000add0c)(*(undefined4 *)puVar2,1);\n  uVar5 = *(undefined4 *)puVar2;\n  (*(code *)PTR_fputc_000adb8c)(10);\n  postmsg(&cf);\n  if (iVar3 == *(int *)puVar1) {\n    return;\n  }\n  puVar12 = PTR___stack_chk_fail_000adca4;\n  (*(code *)PTR___stack_chk_fail_000adca4)();\n  puStack_d0 = puVar12 + 0x35188;\n  puStack_80 = puVar1;\n  piVar11 = *(int **)(puVar12 + 0x2dbcc);\n  puStack_84 = puVar2;\n  iStack_8c = *piVar11;\n  puVar9 = *(undefined4 **)(puVar12 + 0x2dbe8);\n  iVar3 = *(int *)(puVar12 + 0x2d1b0);\n  ptStack_88 = &cf;\n  pcStack_7c = p;\n  pcStack_68 = pcVar7;\n  puStack_64 = puVar10;\n  premsg(&tStack_c0);\n  (**(code **)(puStack_d0 + -0x7614))(*(int *)(puStack_d0 + -0x7fc0) + -0x605c,1,0xd,*puVar9);\n  ppcVar8 = &pcStack_68;\n  ppcStack_c4 = ppcVar8;\n  (**(code **)(puStack_d0 + -0x7584))(*puVar9,1);\n  uVar6 = *puVar9;\n  (**(code **)(puStack_d0 + -0x7704))(10);\n  postmsg(&tStack_c0);\n  if (*(int *)(iVar3 + -0x1b18) != 0) {\n    (**(code **)(puStack_d0 + -0x7fa8))();\n    *(undefined4 *)(iVar3 + -0x1b18) = 0;\n  }\n  uVar4 = 1;\n  cleanup_exit(1);\n  if (iStack_8c == *piVar11) {\n    return;\n  }\n  pcVar13 = *(code **)(puStack_d0 + -0x75ec);\n  pcVar14 = cmdline_error;\n  (*pcVar13)();\n  uStack_f4 = **(undefined4 **)(pcVar13 + 0x2da9c);\n  puVar10 = *(undefined4 **)(pcVar13 + 0x2dab8);\n  ptStack_f0 = &tStack_c0;\n  puStack_ec = puVar9;\n  piStack_e8 = piVar11;\n  pcStack_e4 = pcVar14;\n  uStack_dc = uVar6;\n  uStack_d8 = uVar5;\n  ppcStack_d4 = ppcVar8;\n  premsg(&tStack_128);\n  (**(code **)(pcVar13 + 0x2da44))(*(int *)(pcVar13 + 0x2d098) + -0x6044,1,7,*puVar10);\n  (**(code **)(pcVar13 + 0x2dad4))(*puVar10,1,uVar4,&uStack_dc);\n  (**(code **)(pcVar13 + 0x2d954))(10,*puVar10);\n  postmsg(&tStack_128);\n  pcVar13 = *(code **)(pcVar13 + 0x2da10);\n  uVar5 = 1;\n  (*pcVar13)(1);\n  iVar3 = (**(code **)(pcVar13 + 0x2da0c))();\n  if (iVar3 == 0) {\n    uVar5 = (**(code **)(pcVar13 + 0x2d95c))(*(int *)(pcVar13 + 0x2cfc0) + -0xa68);\n                    /* WARNING: Could not recover jumptable at 0x000803b0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(pcVar13 + 0x2cfd4))(uVar5);\n    return;\n  }\n  iVar3 = (**(code **)(pcVar13 + 0x2da0c))(uVar5,*(int *)(pcVar13 + 0x2cfc0) + -0x430c);\n  if (iVar3 != 0) {\n    return;\n  }\n                    /* WARNING: Could not recover jumptable at 0x00080384. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  (**(code **)(pcVar13 + 0x2cfd4))(*(int *)(pcVar13 + 0x2cfc8) + -0x6030);\n  return;\n}" primitive_type (function_declarator "nonfatal(char *p,...)" identifier (parameter_list "(char *p,...)" ( (parameter_declaration "char *p" primitive_type (pointer_declarator "*p" * identifier)) , (variadic_parameter "..." ...) ))) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  int iVar3;\n  undefined4 uVar4;\n  undefined4 in_a1;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  undefined4 in_a2;\n  char *pcVar7;\n  undefined4 in_a3;\n  char **ppcVar8;\n  undefined4 *puVar9;\n  undefined4 *puVar10;\n  int *piVar11;\n  undefined *puVar12;\n  code *pcVar13;\n  code *pcVar14;\n  undefined4 local_res4;\n  undefined4 local_res8;\n  undefined4 local_resc;\n  termios tStack_128;\n  undefined4 uStack_f4;\n  termios *ptStack_f0;\n  undefined4 *puStack_ec;\n  int *piStack_e8;\n  code *pcStack_e4;\n  undefined4 uStack_dc;\n  undefined4 uStack_d8;\n  char **ppcStack_d4;\n  undefined *puStack_d0;\n  char **ppcStack_c4;\n  termios tStack_c0;\n  int iStack_8c;\n  termios *ptStack_88;\n  undefined *puStack_84;\n  undefined *puStack_80;\n  char *pcStack_7c;\n  char *pcStack_68;\n  undefined4 *puStack_64;\n  va_list ap;\n  termios cf;\n  \n  puVar2 = PTR_stderr_000adcf0;\n  puVar1 = PTR___stack_chk_guard_000adcd4;\n  iVar3 = *(int *)PTR___stack_chk_guard_000adcd4;\n  local_res4 = in_a1;\n  local_res8 = in_a2;\n  local_resc = in_a3;\n  premsg(&cf);\n  (*(code *)PTR_fwrite_000adc7c)(PTR_DAT_000ad2d0 + -0x604c,1,7,*(undefined4 *)puVar2);\n  puVar10 = &local_res4;\n  pcVar7 = p;\n  (*(code *)PTR___vfprintf_chk_000add0c)(*(undefined4 *)puVar2,1);\n  uVar5 = *(undefined4 *)puVar2;\n  (*(code *)PTR_fputc_000adb8c)(10);\n  postmsg(&cf);\n  if (iVar3 == *(int *)puVar1) {\n    return;\n  }\n  puVar12 = PTR___stack_chk_fail_000adca4;\n  (*(code *)PTR___stack_chk_fail_000adca4)();\n  puStack_d0 = puVar12 + 0x35188;\n  puStack_80 = puVar1;\n  piVar11 = *(int **)(puVar12 + 0x2dbcc);\n  puStack_84 = puVar2;\n  iStack_8c = *piVar11;\n  puVar9 = *(undefined4 **)(puVar12 + 0x2dbe8);\n  iVar3 = *(int *)(puVar12 + 0x2d1b0);\n  ptStack_88 = &cf;\n  pcStack_7c = p;\n  pcStack_68 = pcVar7;\n  puStack_64 = puVar10;\n  premsg(&tStack_c0);\n  (**(code **)(puStack_d0 + -0x7614))(*(int *)(puStack_d0 + -0x7fc0) + -0x605c,1,0xd,*puVar9);\n  ppcVar8 = &pcStack_68;\n  ppcStack_c4 = ppcVar8;\n  (**(code **)(puStack_d0 + -0x7584))(*puVar9,1);\n  uVar6 = *puVar9;\n  (**(code **)(puStack_d0 + -0x7704))(10);\n  postmsg(&tStack_c0);\n  if (*(int *)(iVar3 + -0x1b18) != 0) {\n    (**(code **)(puStack_d0 + -0x7fa8))();\n    *(undefined4 *)(iVar3 + -0x1b18) = 0;\n  }\n  uVar4 = 1;\n  cleanup_exit(1);\n  if (iStack_8c == *piVar11) {\n    return;\n  }\n  pcVar13 = *(code **)(puStack_d0 + -0x75ec);\n  pcVar14 = cmdline_error;\n  (*pcVar13)();\n  uStack_f4 = **(undefined4 **)(pcVar13 + 0x2da9c);\n  puVar10 = *(undefined4 **)(pcVar13 + 0x2dab8);\n  ptStack_f0 = &tStack_c0;\n  puStack_ec = puVar9;\n  piStack_e8 = piVar11;\n  pcStack_e4 = pcVar14;\n  uStack_dc = uVar6;\n  uStack_d8 = uVar5;\n  ppcStack_d4 = ppcVar8;\n  premsg(&tStack_128);\n  (**(code **)(pcVar13 + 0x2da44))(*(int *)(pcVar13 + 0x2d098) + -0x6044,1,7,*puVar10);\n  (**(code **)(pcVar13 + 0x2dad4))(*puVar10,1,uVar4,&uStack_dc);\n  (**(code **)(pcVar13 + 0x2d954))(10,*puVar10);\n  postmsg(&tStack_128);\n  pcVar13 = *(code **)(pcVar13 + 0x2da10);\n  uVar5 = 1;\n  (*pcVar13)(1);\n  iVar3 = (**(code **)(pcVar13 + 0x2da0c))();\n  if (iVar3 == 0) {\n    uVar5 = (**(code **)(pcVar13 + 0x2d95c))(*(int *)(pcVar13 + 0x2cfc0) + -0xa68);\n                    /* WARNING: Could not recover jumptable at 0x000803b0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(pcVar13 + 0x2cfd4))(uVar5);\n    return;\n  }\n  iVar3 = (**(code **)(pcVar13 + 0x2da0c))(uVar5,*(int *)(pcVar13 + 0x2cfc0) + -0x430c);\n  if (iVar3 != 0) {\n    return;\n  }\n                    /* WARNING: Could not recover jumptable at 0x00080384. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  (**(code **)(pcVar13 + 0x2cfd4))(*(int *)(pcVar13 + 0x2cfc8) + -0x6030);\n  return;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "undefined4 in_a1;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "undefined4 in_a2;" type_identifier identifier ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "undefined4 in_a3;" type_identifier identifier ;) (declaration "char **ppcVar8;" primitive_type (pointer_declarator "**ppcVar8" * (pointer_declarator "*ppcVar8" * identifier)) ;) (declaration "undefined4 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "undefined4 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "undefined *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "code *pcVar13;" type_identifier (pointer_declarator "*pcVar13" * identifier) ;) (declaration "code *pcVar14;" type_identifier (pointer_declarator "*pcVar14" * identifier) ;) (declaration "undefined4 local_res4;" type_identifier identifier ;) (declaration "undefined4 local_res8;" type_identifier identifier ;) (declaration "undefined4 local_resc;" type_identifier identifier ;) (declaration "termios tStack_128;" type_identifier identifier ;) (declaration "undefined4 uStack_f4;" type_identifier identifier ;) (declaration "termios *ptStack_f0;" type_identifier (pointer_declarator "*ptStack_f0" * identifier) ;) (declaration "undefined4 *puStack_ec;" type_identifier (pointer_declarator "*puStack_ec" * identifier) ;) (declaration "int *piStack_e8;" primitive_type (pointer_declarator "*piStack_e8" * identifier) ;) (declaration "code *pcStack_e4;" type_identifier (pointer_declarator "*pcStack_e4" * identifier) ;) (declaration "undefined4 uStack_dc;" type_identifier identifier ;) (declaration "undefined4 uStack_d8;" type_identifier identifier ;) (declaration "char **ppcStack_d4;" primitive_type (pointer_declarator "**ppcStack_d4" * (pointer_declarator "*ppcStack_d4" * identifier)) ;) (declaration "undefined *puStack_d0;" type_identifier (pointer_declarator "*puStack_d0" * identifier) ;) (declaration "char **ppcStack_c4;" primitive_type (pointer_declarator "**ppcStack_c4" * (pointer_declarator "*ppcStack_c4" * identifier)) ;) (declaration "termios tStack_c0;" type_identifier identifier ;) (declaration "int iStack_8c;" primitive_type identifier ;) (declaration "termios *ptStack_88;" type_identifier (pointer_declarator "*ptStack_88" * identifier) ;) (declaration "undefined *puStack_84;" type_identifier (pointer_declarator "*puStack_84" * identifier) ;) (declaration "undefined *puStack_80;" type_identifier (pointer_declarator "*puStack_80" * identifier) ;) (declaration "char *pcStack_7c;" primitive_type (pointer_declarator "*pcStack_7c" * identifier) ;) (declaration "char *pcStack_68;" primitive_type (pointer_declarator "*pcStack_68" * identifier) ;) (declaration "undefined4 *puStack_64;" type_identifier (pointer_declarator "*puStack_64" * identifier) ;) (declaration "va_list ap;" type_identifier identifier ;) (declaration "termios cf;" type_identifier identifier ;) (expression_statement "puVar2 = PTR_stderr_000adcf0;" (assignment_expression "puVar2 = PTR_stderr_000adcf0" identifier = identifier) ;) (expression_statement "puVar1 = PTR___stack_chk_guard_000adcd4;" (assignment_expression "puVar1 = PTR___stack_chk_guard_000adcd4" identifier = identifier) ;) (expression_statement "iVar3 = *(int *)PTR___stack_chk_guard_000adcd4;" (assignment_expression "iVar3 = *(int *)PTR___stack_chk_guard_000adcd4" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000adcd4" * (cast_expression "(int *)PTR___stack_chk_guard_000adcd4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_res4 = in_a1;" (assignment_expression "local_res4 = in_a1" identifier = identifier) ;) (expression_statement "local_res8 = in_a2;" (assignment_expression "local_res8 = in_a2" identifier = identifier) ;) (expression_statement "local_resc = in_a3;" (assignment_expression "local_resc = in_a3" identifier = identifier) ;) (expression_statement "premsg(&cf);" (call_expression "premsg(&cf)" identifier (argument_list "(&cf)" ( (pointer_expression "&cf" & identifier) ))) ;) (expression_statement "(*(code *)PTR_fwrite_000adc7c)(PTR_DAT_000ad2d0 + -0x604c,1,7,*(undefined4 *)puVar2);" (call_expression "(*(code *)PTR_fwrite_000adc7c)(PTR_DAT_000ad2d0 + -0x604c,1,7,*(undefined4 *)puVar2)" (parenthesized_expression "(*(code *)PTR_fwrite_000adc7c)" ( (pointer_expression "*(code *)PTR_fwrite_000adc7c" * (cast_expression "(code *)PTR_fwrite_000adc7c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_000ad2d0 + -0x604c,1,7,*(undefined4 *)puVar2)" ( (binary_expression "PTR_DAT_000ad2d0 + -0x604c" identifier + number_literal) , number_literal , number_literal , (pointer_expression "*(undefined4 *)puVar2" * (cast_expression "(undefined4 *)puVar2" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (expression_statement "puVar10 = &local_res4;" (assignment_expression "puVar10 = &local_res4" identifier = (pointer_expression "&local_res4" & identifier)) ;) (expression_statement "pcVar7 = p;" (assignment_expression "pcVar7 = p" identifier = identifier) ;) (expression_statement "(*(code *)PTR___vfprintf_chk_000add0c)(*(undefined4 *)puVar2,1);" (call_expression "(*(code *)PTR___vfprintf_chk_000add0c)(*(undefined4 *)puVar2,1)" (parenthesized_expression "(*(code *)PTR___vfprintf_chk_000add0c)" ( (pointer_expression "*(code *)PTR___vfprintf_chk_000add0c" * (cast_expression "(code *)PTR___vfprintf_chk_000add0c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)puVar2,1)" ( (pointer_expression "*(undefined4 *)puVar2" * (cast_expression "(undefined4 *)puVar2" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , number_literal ))) ;) (expression_statement "uVar5 = *(undefined4 *)puVar2;" (assignment_expression "uVar5 = *(undefined4 *)puVar2" identifier = (pointer_expression "*(undefined4 *)puVar2" * (cast_expression "(undefined4 *)puVar2" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "(*(code *)PTR_fputc_000adb8c)(10);" (call_expression "(*(code *)PTR_fputc_000adb8c)(10)" (parenthesized_expression "(*(code *)PTR_fputc_000adb8c)" ( (pointer_expression "*(code *)PTR_fputc_000adb8c" * (cast_expression "(code *)PTR_fputc_000adb8c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(10)" ( number_literal ))) ;) (expression_statement "postmsg(&cf);" (call_expression "postmsg(&cf)" identifier (argument_list "(&cf)" ( (pointer_expression "&cf" & identifier) ))) ;) (if_statement "if (iVar3 == *(int *)puVar1) {\n    return;\n  }" if (parenthesized_expression "(iVar3 == *(int *)puVar1)" ( (binary_expression "iVar3 == *(int *)puVar1" identifier == (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "puVar12 = PTR___stack_chk_fail_000adca4;" (assignment_expression "puVar12 = PTR___stack_chk_fail_000adca4" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000adca4)();" (call_expression "(*(code *)PTR___stack_chk_fail_000adca4)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000adca4)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000adca4" * (cast_expression "(code *)PTR___stack_chk_fail_000adca4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puStack_d0 = puVar12 + 0x35188;" (assignment_expression "puStack_d0 = puVar12 + 0x35188" identifier = (binary_expression "puVar12 + 0x35188" identifier + number_literal)) ;) (expression_statement "puStack_80 = puVar1;" (assignment_expression "puStack_80 = puVar1" identifier = identifier) ;) (expression_statement "piVar11 = *(int **)(puVar12 + 0x2dbcc);" (assignment_expression "piVar11 = *(int **)(puVar12 + 0x2dbcc)" identifier = (pointer_expression "*(int **)(puVar12 + 0x2dbcc)" * (cast_expression "(int **)(puVar12 + 0x2dbcc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0x2dbcc)" ( (binary_expression "puVar12 + 0x2dbcc" identifier + number_literal) ))))) ;) (expression_statement "puStack_84 = puVar2;" (assignment_expression "puStack_84 = puVar2" identifier = identifier) ;) (expression_statement "iStack_8c = *piVar11;" (assignment_expression "iStack_8c = *piVar11" identifier = (pointer_expression "*piVar11" * identifier)) ;) (expression_statement "puVar9 = *(undefined4 **)(puVar12 + 0x2dbe8);" (assignment_expression "puVar9 = *(undefined4 **)(puVar12 + 0x2dbe8)" identifier = (pointer_expression "*(undefined4 **)(puVar12 + 0x2dbe8)" * (cast_expression "(undefined4 **)(puVar12 + 0x2dbe8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0x2dbe8)" ( (binary_expression "puVar12 + 0x2dbe8" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = *(int *)(puVar12 + 0x2d1b0);" (assignment_expression "iVar3 = *(int *)(puVar12 + 0x2d1b0)" identifier = (pointer_expression "*(int *)(puVar12 + 0x2d1b0)" * (cast_expression "(int *)(puVar12 + 0x2d1b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x2d1b0)" ( (binary_expression "puVar12 + 0x2d1b0" identifier + number_literal) ))))) ;) (expression_statement "ptStack_88 = &cf;" (assignment_expression "ptStack_88 = &cf" identifier = (pointer_expression "&cf" & identifier)) ;) (expression_statement "pcStack_7c = p;" (assignment_expression "pcStack_7c = p" identifier = identifier) ;) (expression_statement "pcStack_68 = pcVar7;" (assignment_expression "pcStack_68 = pcVar7" identifier = identifier) ;) (expression_statement "puStack_64 = puVar10;" (assignment_expression "puStack_64 = puVar10" identifier = identifier) ;) (expression_statement "premsg(&tStack_c0);" (call_expression "premsg(&tStack_c0)" identifier (argument_list "(&tStack_c0)" ( (pointer_expression "&tStack_c0" & identifier) ))) ;) (expression_statement "(**(code **)(puStack_d0 + -0x7614))(*(int *)(puStack_d0 + -0x7fc0) + -0x605c,1,0xd,*puVar9);" (call_expression "(**(code **)(puStack_d0 + -0x7614))(*(int *)(puStack_d0 + -0x7fc0) + -0x605c,1,0xd,*puVar9)" (parenthesized_expression "(**(code **)(puStack_d0 + -0x7614))" ( (pointer_expression "**(code **)(puStack_d0 + -0x7614)" * (pointer_expression "*(code **)(puStack_d0 + -0x7614)" * (cast_expression "(code **)(puStack_d0 + -0x7614)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_d0 + -0x7614)" ( (binary_expression "puStack_d0 + -0x7614" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puStack_d0 + -0x7fc0) + -0x605c,1,0xd,*puVar9)" ( (binary_expression "*(int *)(puStack_d0 + -0x7fc0) + -0x605c" (pointer_expression "*(int *)(puStack_d0 + -0x7fc0)" * (cast_expression "(int *)(puStack_d0 + -0x7fc0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_d0 + -0x7fc0)" ( (binary_expression "puStack_d0 + -0x7fc0" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , (pointer_expression "*puVar9" * identifier) ))) ;) (expression_statement "ppcVar8 = &pcStack_68;" (assignment_expression "ppcVar8 = &pcStack_68" identifier = (pointer_expression "&pcStack_68" & identifier)) ;) (expression_statement "ppcStack_c4 = ppcVar8;" (assignment_expression "ppcStack_c4 = ppcVar8" identifier = identifier) ;) (expression_statement "(**(code **)(puStack_d0 + -0x7584))(*puVar9,1);" (call_expression "(**(code **)(puStack_d0 + -0x7584))(*puVar9,1)" (parenthesized_expression "(**(code **)(puStack_d0 + -0x7584))" ( (pointer_expression "**(code **)(puStack_d0 + -0x7584)" * (pointer_expression "*(code **)(puStack_d0 + -0x7584)" * (cast_expression "(code **)(puStack_d0 + -0x7584)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_d0 + -0x7584)" ( (binary_expression "puStack_d0 + -0x7584" identifier + number_literal) ))))) )) (argument_list "(*puVar9,1)" ( (pointer_expression "*puVar9" * identifier) , number_literal ))) ;) (expression_statement "uVar6 = *puVar9;" (assignment_expression "uVar6 = *puVar9" identifier = (pointer_expression "*puVar9" * identifier)) ;) (expression_statement "(**(code **)(puStack_d0 + -0x7704))(10);" (call_expression "(**(code **)(puStack_d0 + -0x7704))(10)" (parenthesized_expression "(**(code **)(puStack_d0 + -0x7704))" ( (pointer_expression "**(code **)(puStack_d0 + -0x7704)" * (pointer_expression "*(code **)(puStack_d0 + -0x7704)" * (cast_expression "(code **)(puStack_d0 + -0x7704)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_d0 + -0x7704)" ( (binary_expression "puStack_d0 + -0x7704" identifier + number_literal) ))))) )) (argument_list "(10)" ( number_literal ))) ;) (expression_statement "postmsg(&tStack_c0);" (call_expression "postmsg(&tStack_c0)" identifier (argument_list "(&tStack_c0)" ( (pointer_expression "&tStack_c0" & identifier) ))) ;) (if_statement "if (*(int *)(iVar3 + -0x1b18) != 0) {\n    (**(code **)(puStack_d0 + -0x7fa8))();\n    *(undefined4 *)(iVar3 + -0x1b18) = 0;\n  }" if (parenthesized_expression "(*(int *)(iVar3 + -0x1b18) != 0)" ( (binary_expression "*(int *)(iVar3 + -0x1b18) != 0" (pointer_expression "*(int *)(iVar3 + -0x1b18)" * (cast_expression "(int *)(iVar3 + -0x1b18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + -0x1b18)" ( (binary_expression "iVar3 + -0x1b18" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    (**(code **)(puStack_d0 + -0x7fa8))();\n    *(undefined4 *)(iVar3 + -0x1b18) = 0;\n  }" { (expression_statement "(**(code **)(puStack_d0 + -0x7fa8))();" (call_expression "(**(code **)(puStack_d0 + -0x7fa8))()" (parenthesized_expression "(**(code **)(puStack_d0 + -0x7fa8))" ( (pointer_expression "**(code **)(puStack_d0 + -0x7fa8)" * (pointer_expression "*(code **)(puStack_d0 + -0x7fa8)" * (cast_expression "(code **)(puStack_d0 + -0x7fa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_d0 + -0x7fa8)" ( (binary_expression "puStack_d0 + -0x7fa8" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(iVar3 + -0x1b18) = 0;" (assignment_expression "*(undefined4 *)(iVar3 + -0x1b18) = 0" (pointer_expression "*(undefined4 *)(iVar3 + -0x1b18)" * (cast_expression "(undefined4 *)(iVar3 + -0x1b18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + -0x1b18)" ( (binary_expression "iVar3 + -0x1b18" identifier + number_literal) )))) = number_literal) ;) })) (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" identifier = number_literal) ;) (expression_statement "cleanup_exit(1);" (call_expression "cleanup_exit(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (if_statement "if (iStack_8c == *piVar11) {\n    return;\n  }" if (parenthesized_expression "(iStack_8c == *piVar11)" ( (binary_expression "iStack_8c == *piVar11" identifier == (pointer_expression "*piVar11" * identifier)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pcVar13 = *(code **)(puStack_d0 + -0x75ec);" (assignment_expression "pcVar13 = *(code **)(puStack_d0 + -0x75ec)" identifier = (pointer_expression "*(code **)(puStack_d0 + -0x75ec)" * (cast_expression "(code **)(puStack_d0 + -0x75ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_d0 + -0x75ec)" ( (binary_expression "puStack_d0 + -0x75ec" identifier + number_literal) ))))) ;) (expression_statement "pcVar14 = cmdline_error;" (assignment_expression "pcVar14 = cmdline_error" identifier = identifier) ;) (expression_statement "(*pcVar13)();" (call_expression "(*pcVar13)()" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "uStack_f4 = **(undefined4 **)(pcVar13 + 0x2da9c);" (assignment_expression "uStack_f4 = **(undefined4 **)(pcVar13 + 0x2da9c)" identifier = (pointer_expression "**(undefined4 **)(pcVar13 + 0x2da9c)" * (pointer_expression "*(undefined4 **)(pcVar13 + 0x2da9c)" * (cast_expression "(undefined4 **)(pcVar13 + 0x2da9c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x2da9c)" ( (binary_expression "pcVar13 + 0x2da9c" identifier + number_literal) )))))) ;) (expression_statement "puVar10 = *(undefined4 **)(pcVar13 + 0x2dab8);" (assignment_expression "puVar10 = *(undefined4 **)(pcVar13 + 0x2dab8)" identifier = (pointer_expression "*(undefined4 **)(pcVar13 + 0x2dab8)" * (cast_expression "(undefined4 **)(pcVar13 + 0x2dab8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x2dab8)" ( (binary_expression "pcVar13 + 0x2dab8" identifier + number_literal) ))))) ;) (expression_statement "ptStack_f0 = &tStack_c0;" (assignment_expression "ptStack_f0 = &tStack_c0" identifier = (pointer_expression "&tStack_c0" & identifier)) ;) (expression_statement "puStack_ec = puVar9;" (assignment_expression "puStack_ec = puVar9" identifier = identifier) ;) (expression_statement "piStack_e8 = piVar11;" (assignment_expression "piStack_e8 = piVar11" identifier = identifier) ;) (expression_statement "pcStack_e4 = pcVar14;" (assignment_expression "pcStack_e4 = pcVar14" identifier = identifier) ;) (expression_statement "uStack_dc = uVar6;" (assignment_expression "uStack_dc = uVar6" identifier = identifier) ;) (expression_statement "uStack_d8 = uVar5;" (assignment_expression "uStack_d8 = uVar5" identifier = identifier) ;) (expression_statement "ppcStack_d4 = ppcVar8;" (assignment_expression "ppcStack_d4 = ppcVar8" identifier = identifier) ;) (expression_statement "premsg(&tStack_128);" (call_expression "premsg(&tStack_128)" identifier (argument_list "(&tStack_128)" ( (pointer_expression "&tStack_128" & identifier) ))) ;) (expression_statement "(**(code **)(pcVar13 + 0x2da44))(*(int *)(pcVar13 + 0x2d098) + -0x6044,1,7,*puVar10);" (call_expression "(**(code **)(pcVar13 + 0x2da44))(*(int *)(pcVar13 + 0x2d098) + -0x6044,1,7,*puVar10)" (parenthesized_expression "(**(code **)(pcVar13 + 0x2da44))" ( (pointer_expression "**(code **)(pcVar13 + 0x2da44)" * (pointer_expression "*(code **)(pcVar13 + 0x2da44)" * (cast_expression "(code **)(pcVar13 + 0x2da44)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x2da44)" ( (binary_expression "pcVar13 + 0x2da44" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar13 + 0x2d098) + -0x6044,1,7,*puVar10)" ( (binary_expression "*(int *)(pcVar13 + 0x2d098) + -0x6044" (pointer_expression "*(int *)(pcVar13 + 0x2d098)" * (cast_expression "(int *)(pcVar13 + 0x2d098)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x2d098)" ( (binary_expression "pcVar13 + 0x2d098" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , (pointer_expression "*puVar10" * identifier) ))) ;) (expression_statement "(**(code **)(pcVar13 + 0x2dad4))(*puVar10,1,uVar4,&uStack_dc);" (call_expression "(**(code **)(pcVar13 + 0x2dad4))(*puVar10,1,uVar4,&uStack_dc)" (parenthesized_expression "(**(code **)(pcVar13 + 0x2dad4))" ( (pointer_expression "**(code **)(pcVar13 + 0x2dad4)" * (pointer_expression "*(code **)(pcVar13 + 0x2dad4)" * (cast_expression "(code **)(pcVar13 + 0x2dad4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x2dad4)" ( (binary_expression "pcVar13 + 0x2dad4" identifier + number_literal) ))))) )) (argument_list "(*puVar10,1,uVar4,&uStack_dc)" ( (pointer_expression "*puVar10" * identifier) , number_literal , identifier , (pointer_expression "&uStack_dc" & identifier) ))) ;) (expression_statement "(**(code **)(pcVar13 + 0x2d954))(10,*puVar10);" (call_expression "(**(code **)(pcVar13 + 0x2d954))(10,*puVar10)" (parenthesized_expression "(**(code **)(pcVar13 + 0x2d954))" ( (pointer_expression "**(code **)(pcVar13 + 0x2d954)" * (pointer_expression "*(code **)(pcVar13 + 0x2d954)" * (cast_expression "(code **)(pcVar13 + 0x2d954)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x2d954)" ( (binary_expression "pcVar13 + 0x2d954" identifier + number_literal) ))))) )) (argument_list "(10,*puVar10)" ( number_literal , (pointer_expression "*puVar10" * identifier) ))) ;) (expression_statement "postmsg(&tStack_128);" (call_expression "postmsg(&tStack_128)" identifier (argument_list "(&tStack_128)" ( (pointer_expression "&tStack_128" & identifier) ))) ;) (expression_statement "pcVar13 = *(code **)(pcVar13 + 0x2da10);" (assignment_expression "pcVar13 = *(code **)(pcVar13 + 0x2da10)" identifier = (pointer_expression "*(code **)(pcVar13 + 0x2da10)" * (cast_expression "(code **)(pcVar13 + 0x2da10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x2da10)" ( (binary_expression "pcVar13 + 0x2da10" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = 1;" (assignment_expression "uVar5 = 1" identifier = number_literal) ;) (expression_statement "(*pcVar13)(1);" (call_expression "(*pcVar13)(1)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(1)" ( number_literal ))) ;) (expression_statement "iVar3 = (**(code **)(pcVar13 + 0x2da0c))();" (assignment_expression "iVar3 = (**(code **)(pcVar13 + 0x2da0c))()" identifier = (call_expression "(**(code **)(pcVar13 + 0x2da0c))()" (parenthesized_expression "(**(code **)(pcVar13 + 0x2da0c))" ( (pointer_expression "**(code **)(pcVar13 + 0x2da0c)" * (pointer_expression "*(code **)(pcVar13 + 0x2da0c)" * (cast_expression "(code **)(pcVar13 + 0x2da0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x2da0c)" ( (binary_expression "pcVar13 + 0x2da0c" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar3 == 0) {\n    uVar5 = (**(code **)(pcVar13 + 0x2d95c))(*(int *)(pcVar13 + 0x2cfc0) + -0xa68);\n                    /* WARNING: Could not recover jumptable at 0x000803b0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(pcVar13 + 0x2cfd4))(uVar5);\n    return;\n  }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar5 = (**(code **)(pcVar13 + 0x2d95c))(*(int *)(pcVar13 + 0x2cfc0) + -0xa68);\n                    /* WARNING: Could not recover jumptable at 0x000803b0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (**(code **)(pcVar13 + 0x2cfd4))(uVar5);\n    return;\n  }" { (expression_statement "uVar5 = (**(code **)(pcVar13 + 0x2d95c))(*(int *)(pcVar13 + 0x2cfc0) + -0xa68);" (assignment_expression "uVar5 = (**(code **)(pcVar13 + 0x2d95c))(*(int *)(pcVar13 + 0x2cfc0) + -0xa68)" identifier = (call_expression "(**(code **)(pcVar13 + 0x2d95c))(*(int *)(pcVar13 + 0x2cfc0) + -0xa68)" (parenthesized_expression "(**(code **)(pcVar13 + 0x2d95c))" ( (pointer_expression "**(code **)(pcVar13 + 0x2d95c)" * (pointer_expression "*(code **)(pcVar13 + 0x2d95c)" * (cast_expression "(code **)(pcVar13 + 0x2d95c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x2d95c)" ( (binary_expression "pcVar13 + 0x2d95c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar13 + 0x2cfc0) + -0xa68)" ( (binary_expression "*(int *)(pcVar13 + 0x2cfc0) + -0xa68" (pointer_expression "*(int *)(pcVar13 + 0x2cfc0)" * (cast_expression "(int *)(pcVar13 + 0x2cfc0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x2cfc0)" ( (binary_expression "pcVar13 + 0x2cfc0" identifier + number_literal) )))) + number_literal) )))) ;) comment comment (expression_statement "(**(code **)(pcVar13 + 0x2cfd4))(uVar5);" (call_expression "(**(code **)(pcVar13 + 0x2cfd4))(uVar5)" (parenthesized_expression "(**(code **)(pcVar13 + 0x2cfd4))" ( (pointer_expression "**(code **)(pcVar13 + 0x2cfd4)" * (pointer_expression "*(code **)(pcVar13 + 0x2cfd4)" * (cast_expression "(code **)(pcVar13 + 0x2cfd4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x2cfd4)" ( (binary_expression "pcVar13 + 0x2cfd4" identifier + number_literal) ))))) )) (argument_list "(uVar5)" ( identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "iVar3 = (**(code **)(pcVar13 + 0x2da0c))(uVar5,*(int *)(pcVar13 + 0x2cfc0) + -0x430c);" (assignment_expression "iVar3 = (**(code **)(pcVar13 + 0x2da0c))(uVar5,*(int *)(pcVar13 + 0x2cfc0) + -0x430c)" identifier = (call_expression "(**(code **)(pcVar13 + 0x2da0c))(uVar5,*(int *)(pcVar13 + 0x2cfc0) + -0x430c)" (parenthesized_expression "(**(code **)(pcVar13 + 0x2da0c))" ( (pointer_expression "**(code **)(pcVar13 + 0x2da0c)" * (pointer_expression "*(code **)(pcVar13 + 0x2da0c)" * (cast_expression "(code **)(pcVar13 + 0x2da0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x2da0c)" ( (binary_expression "pcVar13 + 0x2da0c" identifier + number_literal) ))))) )) (argument_list "(uVar5,*(int *)(pcVar13 + 0x2cfc0) + -0x430c)" ( identifier , (binary_expression "*(int *)(pcVar13 + 0x2cfc0) + -0x430c" (pointer_expression "*(int *)(pcVar13 + 0x2cfc0)" * (cast_expression "(int *)(pcVar13 + 0x2cfc0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x2cfc0)" ( (binary_expression "pcVar13 + 0x2cfc0" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar3 != 0) {\n    return;\n  }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) comment comment (expression_statement "(**(code **)(pcVar13 + 0x2cfd4))(*(int *)(pcVar13 + 0x2cfc8) + -0x6030);" (call_expression "(**(code **)(pcVar13 + 0x2cfd4))(*(int *)(pcVar13 + 0x2cfc8) + -0x6030)" (parenthesized_expression "(**(code **)(pcVar13 + 0x2cfd4))" ( (pointer_expression "**(code **)(pcVar13 + 0x2cfd4)" * (pointer_expression "*(code **)(pcVar13 + 0x2cfd4)" * (cast_expression "(code **)(pcVar13 + 0x2cfd4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x2cfd4)" ( (binary_expression "pcVar13 + 0x2cfd4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar13 + 0x2cfc8) + -0x6030)" ( (binary_expression "*(int *)(pcVar13 + 0x2cfc8) + -0x6030" (pointer_expression "*(int *)(pcVar13 + 0x2cfc8)" * (cast_expression "(int *)(pcVar13 + 0x2cfc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x2cfc8)" ( (binary_expression "pcVar13 + 0x2cfc8" identifier + number_literal) )))) + number_literal) ))) ;) (return_statement "return;" return ;) })))
(translation_unit "int nonfatal(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  int iVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  undefined4 *puVar7;\n  undefined4 *puVar8;\n  undefined4 *puVar9;\n  int *piVar10;\n  undefined *puVar11;\n  code *pcVar12;\n  code *pcVar13;\n  undefined4 local_res4;\n  undefined4 local_res8;\n  undefined4 local_resc;\n  undefined1 auStack_128 [52];\n  undefined4 uStack_f4;\n  undefined1 *puStack_f0;\n  undefined4 *puStack_ec;\n  int *piStack_e8;\n  code *pcStack_e4;\n  undefined4 uStack_dc;\n  undefined4 uStack_d8;\n  undefined4 *puStack_d4;\n  undefined *puStack_d0;\n  undefined4 *puStack_c4;\n  undefined1 auStack_c0 [52];\n  int iStack_8c;\n  undefined1 *puStack_88;\n  undefined *puStack_84;\n  undefined *puStack_80;\n  undefined4 uStack_7c;\n  undefined4 uStack_68;\n  undefined4 *puStack_64;\n  undefined1 auStack_50 [52];\n  int local_1c;\n  \n  puVar2 = PTR_stderr_000adcf0;\n  puVar1 = PTR___stack_chk_guard_000adcd4;\n  local_1c = *(int *)PTR___stack_chk_guard_000adcd4;\n  local_res4 = param_2;\n  local_res8 = param_3;\n  local_resc = param_4;\n  premsg(auStack_50);\n  (*(code *)PTR_fwrite_000adc7c)(PTR_DAT_000ad2d0 + -0x604c,1,7,*(undefined4 *)puVar2);\n  puVar7 = &local_res4;\n  uVar6 = param_1;\n  (*(code *)PTR___vfprintf_chk_000add0c)(*(undefined4 *)puVar2,1);\n  uVar5 = *(undefined4 *)puVar2;\n  (*(code *)PTR_fputc_000adb8c)(10);\n  postmsg(auStack_50);\n  iVar3 = *(int *)puVar1;\n  if (local_1c == iVar3) {\n    return iVar3;\n  }\n  puVar11 = PTR___stack_chk_fail_000adca4;\n  (*(code *)PTR___stack_chk_fail_000adca4)();\n  puStack_d0 = puVar11 + 0x35188;\n  puStack_80 = puVar1;\n  piVar10 = *(int **)(puVar11 + 0x2dbcc);\n  puStack_84 = puVar2;\n  iStack_8c = *piVar10;\n  puVar8 = *(undefined4 **)(puVar11 + 0x2dbe8);\n  iVar3 = *(int *)(puVar11 + 0x2d1b0);\n  puStack_88 = auStack_50;\n  uStack_7c = param_1;\n  uStack_68 = uVar6;\n  puStack_64 = puVar7;\n  premsg(auStack_c0);\n  (**(code **)(puStack_d0 + -0x7614))(*(int *)(puStack_d0 + -0x7fc0) + -0x605c,1,0xd,*puVar8);\n  puVar7 = &uStack_68;\n  puStack_c4 = puVar7;\n  (**(code **)(puStack_d0 + -0x7584))(*puVar8,1);\n  uVar6 = *puVar8;\n  (**(code **)(puStack_d0 + -0x7704))(10);\n  postmsg(auStack_c0);\n  if (*(int *)(iVar3 + -0x1b18) != 0) {\n    (**(code **)(puStack_d0 + -0x7fa8))();\n    *(undefined4 *)(iVar3 + -0x1b18) = 0;\n  }\n  uVar4 = 1;\n  cleanup_exit(1);\n  if (iStack_8c == *piVar10) {\n    return *piVar10;\n  }\n  pcVar12 = *(code **)(puStack_d0 + -0x75ec);\n  pcVar13 = cmdline_error;\n  (*pcVar12)();\n  uStack_f4 = **(undefined4 **)(pcVar12 + 0x2da9c);\n  puVar9 = *(undefined4 **)(pcVar12 + 0x2dab8);\n  puStack_f0 = auStack_c0;\n  puStack_ec = puVar8;\n  piStack_e8 = piVar10;\n  pcStack_e4 = pcVar13;\n  uStack_dc = uVar6;\n  uStack_d8 = uVar5;\n  puStack_d4 = puVar7;\n  premsg(auStack_128);\n  (**(code **)(pcVar12 + 0x2da44))(*(int *)(pcVar12 + 0x2d098) + -0x6044,1,7,*puVar9);\n  (**(code **)(pcVar12 + 0x2dad4))(*puVar9,1,uVar4,&uStack_dc);\n  (**(code **)(pcVar12 + 0x2d954))(10,*puVar9);\n  postmsg(auStack_128);\n  pcVar12 = *(code **)(pcVar12 + 0x2da10);\n  uVar6 = 1;\n  (*pcVar12)(1);\n  iVar3 = (**(code **)(pcVar12 + 0x2da0c))();\n  if (iVar3 == 0) {\n    uVar6 = (**(code **)(pcVar12 + 0x2d95c))(*(int *)(pcVar12 + 0x2cfc0) + -0xa68);\n                    \n                    \n    iVar3 = (**(code **)(pcVar12 + 0x2cfd4))(uVar6);\n    return iVar3;\n  }\n  iVar3 = (**(code **)(pcVar12 + 0x2da0c))(uVar6,*(int *)(pcVar12 + 0x2cfc0) + -0x430c);\n  if (iVar3 != 0) {\n    return 0;\n  }\n                    \n                    \n  iVar3 = (**(code **)(pcVar12 + 0x2cfd4))(*(int *)(pcVar12 + 0x2cfc8) + -0x6030);\n  return iVar3;\n}\n\n" (function_definition "int nonfatal(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  int iVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  undefined4 *puVar7;\n  undefined4 *puVar8;\n  undefined4 *puVar9;\n  int *piVar10;\n  undefined *puVar11;\n  code *pcVar12;\n  code *pcVar13;\n  undefined4 local_res4;\n  undefined4 local_res8;\n  undefined4 local_resc;\n  undefined1 auStack_128 [52];\n  undefined4 uStack_f4;\n  undefined1 *puStack_f0;\n  undefined4 *puStack_ec;\n  int *piStack_e8;\n  code *pcStack_e4;\n  undefined4 uStack_dc;\n  undefined4 uStack_d8;\n  undefined4 *puStack_d4;\n  undefined *puStack_d0;\n  undefined4 *puStack_c4;\n  undefined1 auStack_c0 [52];\n  int iStack_8c;\n  undefined1 *puStack_88;\n  undefined *puStack_84;\n  undefined *puStack_80;\n  undefined4 uStack_7c;\n  undefined4 uStack_68;\n  undefined4 *puStack_64;\n  undefined1 auStack_50 [52];\n  int local_1c;\n  \n  puVar2 = PTR_stderr_000adcf0;\n  puVar1 = PTR___stack_chk_guard_000adcd4;\n  local_1c = *(int *)PTR___stack_chk_guard_000adcd4;\n  local_res4 = param_2;\n  local_res8 = param_3;\n  local_resc = param_4;\n  premsg(auStack_50);\n  (*(code *)PTR_fwrite_000adc7c)(PTR_DAT_000ad2d0 + -0x604c,1,7,*(undefined4 *)puVar2);\n  puVar7 = &local_res4;\n  uVar6 = param_1;\n  (*(code *)PTR___vfprintf_chk_000add0c)(*(undefined4 *)puVar2,1);\n  uVar5 = *(undefined4 *)puVar2;\n  (*(code *)PTR_fputc_000adb8c)(10);\n  postmsg(auStack_50);\n  iVar3 = *(int *)puVar1;\n  if (local_1c == iVar3) {\n    return iVar3;\n  }\n  puVar11 = PTR___stack_chk_fail_000adca4;\n  (*(code *)PTR___stack_chk_fail_000adca4)();\n  puStack_d0 = puVar11 + 0x35188;\n  puStack_80 = puVar1;\n  piVar10 = *(int **)(puVar11 + 0x2dbcc);\n  puStack_84 = puVar2;\n  iStack_8c = *piVar10;\n  puVar8 = *(undefined4 **)(puVar11 + 0x2dbe8);\n  iVar3 = *(int *)(puVar11 + 0x2d1b0);\n  puStack_88 = auStack_50;\n  uStack_7c = param_1;\n  uStack_68 = uVar6;\n  puStack_64 = puVar7;\n  premsg(auStack_c0);\n  (**(code **)(puStack_d0 + -0x7614))(*(int *)(puStack_d0 + -0x7fc0) + -0x605c,1,0xd,*puVar8);\n  puVar7 = &uStack_68;\n  puStack_c4 = puVar7;\n  (**(code **)(puStack_d0 + -0x7584))(*puVar8,1);\n  uVar6 = *puVar8;\n  (**(code **)(puStack_d0 + -0x7704))(10);\n  postmsg(auStack_c0);\n  if (*(int *)(iVar3 + -0x1b18) != 0) {\n    (**(code **)(puStack_d0 + -0x7fa8))();\n    *(undefined4 *)(iVar3 + -0x1b18) = 0;\n  }\n  uVar4 = 1;\n  cleanup_exit(1);\n  if (iStack_8c == *piVar10) {\n    return *piVar10;\n  }\n  pcVar12 = *(code **)(puStack_d0 + -0x75ec);\n  pcVar13 = cmdline_error;\n  (*pcVar12)();\n  uStack_f4 = **(undefined4 **)(pcVar12 + 0x2da9c);\n  puVar9 = *(undefined4 **)(pcVar12 + 0x2dab8);\n  puStack_f0 = auStack_c0;\n  puStack_ec = puVar8;\n  piStack_e8 = piVar10;\n  pcStack_e4 = pcVar13;\n  uStack_dc = uVar6;\n  uStack_d8 = uVar5;\n  puStack_d4 = puVar7;\n  premsg(auStack_128);\n  (**(code **)(pcVar12 + 0x2da44))(*(int *)(pcVar12 + 0x2d098) + -0x6044,1,7,*puVar9);\n  (**(code **)(pcVar12 + 0x2dad4))(*puVar9,1,uVar4,&uStack_dc);\n  (**(code **)(pcVar12 + 0x2d954))(10,*puVar9);\n  postmsg(auStack_128);\n  pcVar12 = *(code **)(pcVar12 + 0x2da10);\n  uVar6 = 1;\n  (*pcVar12)(1);\n  iVar3 = (**(code **)(pcVar12 + 0x2da0c))();\n  if (iVar3 == 0) {\n    uVar6 = (**(code **)(pcVar12 + 0x2d95c))(*(int *)(pcVar12 + 0x2cfc0) + -0xa68);\n                    \n                    \n    iVar3 = (**(code **)(pcVar12 + 0x2cfd4))(uVar6);\n    return iVar3;\n  }\n  iVar3 = (**(code **)(pcVar12 + 0x2da0c))(uVar6,*(int *)(pcVar12 + 0x2cfc0) + -0x430c);\n  if (iVar3 != 0) {\n    return 0;\n  }\n                    \n                    \n  iVar3 = (**(code **)(pcVar12 + 0x2cfd4))(*(int *)(pcVar12 + 0x2cfc8) + -0x6030);\n  return iVar3;\n}" primitive_type (function_declarator "nonfatal(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  int iVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  undefined4 *puVar7;\n  undefined4 *puVar8;\n  undefined4 *puVar9;\n  int *piVar10;\n  undefined *puVar11;\n  code *pcVar12;\n  code *pcVar13;\n  undefined4 local_res4;\n  undefined4 local_res8;\n  undefined4 local_resc;\n  undefined1 auStack_128 [52];\n  undefined4 uStack_f4;\n  undefined1 *puStack_f0;\n  undefined4 *puStack_ec;\n  int *piStack_e8;\n  code *pcStack_e4;\n  undefined4 uStack_dc;\n  undefined4 uStack_d8;\n  undefined4 *puStack_d4;\n  undefined *puStack_d0;\n  undefined4 *puStack_c4;\n  undefined1 auStack_c0 [52];\n  int iStack_8c;\n  undefined1 *puStack_88;\n  undefined *puStack_84;\n  undefined *puStack_80;\n  undefined4 uStack_7c;\n  undefined4 uStack_68;\n  undefined4 *puStack_64;\n  undefined1 auStack_50 [52];\n  int local_1c;\n  \n  puVar2 = PTR_stderr_000adcf0;\n  puVar1 = PTR___stack_chk_guard_000adcd4;\n  local_1c = *(int *)PTR___stack_chk_guard_000adcd4;\n  local_res4 = param_2;\n  local_res8 = param_3;\n  local_resc = param_4;\n  premsg(auStack_50);\n  (*(code *)PTR_fwrite_000adc7c)(PTR_DAT_000ad2d0 + -0x604c,1,7,*(undefined4 *)puVar2);\n  puVar7 = &local_res4;\n  uVar6 = param_1;\n  (*(code *)PTR___vfprintf_chk_000add0c)(*(undefined4 *)puVar2,1);\n  uVar5 = *(undefined4 *)puVar2;\n  (*(code *)PTR_fputc_000adb8c)(10);\n  postmsg(auStack_50);\n  iVar3 = *(int *)puVar1;\n  if (local_1c == iVar3) {\n    return iVar3;\n  }\n  puVar11 = PTR___stack_chk_fail_000adca4;\n  (*(code *)PTR___stack_chk_fail_000adca4)();\n  puStack_d0 = puVar11 + 0x35188;\n  puStack_80 = puVar1;\n  piVar10 = *(int **)(puVar11 + 0x2dbcc);\n  puStack_84 = puVar2;\n  iStack_8c = *piVar10;\n  puVar8 = *(undefined4 **)(puVar11 + 0x2dbe8);\n  iVar3 = *(int *)(puVar11 + 0x2d1b0);\n  puStack_88 = auStack_50;\n  uStack_7c = param_1;\n  uStack_68 = uVar6;\n  puStack_64 = puVar7;\n  premsg(auStack_c0);\n  (**(code **)(puStack_d0 + -0x7614))(*(int *)(puStack_d0 + -0x7fc0) + -0x605c,1,0xd,*puVar8);\n  puVar7 = &uStack_68;\n  puStack_c4 = puVar7;\n  (**(code **)(puStack_d0 + -0x7584))(*puVar8,1);\n  uVar6 = *puVar8;\n  (**(code **)(puStack_d0 + -0x7704))(10);\n  postmsg(auStack_c0);\n  if (*(int *)(iVar3 + -0x1b18) != 0) {\n    (**(code **)(puStack_d0 + -0x7fa8))();\n    *(undefined4 *)(iVar3 + -0x1b18) = 0;\n  }\n  uVar4 = 1;\n  cleanup_exit(1);\n  if (iStack_8c == *piVar10) {\n    return *piVar10;\n  }\n  pcVar12 = *(code **)(puStack_d0 + -0x75ec);\n  pcVar13 = cmdline_error;\n  (*pcVar12)();\n  uStack_f4 = **(undefined4 **)(pcVar12 + 0x2da9c);\n  puVar9 = *(undefined4 **)(pcVar12 + 0x2dab8);\n  puStack_f0 = auStack_c0;\n  puStack_ec = puVar8;\n  piStack_e8 = piVar10;\n  pcStack_e4 = pcVar13;\n  uStack_dc = uVar6;\n  uStack_d8 = uVar5;\n  puStack_d4 = puVar7;\n  premsg(auStack_128);\n  (**(code **)(pcVar12 + 0x2da44))(*(int *)(pcVar12 + 0x2d098) + -0x6044,1,7,*puVar9);\n  (**(code **)(pcVar12 + 0x2dad4))(*puVar9,1,uVar4,&uStack_dc);\n  (**(code **)(pcVar12 + 0x2d954))(10,*puVar9);\n  postmsg(auStack_128);\n  pcVar12 = *(code **)(pcVar12 + 0x2da10);\n  uVar6 = 1;\n  (*pcVar12)(1);\n  iVar3 = (**(code **)(pcVar12 + 0x2da0c))();\n  if (iVar3 == 0) {\n    uVar6 = (**(code **)(pcVar12 + 0x2d95c))(*(int *)(pcVar12 + 0x2cfc0) + -0xa68);\n                    \n                    \n    iVar3 = (**(code **)(pcVar12 + 0x2cfd4))(uVar6);\n    return iVar3;\n  }\n  iVar3 = (**(code **)(pcVar12 + 0x2da0c))(uVar6,*(int *)(pcVar12 + 0x2cfc0) + -0x430c);\n  if (iVar3 != 0) {\n    return 0;\n  }\n                    \n                    \n  iVar3 = (**(code **)(pcVar12 + 0x2cfd4))(*(int *)(pcVar12 + 0x2cfc8) + -0x6030);\n  return iVar3;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "undefined4 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined4 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined4 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "code *pcVar12;" type_identifier (pointer_declarator "*pcVar12" * identifier) ;) (declaration "code *pcVar13;" type_identifier (pointer_declarator "*pcVar13" * identifier) ;) (declaration "undefined4 local_res4;" type_identifier identifier ;) (declaration "undefined4 local_res8;" type_identifier identifier ;) (declaration "undefined4 local_resc;" type_identifier identifier ;) (declaration "undefined1 auStack_128 [52];" type_identifier (array_declarator "auStack_128 [52]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_f4;" type_identifier identifier ;) (declaration "undefined1 *puStack_f0;" type_identifier (pointer_declarator "*puStack_f0" * identifier) ;) (declaration "undefined4 *puStack_ec;" type_identifier (pointer_declarator "*puStack_ec" * identifier) ;) (declaration "int *piStack_e8;" primitive_type (pointer_declarator "*piStack_e8" * identifier) ;) (declaration "code *pcStack_e4;" type_identifier (pointer_declarator "*pcStack_e4" * identifier) ;) (declaration "undefined4 uStack_dc;" type_identifier identifier ;) (declaration "undefined4 uStack_d8;" type_identifier identifier ;) (declaration "undefined4 *puStack_d4;" type_identifier (pointer_declarator "*puStack_d4" * identifier) ;) (declaration "undefined *puStack_d0;" type_identifier (pointer_declarator "*puStack_d0" * identifier) ;) (declaration "undefined4 *puStack_c4;" type_identifier (pointer_declarator "*puStack_c4" * identifier) ;) (declaration "undefined1 auStack_c0 [52];" type_identifier (array_declarator "auStack_c0 [52]" identifier [ number_literal ]) ;) (declaration "int iStack_8c;" primitive_type identifier ;) (declaration "undefined1 *puStack_88;" type_identifier (pointer_declarator "*puStack_88" * identifier) ;) (declaration "undefined *puStack_84;" type_identifier (pointer_declarator "*puStack_84" * identifier) ;) (declaration "undefined *puStack_80;" type_identifier (pointer_declarator "*puStack_80" * identifier) ;) (declaration "undefined4 uStack_7c;" type_identifier identifier ;) (declaration "undefined4 uStack_68;" type_identifier identifier ;) (declaration "undefined4 *puStack_64;" type_identifier (pointer_declarator "*puStack_64" * identifier) ;) (declaration "undefined1 auStack_50 [52];" type_identifier (array_declarator "auStack_50 [52]" identifier [ number_literal ]) ;) (declaration "int local_1c;" primitive_type identifier ;) (expression_statement "puVar2 = PTR_stderr_000adcf0;" (assignment_expression "puVar2 = PTR_stderr_000adcf0" identifier = identifier) ;) (expression_statement "puVar1 = PTR___stack_chk_guard_000adcd4;" (assignment_expression "puVar1 = PTR___stack_chk_guard_000adcd4" identifier = identifier) ;) (expression_statement "local_1c = *(int *)PTR___stack_chk_guard_000adcd4;" (assignment_expression "local_1c = *(int *)PTR___stack_chk_guard_000adcd4" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000adcd4" * (cast_expression "(int *)PTR___stack_chk_guard_000adcd4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_res4 = param_2;" (assignment_expression "local_res4 = param_2" identifier = identifier) ;) (expression_statement "local_res8 = param_3;" (assignment_expression "local_res8 = param_3" identifier = identifier) ;) (expression_statement "local_resc = param_4;" (assignment_expression "local_resc = param_4" identifier = identifier) ;) (expression_statement "premsg(auStack_50);" (call_expression "premsg(auStack_50)" identifier (argument_list "(auStack_50)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_fwrite_000adc7c)(PTR_DAT_000ad2d0 + -0x604c,1,7,*(undefined4 *)puVar2);" (call_expression "(*(code *)PTR_fwrite_000adc7c)(PTR_DAT_000ad2d0 + -0x604c,1,7,*(undefined4 *)puVar2)" (parenthesized_expression "(*(code *)PTR_fwrite_000adc7c)" ( (pointer_expression "*(code *)PTR_fwrite_000adc7c" * (cast_expression "(code *)PTR_fwrite_000adc7c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_000ad2d0 + -0x604c,1,7,*(undefined4 *)puVar2)" ( (binary_expression "PTR_DAT_000ad2d0 + -0x604c" identifier + number_literal) , number_literal , number_literal , (pointer_expression "*(undefined4 *)puVar2" * (cast_expression "(undefined4 *)puVar2" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (expression_statement "puVar7 = &local_res4;" (assignment_expression "puVar7 = &local_res4" identifier = (pointer_expression "&local_res4" & identifier)) ;) (expression_statement "uVar6 = param_1;" (assignment_expression "uVar6 = param_1" identifier = identifier) ;) (expression_statement "(*(code *)PTR___vfprintf_chk_000add0c)(*(undefined4 *)puVar2,1);" (call_expression "(*(code *)PTR___vfprintf_chk_000add0c)(*(undefined4 *)puVar2,1)" (parenthesized_expression "(*(code *)PTR___vfprintf_chk_000add0c)" ( (pointer_expression "*(code *)PTR___vfprintf_chk_000add0c" * (cast_expression "(code *)PTR___vfprintf_chk_000add0c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)puVar2,1)" ( (pointer_expression "*(undefined4 *)puVar2" * (cast_expression "(undefined4 *)puVar2" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , number_literal ))) ;) (expression_statement "uVar5 = *(undefined4 *)puVar2;" (assignment_expression "uVar5 = *(undefined4 *)puVar2" identifier = (pointer_expression "*(undefined4 *)puVar2" * (cast_expression "(undefined4 *)puVar2" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "(*(code *)PTR_fputc_000adb8c)(10);" (call_expression "(*(code *)PTR_fputc_000adb8c)(10)" (parenthesized_expression "(*(code *)PTR_fputc_000adb8c)" ( (pointer_expression "*(code *)PTR_fputc_000adb8c" * (cast_expression "(code *)PTR_fputc_000adb8c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(10)" ( number_literal ))) ;) (expression_statement "postmsg(auStack_50);" (call_expression "postmsg(auStack_50)" identifier (argument_list "(auStack_50)" ( identifier ))) ;) (expression_statement "iVar3 = *(int *)puVar1;" (assignment_expression "iVar3 = *(int *)puVar1" identifier = (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (local_1c == iVar3) {\n    return iVar3;\n  }" if (parenthesized_expression "(local_1c == iVar3)" ( (binary_expression "local_1c == iVar3" identifier == identifier) )) (compound_statement "{\n    return iVar3;\n  }" { (return_statement "return iVar3;" return identifier ;) })) (expression_statement "puVar11 = PTR___stack_chk_fail_000adca4;" (assignment_expression "puVar11 = PTR___stack_chk_fail_000adca4" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000adca4)();" (call_expression "(*(code *)PTR___stack_chk_fail_000adca4)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000adca4)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000adca4" * (cast_expression "(code *)PTR___stack_chk_fail_000adca4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puStack_d0 = puVar11 + 0x35188;" (assignment_expression "puStack_d0 = puVar11 + 0x35188" identifier = (binary_expression "puVar11 + 0x35188" identifier + number_literal)) ;) (expression_statement "puStack_80 = puVar1;" (assignment_expression "puStack_80 = puVar1" identifier = identifier) ;) (expression_statement "piVar10 = *(int **)(puVar11 + 0x2dbcc);" (assignment_expression "piVar10 = *(int **)(puVar11 + 0x2dbcc)" identifier = (pointer_expression "*(int **)(puVar11 + 0x2dbcc)" * (cast_expression "(int **)(puVar11 + 0x2dbcc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x2dbcc)" ( (binary_expression "puVar11 + 0x2dbcc" identifier + number_literal) ))))) ;) (expression_statement "puStack_84 = puVar2;" (assignment_expression "puStack_84 = puVar2" identifier = identifier) ;) (expression_statement "iStack_8c = *piVar10;" (assignment_expression "iStack_8c = *piVar10" identifier = (pointer_expression "*piVar10" * identifier)) ;) (expression_statement "puVar8 = *(undefined4 **)(puVar11 + 0x2dbe8);" (assignment_expression "puVar8 = *(undefined4 **)(puVar11 + 0x2dbe8)" identifier = (pointer_expression "*(undefined4 **)(puVar11 + 0x2dbe8)" * (cast_expression "(undefined4 **)(puVar11 + 0x2dbe8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x2dbe8)" ( (binary_expression "puVar11 + 0x2dbe8" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = *(int *)(puVar11 + 0x2d1b0);" (assignment_expression "iVar3 = *(int *)(puVar11 + 0x2d1b0)" identifier = (pointer_expression "*(int *)(puVar11 + 0x2d1b0)" * (cast_expression "(int *)(puVar11 + 0x2d1b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x2d1b0)" ( (binary_expression "puVar11 + 0x2d1b0" identifier + number_literal) ))))) ;) (expression_statement "puStack_88 = auStack_50;" (assignment_expression "puStack_88 = auStack_50" identifier = identifier) ;) (expression_statement "uStack_7c = param_1;" (assignment_expression "uStack_7c = param_1" identifier = identifier) ;) (expression_statement "uStack_68 = uVar6;" (assignment_expression "uStack_68 = uVar6" identifier = identifier) ;) (expression_statement "puStack_64 = puVar7;" (assignment_expression "puStack_64 = puVar7" identifier = identifier) ;) (expression_statement "premsg(auStack_c0);" (call_expression "premsg(auStack_c0)" identifier (argument_list "(auStack_c0)" ( identifier ))) ;) (expression_statement "(**(code **)(puStack_d0 + -0x7614))(*(int *)(puStack_d0 + -0x7fc0) + -0x605c,1,0xd,*puVar8);" (call_expression "(**(code **)(puStack_d0 + -0x7614))(*(int *)(puStack_d0 + -0x7fc0) + -0x605c,1,0xd,*puVar8)" (parenthesized_expression "(**(code **)(puStack_d0 + -0x7614))" ( (pointer_expression "**(code **)(puStack_d0 + -0x7614)" * (pointer_expression "*(code **)(puStack_d0 + -0x7614)" * (cast_expression "(code **)(puStack_d0 + -0x7614)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_d0 + -0x7614)" ( (binary_expression "puStack_d0 + -0x7614" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puStack_d0 + -0x7fc0) + -0x605c,1,0xd,*puVar8)" ( (binary_expression "*(int *)(puStack_d0 + -0x7fc0) + -0x605c" (pointer_expression "*(int *)(puStack_d0 + -0x7fc0)" * (cast_expression "(int *)(puStack_d0 + -0x7fc0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_d0 + -0x7fc0)" ( (binary_expression "puStack_d0 + -0x7fc0" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , (pointer_expression "*puVar8" * identifier) ))) ;) (expression_statement "puVar7 = &uStack_68;" (assignment_expression "puVar7 = &uStack_68" identifier = (pointer_expression "&uStack_68" & identifier)) ;) (expression_statement "puStack_c4 = puVar7;" (assignment_expression "puStack_c4 = puVar7" identifier = identifier) ;) (expression_statement "(**(code **)(puStack_d0 + -0x7584))(*puVar8,1);" (call_expression "(**(code **)(puStack_d0 + -0x7584))(*puVar8,1)" (parenthesized_expression "(**(code **)(puStack_d0 + -0x7584))" ( (pointer_expression "**(code **)(puStack_d0 + -0x7584)" * (pointer_expression "*(code **)(puStack_d0 + -0x7584)" * (cast_expression "(code **)(puStack_d0 + -0x7584)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_d0 + -0x7584)" ( (binary_expression "puStack_d0 + -0x7584" identifier + number_literal) ))))) )) (argument_list "(*puVar8,1)" ( (pointer_expression "*puVar8" * identifier) , number_literal ))) ;) (expression_statement "uVar6 = *puVar8;" (assignment_expression "uVar6 = *puVar8" identifier = (pointer_expression "*puVar8" * identifier)) ;) (expression_statement "(**(code **)(puStack_d0 + -0x7704))(10);" (call_expression "(**(code **)(puStack_d0 + -0x7704))(10)" (parenthesized_expression "(**(code **)(puStack_d0 + -0x7704))" ( (pointer_expression "**(code **)(puStack_d0 + -0x7704)" * (pointer_expression "*(code **)(puStack_d0 + -0x7704)" * (cast_expression "(code **)(puStack_d0 + -0x7704)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_d0 + -0x7704)" ( (binary_expression "puStack_d0 + -0x7704" identifier + number_literal) ))))) )) (argument_list "(10)" ( number_literal ))) ;) (expression_statement "postmsg(auStack_c0);" (call_expression "postmsg(auStack_c0)" identifier (argument_list "(auStack_c0)" ( identifier ))) ;) (if_statement "if (*(int *)(iVar3 + -0x1b18) != 0) {\n    (**(code **)(puStack_d0 + -0x7fa8))();\n    *(undefined4 *)(iVar3 + -0x1b18) = 0;\n  }" if (parenthesized_expression "(*(int *)(iVar3 + -0x1b18) != 0)" ( (binary_expression "*(int *)(iVar3 + -0x1b18) != 0" (pointer_expression "*(int *)(iVar3 + -0x1b18)" * (cast_expression "(int *)(iVar3 + -0x1b18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + -0x1b18)" ( (binary_expression "iVar3 + -0x1b18" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    (**(code **)(puStack_d0 + -0x7fa8))();\n    *(undefined4 *)(iVar3 + -0x1b18) = 0;\n  }" { (expression_statement "(**(code **)(puStack_d0 + -0x7fa8))();" (call_expression "(**(code **)(puStack_d0 + -0x7fa8))()" (parenthesized_expression "(**(code **)(puStack_d0 + -0x7fa8))" ( (pointer_expression "**(code **)(puStack_d0 + -0x7fa8)" * (pointer_expression "*(code **)(puStack_d0 + -0x7fa8)" * (cast_expression "(code **)(puStack_d0 + -0x7fa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_d0 + -0x7fa8)" ( (binary_expression "puStack_d0 + -0x7fa8" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(iVar3 + -0x1b18) = 0;" (assignment_expression "*(undefined4 *)(iVar3 + -0x1b18) = 0" (pointer_expression "*(undefined4 *)(iVar3 + -0x1b18)" * (cast_expression "(undefined4 *)(iVar3 + -0x1b18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + -0x1b18)" ( (binary_expression "iVar3 + -0x1b18" identifier + number_literal) )))) = number_literal) ;) })) (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" identifier = number_literal) ;) (expression_statement "cleanup_exit(1);" (call_expression "cleanup_exit(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (if_statement "if (iStack_8c == *piVar10) {\n    return *piVar10;\n  }" if (parenthesized_expression "(iStack_8c == *piVar10)" ( (binary_expression "iStack_8c == *piVar10" identifier == (pointer_expression "*piVar10" * identifier)) )) (compound_statement "{\n    return *piVar10;\n  }" { (return_statement "return *piVar10;" return (pointer_expression "*piVar10" * identifier) ;) })) (expression_statement "pcVar12 = *(code **)(puStack_d0 + -0x75ec);" (assignment_expression "pcVar12 = *(code **)(puStack_d0 + -0x75ec)" identifier = (pointer_expression "*(code **)(puStack_d0 + -0x75ec)" * (cast_expression "(code **)(puStack_d0 + -0x75ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_d0 + -0x75ec)" ( (binary_expression "puStack_d0 + -0x75ec" identifier + number_literal) ))))) ;) (expression_statement "pcVar13 = cmdline_error;" (assignment_expression "pcVar13 = cmdline_error" identifier = identifier) ;) (expression_statement "(*pcVar12)();" (call_expression "(*pcVar12)()" (parenthesized_expression "(*pcVar12)" ( (pointer_expression "*pcVar12" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "uStack_f4 = **(undefined4 **)(pcVar12 + 0x2da9c);" (assignment_expression "uStack_f4 = **(undefined4 **)(pcVar12 + 0x2da9c)" identifier = (pointer_expression "**(undefined4 **)(pcVar12 + 0x2da9c)" * (pointer_expression "*(undefined4 **)(pcVar12 + 0x2da9c)" * (cast_expression "(undefined4 **)(pcVar12 + 0x2da9c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x2da9c)" ( (binary_expression "pcVar12 + 0x2da9c" identifier + number_literal) )))))) ;) (expression_statement "puVar9 = *(undefined4 **)(pcVar12 + 0x2dab8);" (assignment_expression "puVar9 = *(undefined4 **)(pcVar12 + 0x2dab8)" identifier = (pointer_expression "*(undefined4 **)(pcVar12 + 0x2dab8)" * (cast_expression "(undefined4 **)(pcVar12 + 0x2dab8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x2dab8)" ( (binary_expression "pcVar12 + 0x2dab8" identifier + number_literal) ))))) ;) (expression_statement "puStack_f0 = auStack_c0;" (assignment_expression "puStack_f0 = auStack_c0" identifier = identifier) ;) (expression_statement "puStack_ec = puVar8;" (assignment_expression "puStack_ec = puVar8" identifier = identifier) ;) (expression_statement "piStack_e8 = piVar10;" (assignment_expression "piStack_e8 = piVar10" identifier = identifier) ;) (expression_statement "pcStack_e4 = pcVar13;" (assignment_expression "pcStack_e4 = pcVar13" identifier = identifier) ;) (expression_statement "uStack_dc = uVar6;" (assignment_expression "uStack_dc = uVar6" identifier = identifier) ;) (expression_statement "uStack_d8 = uVar5;" (assignment_expression "uStack_d8 = uVar5" identifier = identifier) ;) (expression_statement "puStack_d4 = puVar7;" (assignment_expression "puStack_d4 = puVar7" identifier = identifier) ;) (expression_statement "premsg(auStack_128);" (call_expression "premsg(auStack_128)" identifier (argument_list "(auStack_128)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar12 + 0x2da44))(*(int *)(pcVar12 + 0x2d098) + -0x6044,1,7,*puVar9);" (call_expression "(**(code **)(pcVar12 + 0x2da44))(*(int *)(pcVar12 + 0x2d098) + -0x6044,1,7,*puVar9)" (parenthesized_expression "(**(code **)(pcVar12 + 0x2da44))" ( (pointer_expression "**(code **)(pcVar12 + 0x2da44)" * (pointer_expression "*(code **)(pcVar12 + 0x2da44)" * (cast_expression "(code **)(pcVar12 + 0x2da44)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x2da44)" ( (binary_expression "pcVar12 + 0x2da44" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar12 + 0x2d098) + -0x6044,1,7,*puVar9)" ( (binary_expression "*(int *)(pcVar12 + 0x2d098) + -0x6044" (pointer_expression "*(int *)(pcVar12 + 0x2d098)" * (cast_expression "(int *)(pcVar12 + 0x2d098)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x2d098)" ( (binary_expression "pcVar12 + 0x2d098" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , (pointer_expression "*puVar9" * identifier) ))) ;) (expression_statement "(**(code **)(pcVar12 + 0x2dad4))(*puVar9,1,uVar4,&uStack_dc);" (call_expression "(**(code **)(pcVar12 + 0x2dad4))(*puVar9,1,uVar4,&uStack_dc)" (parenthesized_expression "(**(code **)(pcVar12 + 0x2dad4))" ( (pointer_expression "**(code **)(pcVar12 + 0x2dad4)" * (pointer_expression "*(code **)(pcVar12 + 0x2dad4)" * (cast_expression "(code **)(pcVar12 + 0x2dad4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x2dad4)" ( (binary_expression "pcVar12 + 0x2dad4" identifier + number_literal) ))))) )) (argument_list "(*puVar9,1,uVar4,&uStack_dc)" ( (pointer_expression "*puVar9" * identifier) , number_literal , identifier , (pointer_expression "&uStack_dc" & identifier) ))) ;) (expression_statement "(**(code **)(pcVar12 + 0x2d954))(10,*puVar9);" (call_expression "(**(code **)(pcVar12 + 0x2d954))(10,*puVar9)" (parenthesized_expression "(**(code **)(pcVar12 + 0x2d954))" ( (pointer_expression "**(code **)(pcVar12 + 0x2d954)" * (pointer_expression "*(code **)(pcVar12 + 0x2d954)" * (cast_expression "(code **)(pcVar12 + 0x2d954)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x2d954)" ( (binary_expression "pcVar12 + 0x2d954" identifier + number_literal) ))))) )) (argument_list "(10,*puVar9)" ( number_literal , (pointer_expression "*puVar9" * identifier) ))) ;) (expression_statement "postmsg(auStack_128);" (call_expression "postmsg(auStack_128)" identifier (argument_list "(auStack_128)" ( identifier ))) ;) (expression_statement "pcVar12 = *(code **)(pcVar12 + 0x2da10);" (assignment_expression "pcVar12 = *(code **)(pcVar12 + 0x2da10)" identifier = (pointer_expression "*(code **)(pcVar12 + 0x2da10)" * (cast_expression "(code **)(pcVar12 + 0x2da10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x2da10)" ( (binary_expression "pcVar12 + 0x2da10" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (expression_statement "(*pcVar12)(1);" (call_expression "(*pcVar12)(1)" (parenthesized_expression "(*pcVar12)" ( (pointer_expression "*pcVar12" * identifier) )) (argument_list "(1)" ( number_literal ))) ;) (expression_statement "iVar3 = (**(code **)(pcVar12 + 0x2da0c))();" (assignment_expression "iVar3 = (**(code **)(pcVar12 + 0x2da0c))()" identifier = (call_expression "(**(code **)(pcVar12 + 0x2da0c))()" (parenthesized_expression "(**(code **)(pcVar12 + 0x2da0c))" ( (pointer_expression "**(code **)(pcVar12 + 0x2da0c)" * (pointer_expression "*(code **)(pcVar12 + 0x2da0c)" * (cast_expression "(code **)(pcVar12 + 0x2da0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x2da0c)" ( (binary_expression "pcVar12 + 0x2da0c" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar3 == 0) {\n    uVar6 = (**(code **)(pcVar12 + 0x2d95c))(*(int *)(pcVar12 + 0x2cfc0) + -0xa68);\n                    \n                    \n    iVar3 = (**(code **)(pcVar12 + 0x2cfd4))(uVar6);\n    return iVar3;\n  }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar6 = (**(code **)(pcVar12 + 0x2d95c))(*(int *)(pcVar12 + 0x2cfc0) + -0xa68);\n                    \n                    \n    iVar3 = (**(code **)(pcVar12 + 0x2cfd4))(uVar6);\n    return iVar3;\n  }" { (expression_statement "uVar6 = (**(code **)(pcVar12 + 0x2d95c))(*(int *)(pcVar12 + 0x2cfc0) + -0xa68);" (assignment_expression "uVar6 = (**(code **)(pcVar12 + 0x2d95c))(*(int *)(pcVar12 + 0x2cfc0) + -0xa68)" identifier = (call_expression "(**(code **)(pcVar12 + 0x2d95c))(*(int *)(pcVar12 + 0x2cfc0) + -0xa68)" (parenthesized_expression "(**(code **)(pcVar12 + 0x2d95c))" ( (pointer_expression "**(code **)(pcVar12 + 0x2d95c)" * (pointer_expression "*(code **)(pcVar12 + 0x2d95c)" * (cast_expression "(code **)(pcVar12 + 0x2d95c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x2d95c)" ( (binary_expression "pcVar12 + 0x2d95c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar12 + 0x2cfc0) + -0xa68)" ( (binary_expression "*(int *)(pcVar12 + 0x2cfc0) + -0xa68" (pointer_expression "*(int *)(pcVar12 + 0x2cfc0)" * (cast_expression "(int *)(pcVar12 + 0x2cfc0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x2cfc0)" ( (binary_expression "pcVar12 + 0x2cfc0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar3 = (**(code **)(pcVar12 + 0x2cfd4))(uVar6);" (assignment_expression "iVar3 = (**(code **)(pcVar12 + 0x2cfd4))(uVar6)" identifier = (call_expression "(**(code **)(pcVar12 + 0x2cfd4))(uVar6)" (parenthesized_expression "(**(code **)(pcVar12 + 0x2cfd4))" ( (pointer_expression "**(code **)(pcVar12 + 0x2cfd4)" * (pointer_expression "*(code **)(pcVar12 + 0x2cfd4)" * (cast_expression "(code **)(pcVar12 + 0x2cfd4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x2cfd4)" ( (binary_expression "pcVar12 + 0x2cfd4" identifier + number_literal) ))))) )) (argument_list "(uVar6)" ( identifier )))) ;) (return_statement "return iVar3;" return identifier ;) })) (expression_statement "iVar3 = (**(code **)(pcVar12 + 0x2da0c))(uVar6,*(int *)(pcVar12 + 0x2cfc0) + -0x430c);" (assignment_expression "iVar3 = (**(code **)(pcVar12 + 0x2da0c))(uVar6,*(int *)(pcVar12 + 0x2cfc0) + -0x430c)" identifier = (call_expression "(**(code **)(pcVar12 + 0x2da0c))(uVar6,*(int *)(pcVar12 + 0x2cfc0) + -0x430c)" (parenthesized_expression "(**(code **)(pcVar12 + 0x2da0c))" ( (pointer_expression "**(code **)(pcVar12 + 0x2da0c)" * (pointer_expression "*(code **)(pcVar12 + 0x2da0c)" * (cast_expression "(code **)(pcVar12 + 0x2da0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x2da0c)" ( (binary_expression "pcVar12 + 0x2da0c" identifier + number_literal) ))))) )) (argument_list "(uVar6,*(int *)(pcVar12 + 0x2cfc0) + -0x430c)" ( identifier , (binary_expression "*(int *)(pcVar12 + 0x2cfc0) + -0x430c" (pointer_expression "*(int *)(pcVar12 + 0x2cfc0)" * (cast_expression "(int *)(pcVar12 + 0x2cfc0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x2cfc0)" ( (binary_expression "pcVar12 + 0x2cfc0" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar3 != 0) {\n    return 0;\n  }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar3 = (**(code **)(pcVar12 + 0x2cfd4))(*(int *)(pcVar12 + 0x2cfc8) + -0x6030);" (assignment_expression "iVar3 = (**(code **)(pcVar12 + 0x2cfd4))(*(int *)(pcVar12 + 0x2cfc8) + -0x6030)" identifier = (call_expression "(**(code **)(pcVar12 + 0x2cfd4))(*(int *)(pcVar12 + 0x2cfc8) + -0x6030)" (parenthesized_expression "(**(code **)(pcVar12 + 0x2cfd4))" ( (pointer_expression "**(code **)(pcVar12 + 0x2cfd4)" * (pointer_expression "*(code **)(pcVar12 + 0x2cfd4)" * (cast_expression "(code **)(pcVar12 + 0x2cfd4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x2cfd4)" ( (binary_expression "pcVar12 + 0x2cfd4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar12 + 0x2cfc8) + -0x6030)" ( (binary_expression "*(int *)(pcVar12 + 0x2cfc8) + -0x6030" (pointer_expression "*(int *)(pcVar12 + 0x2cfc8)" * (cast_expression "(int *)(pcVar12 + 0x2cfc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x2cfc8)" ( (binary_expression "pcVar12 + 0x2cfc8" identifier + number_literal) )))) + number_literal) )))) ;) (return_statement "return iVar3;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & 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 ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) , LIT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (return_statement return 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 = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (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 ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , LIT , (pointer_expression * IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = 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 ( (pointer_expression * IDENT) , LIT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * 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 ( LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (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 (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 ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return (pointer_expression * IDENT) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (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 ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , LIT , (pointer_expression * 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 ( (pointer_expression * IDENT) , LIT , IDENT , (pointer_expression & 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 ( LIT , (pointer_expression * IDENT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( LIT ))) ;) (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 ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (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 (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 ;) })) (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 ( 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 IDENT != LIT) )) (compound_statement { (return_statement return LIT ;) })) (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) )))) ;) (return_statement return IDENT ;) })))
(function_definition "int nonfatal(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  int iVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  undefined4 *puVar7;\n  undefined4 *puVar8;\n  undefined4 *puVar9;\n  int *piVar10;\n  undefined *puVar11;\n  code *pcVar12;\n  code *pcVar13;\n  undefined4 local_res4;\n  undefined4 local_res8;\n  undefined4 local_resc;\n  undefined1 auStack_128 [52];\n  undefined4 uStack_f4;\n  undefined1 *puStack_f0;\n  undefined4 *puStack_ec;\n  int *piStack_e8;\n  code *pcStack_e4;\n  undefined4 uStack_dc;\n  undefined4 uStack_d8;\n  undefined4 *puStack_d4;\n  undefined *puStack_d0;\n  undefined4 *puStack_c4;\n  undefined1 auStack_c0 [52];\n  int iStack_8c;\n  undefined1 *puStack_88;\n  undefined *puStack_84;\n  undefined *puStack_80;\n  undefined4 uStack_7c;\n  undefined4 uStack_68;\n  undefined4 *puStack_64;\n  undefined1 auStack_50 [52];\n  int local_1c;\n  \n  puVar2 = PTR_stderr_000adcf0;\n  puVar1 = PTR___stack_chk_guard_000adcd4;\n  local_1c = *(int *)PTR___stack_chk_guard_000adcd4;\n  local_res4 = param_2;\n  local_res8 = param_3;\n  local_resc = param_4;\n  premsg(auStack_50);\n  (*(code *)PTR_fwrite_000adc7c)(PTR_DAT_000ad2d0 + -0x604c,1,7,*(undefined4 *)puVar2);\n  puVar7 = &local_res4;\n  uVar6 = param_1;\n  (*(code *)PTR___vfprintf_chk_000add0c)(*(undefined4 *)puVar2,1);\n  uVar5 = *(undefined4 *)puVar2;\n  (*(code *)PTR_fputc_000adb8c)(10);\n  postmsg(auStack_50);\n  iVar3 = *(int *)puVar1;\n  if (local_1c == iVar3) {\n    return iVar3;\n  }\n  puVar11 = PTR___stack_chk_fail_000adca4;\n  (*(code *)PTR___stack_chk_fail_000adca4)();\n  puStack_d0 = puVar11 + 0x35188;\n  puStack_80 = puVar1;\n  piVar10 = *(int **)(puVar11 + 0x2dbcc);\n  puStack_84 = puVar2;\n  iStack_8c = *piVar10;\n  puVar8 = *(undefined4 **)(puVar11 + 0x2dbe8);\n  iVar3 = *(int *)(puVar11 + 0x2d1b0);\n  puStack_88 = auStack_50;\n  uStack_7c = param_1;\n  uStack_68 = uVar6;\n  puStack_64 = puVar7;\n  premsg(auStack_c0);\n  (**(code **)(puStack_d0 + -0x7614))(*(int *)(puStack_d0 + -0x7fc0) + -0x605c,1,0xd,*puVar8);\n  puVar7 = &uStack_68;\n  puStack_c4 = puVar7;\n  (**(code **)(puStack_d0 + -0x7584))(*puVar8,1);\n  uVar6 = *puVar8;\n  (**(code **)(puStack_d0 + -0x7704))(10);\n  postmsg(auStack_c0);\n  if (*(int *)(iVar3 + -0x1b18) != 0) {\n    (**(code **)(puStack_d0 + -0x7fa8))();\n    *(undefined4 *)(iVar3 + -0x1b18) = 0;\n  }\n  uVar4 = 1;\n  cleanup_exit(1);\n  if (iStack_8c == *piVar10) {\n    return *piVar10;\n  }\n  pcVar12 = *(code **)(puStack_d0 + -0x75ec);\n  pcVar13 = cmdline_error;\n  (*pcVar12)();\n  uStack_f4 = **(undefined4 **)(pcVar12 + 0x2da9c);\n  puVar9 = *(undefined4 **)(pcVar12 + 0x2dab8);\n  puStack_f0 = auStack_c0;\n  puStack_ec = puVar8;\n  piStack_e8 = piVar10;\n  pcStack_e4 = pcVar13;\n  uStack_dc = uVar6;\n  uStack_d8 = uVar5;\n  puStack_d4 = puVar7;\n  premsg(auStack_128);\n  (**(code **)(pcVar12 + 0x2da44))(*(int *)(pcVar12 + 0x2d098) + -0x6044,1,7,*puVar9);\n  (**(code **)(pcVar12 + 0x2dad4))(*puVar9,1,uVar4,&uStack_dc);\n  (**(code **)(pcVar12 + 0x2d954))(10,*puVar9);\n  postmsg(auStack_128);\n  pcVar12 = *(code **)(pcVar12 + 0x2da10);\n  uVar6 = 1;\n  (*pcVar12)(1);\n  iVar3 = (**(code **)(pcVar12 + 0x2da0c))();\n  if (iVar3 == 0) {\n    uVar6 = (**(code **)(pcVar12 + 0x2d95c))(*(int *)(pcVar12 + 0x2cfc0) + -0xa68);\n                    \n                    \n    iVar3 = (**(code **)(pcVar12 + 0x2cfd4))(uVar6);\n    return iVar3;\n  }\n  iVar3 = (**(code **)(pcVar12 + 0x2da0c))(uVar6,*(int *)(pcVar12 + 0x2cfc0) + -0x430c);\n  if (iVar3 != 0) {\n    return 0;\n  }\n                    \n                    \n  iVar3 = (**(code **)(pcVar12 + 0x2cfd4))(*(int *)(pcVar12 + 0x2cfc8) + -0x6030);\n  return iVar3;\n}" (primitive_type "int") (function_declarator "nonfatal(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)" (identifier "nonfatal") (parameter_list "(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) (, ",") (parameter_declaration "undefined4 param_4" (type_identifier "undefined4") (identifier "param_4")) () ")"))) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  int iVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  undefined4 *puVar7;\n  undefined4 *puVar8;\n  undefined4 *puVar9;\n  int *piVar10;\n  undefined *puVar11;\n  code *pcVar12;\n  code *pcVar13;\n  undefined4 local_res4;\n  undefined4 local_res8;\n  undefined4 local_resc;\n  undefined1 auStack_128 [52];\n  undefined4 uStack_f4;\n  undefined1 *puStack_f0;\n  undefined4 *puStack_ec;\n  int *piStack_e8;\n  code *pcStack_e4;\n  undefined4 uStack_dc;\n  undefined4 uStack_d8;\n  undefined4 *puStack_d4;\n  undefined *puStack_d0;\n  undefined4 *puStack_c4;\n  undefined1 auStack_c0 [52];\n  int iStack_8c;\n  undefined1 *puStack_88;\n  undefined *puStack_84;\n  undefined *puStack_80;\n  undefined4 uStack_7c;\n  undefined4 uStack_68;\n  undefined4 *puStack_64;\n  undefined1 auStack_50 [52];\n  int local_1c;\n  \n  puVar2 = PTR_stderr_000adcf0;\n  puVar1 = PTR___stack_chk_guard_000adcd4;\n  local_1c = *(int *)PTR___stack_chk_guard_000adcd4;\n  local_res4 = param_2;\n  local_res8 = param_3;\n  local_resc = param_4;\n  premsg(auStack_50);\n  (*(code *)PTR_fwrite_000adc7c)(PTR_DAT_000ad2d0 + -0x604c,1,7,*(undefined4 *)puVar2);\n  puVar7 = &local_res4;\n  uVar6 = param_1;\n  (*(code *)PTR___vfprintf_chk_000add0c)(*(undefined4 *)puVar2,1);\n  uVar5 = *(undefined4 *)puVar2;\n  (*(code *)PTR_fputc_000adb8c)(10);\n  postmsg(auStack_50);\n  iVar3 = *(int *)puVar1;\n  if (local_1c == iVar3) {\n    return iVar3;\n  }\n  puVar11 = PTR___stack_chk_fail_000adca4;\n  (*(code *)PTR___stack_chk_fail_000adca4)();\n  puStack_d0 = puVar11 + 0x35188;\n  puStack_80 = puVar1;\n  piVar10 = *(int **)(puVar11 + 0x2dbcc);\n  puStack_84 = puVar2;\n  iStack_8c = *piVar10;\n  puVar8 = *(undefined4 **)(puVar11 + 0x2dbe8);\n  iVar3 = *(int *)(puVar11 + 0x2d1b0);\n  puStack_88 = auStack_50;\n  uStack_7c = param_1;\n  uStack_68 = uVar6;\n  puStack_64 = puVar7;\n  premsg(auStack_c0);\n  (**(code **)(puStack_d0 + -0x7614))(*(int *)(puStack_d0 + -0x7fc0) + -0x605c,1,0xd,*puVar8);\n  puVar7 = &uStack_68;\n  puStack_c4 = puVar7;\n  (**(code **)(puStack_d0 + -0x7584))(*puVar8,1);\n  uVar6 = *puVar8;\n  (**(code **)(puStack_d0 + -0x7704))(10);\n  postmsg(auStack_c0);\n  if (*(int *)(iVar3 + -0x1b18) != 0) {\n    (**(code **)(puStack_d0 + -0x7fa8))();\n    *(undefined4 *)(iVar3 + -0x1b18) = 0;\n  }\n  uVar4 = 1;\n  cleanup_exit(1);\n  if (iStack_8c == *piVar10) {\n    return *piVar10;\n  }\n  pcVar12 = *(code **)(puStack_d0 + -0x75ec);\n  pcVar13 = cmdline_error;\n  (*pcVar12)();\n  uStack_f4 = **(undefined4 **)(pcVar12 + 0x2da9c);\n  puVar9 = *(undefined4 **)(pcVar12 + 0x2dab8);\n  puStack_f0 = auStack_c0;\n  puStack_ec = puVar8;\n  piStack_e8 = piVar10;\n  pcStack_e4 = pcVar13;\n  uStack_dc = uVar6;\n  uStack_d8 = uVar5;\n  puStack_d4 = puVar7;\n  premsg(auStack_128);\n  (**(code **)(pcVar12 + 0x2da44))(*(int *)(pcVar12 + 0x2d098) + -0x6044,1,7,*puVar9);\n  (**(code **)(pcVar12 + 0x2dad4))(*puVar9,1,uVar4,&uStack_dc);\n  (**(code **)(pcVar12 + 0x2d954))(10,*puVar9);\n  postmsg(auStack_128);\n  pcVar12 = *(code **)(pcVar12 + 0x2da10);\n  uVar6 = 1;\n  (*pcVar12)(1);\n  iVar3 = (**(code **)(pcVar12 + 0x2da0c))();\n  if (iVar3 == 0) {\n    uVar6 = (**(code **)(pcVar12 + 0x2d95c))(*(int *)(pcVar12 + 0x2cfc0) + -0xa68);\n                    \n                    \n    iVar3 = (**(code **)(pcVar12 + 0x2cfd4))(uVar6);\n    return iVar3;\n  }\n  iVar3 = (**(code **)(pcVar12 + 0x2da0c))(uVar6,*(int *)(pcVar12 + 0x2cfc0) + -0x430c);\n  if (iVar3 != 0) {\n    return 0;\n  }\n                    \n                    \n  iVar3 = (**(code **)(pcVar12 + 0x2cfd4))(*(int *)(pcVar12 + 0x2cfc8) + -0x6030);\n  return iVar3;\n}" ({ "{") (declaration "undefined *puVar1;" (type_identifier "undefined") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "undefined *puVar2;" (type_identifier "undefined") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "undefined4 uVar4;" (type_identifier "undefined4") (identifier "uVar4") (; ";")) (declaration "undefined4 uVar5;" (type_identifier "undefined4") (identifier "uVar5") (; ";")) (declaration "undefined4 uVar6;" (type_identifier "undefined4") (identifier "uVar6") (; ";")) (declaration "undefined4 *puVar7;" (type_identifier "undefined4") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "undefined4 *puVar8;" (type_identifier "undefined4") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "undefined4 *puVar9;" (type_identifier "undefined4") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (declaration "int *piVar10;" (primitive_type "int") (pointer_declarator "*piVar10" (* "*") (identifier "piVar10")) (; ";")) (declaration "undefined *puVar11;" (type_identifier "undefined") (pointer_declarator "*puVar11" (* "*") (identifier "puVar11")) (; ";")) (declaration "code *pcVar12;" (type_identifier "code") (pointer_declarator "*pcVar12" (* "*") (identifier "pcVar12")) (; ";")) (declaration "code *pcVar13;" (type_identifier "code") (pointer_declarator "*pcVar13" (* "*") (identifier "pcVar13")) (; ";")) (declaration "undefined4 local_res4;" (type_identifier "undefined4") (identifier "local_res4") (; ";")) (declaration "undefined4 local_res8;" (type_identifier "undefined4") (identifier "local_res8") (; ";")) (declaration "undefined4 local_resc;" (type_identifier "undefined4") (identifier "local_resc") (; ";")) (declaration "undefined1 auStack_128 [52];" (type_identifier "undefined1") (array_declarator "auStack_128 [52]" (identifier "auStack_128") ([ "[") (number_literal "52") (] "]")) (; ";")) (declaration "undefined4 uStack_f4;" (type_identifier "undefined4") (identifier "uStack_f4") (; ";")) (declaration "undefined1 *puStack_f0;" (type_identifier "undefined1") (pointer_declarator "*puStack_f0" (* "*") (identifier "puStack_f0")) (; ";")) (declaration "undefined4 *puStack_ec;" (type_identifier "undefined4") (pointer_declarator "*puStack_ec" (* "*") (identifier "puStack_ec")) (; ";")) (declaration "int *piStack_e8;" (primitive_type "int") (pointer_declarator "*piStack_e8" (* "*") (identifier "piStack_e8")) (; ";")) (declaration "code *pcStack_e4;" (type_identifier "code") (pointer_declarator "*pcStack_e4" (* "*") (identifier "pcStack_e4")) (; ";")) (declaration "undefined4 uStack_dc;" (type_identifier "undefined4") (identifier "uStack_dc") (; ";")) (declaration "undefined4 uStack_d8;" (type_identifier "undefined4") (identifier "uStack_d8") (; ";")) (declaration "undefined4 *puStack_d4;" (type_identifier "undefined4") (pointer_declarator "*puStack_d4" (* "*") (identifier "puStack_d4")) (; ";")) (declaration "undefined *puStack_d0;" (type_identifier "undefined") (pointer_declarator "*puStack_d0" (* "*") (identifier "puStack_d0")) (; ";")) (declaration "undefined4 *puStack_c4;" (type_identifier "undefined4") (pointer_declarator "*puStack_c4" (* "*") (identifier "puStack_c4")) (; ";")) (declaration "undefined1 auStack_c0 [52];" (type_identifier "undefined1") (array_declarator "auStack_c0 [52]" (identifier "auStack_c0") ([ "[") (number_literal "52") (] "]")) (; ";")) (declaration "int iStack_8c;" (primitive_type "int") (identifier "iStack_8c") (; ";")) (declaration "undefined1 *puStack_88;" (type_identifier "undefined1") (pointer_declarator "*puStack_88" (* "*") (identifier "puStack_88")) (; ";")) (declaration "undefined *puStack_84;" (type_identifier "undefined") (pointer_declarator "*puStack_84" (* "*") (identifier "puStack_84")) (; ";")) (declaration "undefined *puStack_80;" (type_identifier "undefined") (pointer_declarator "*puStack_80" (* "*") (identifier "puStack_80")) (; ";")) (declaration "undefined4 uStack_7c;" (type_identifier "undefined4") (identifier "uStack_7c") (; ";")) (declaration "undefined4 uStack_68;" (type_identifier "undefined4") (identifier "uStack_68") (; ";")) (declaration "undefined4 *puStack_64;" (type_identifier "undefined4") (pointer_declarator "*puStack_64" (* "*") (identifier "puStack_64")) (; ";")) (declaration "undefined1 auStack_50 [52];" (type_identifier "undefined1") (array_declarator "auStack_50 [52]" (identifier "auStack_50") ([ "[") (number_literal "52") (] "]")) (; ";")) (declaration "int local_1c;" (primitive_type "int") (identifier "local_1c") (; ";")) (expression_statement "puVar2 = PTR_stderr_000adcf0;" (assignment_expression "puVar2 = PTR_stderr_000adcf0" (identifier "puVar2") (= "=") (identifier "PTR_stderr_000adcf0")) (; ";")) (expression_statement "puVar1 = PTR___stack_chk_guard_000adcd4;" (assignment_expression "puVar1 = PTR___stack_chk_guard_000adcd4" (identifier "puVar1") (= "=") (identifier "PTR___stack_chk_guard_000adcd4")) (; ";")) (expression_statement "local_1c = *(int *)PTR___stack_chk_guard_000adcd4;" (assignment_expression "local_1c = *(int *)PTR___stack_chk_guard_000adcd4" (identifier "local_1c") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_000adcd4" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_000adcd4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_000adcd4")))) (; ";")) (expression_statement "local_res4 = param_2;" (assignment_expression "local_res4 = param_2" (identifier "local_res4") (= "=") (identifier "param_2")) (; ";")) (expression_statement "local_res8 = param_3;" (assignment_expression "local_res8 = param_3" (identifier "local_res8") (= "=") (identifier "param_3")) (; ";")) (expression_statement "local_resc = param_4;" (assignment_expression "local_resc = param_4" (identifier "local_resc") (= "=") (identifier "param_4")) (; ";")) (expression_statement "premsg(auStack_50);" (call_expression "premsg(auStack_50)" (identifier "premsg") (argument_list "(auStack_50)" (( "(") (identifier "auStack_50") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_fwrite_000adc7c)(PTR_DAT_000ad2d0 + -0x604c,1,7,*(undefined4 *)puVar2);" (call_expression "(*(code *)PTR_fwrite_000adc7c)(PTR_DAT_000ad2d0 + -0x604c,1,7,*(undefined4 *)puVar2)" (parenthesized_expression "(*(code *)PTR_fwrite_000adc7c)" (( "(") (pointer_expression "*(code *)PTR_fwrite_000adc7c" (* "*") (cast_expression "(code *)PTR_fwrite_000adc7c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fwrite_000adc7c"))) () ")")) (argument_list "(PTR_DAT_000ad2d0 + -0x604c,1,7,*(undefined4 *)puVar2)" (( "(") (binary_expression "PTR_DAT_000ad2d0 + -0x604c" (identifier "PTR_DAT_000ad2d0") (+ "+") (number_literal "-0x604c")) (, ",") (number_literal "1") (, ",") (number_literal "7") (, ",") (pointer_expression "*(undefined4 *)puVar2" (* "*") (cast_expression "(undefined4 *)puVar2" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2"))) () ")"))) (; ";")) (expression_statement "puVar7 = &local_res4;" (assignment_expression "puVar7 = &local_res4" (identifier "puVar7") (= "=") (pointer_expression "&local_res4" (& "&") (identifier "local_res4"))) (; ";")) (expression_statement "uVar6 = param_1;" (assignment_expression "uVar6 = param_1" (identifier "uVar6") (= "=") (identifier "param_1")) (; ";")) (expression_statement "(*(code *)PTR___vfprintf_chk_000add0c)(*(undefined4 *)puVar2,1);" (call_expression "(*(code *)PTR___vfprintf_chk_000add0c)(*(undefined4 *)puVar2,1)" (parenthesized_expression "(*(code *)PTR___vfprintf_chk_000add0c)" (( "(") (pointer_expression "*(code *)PTR___vfprintf_chk_000add0c" (* "*") (cast_expression "(code *)PTR___vfprintf_chk_000add0c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___vfprintf_chk_000add0c"))) () ")")) (argument_list "(*(undefined4 *)puVar2,1)" (( "(") (pointer_expression "*(undefined4 *)puVar2" (* "*") (cast_expression "(undefined4 *)puVar2" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2"))) (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "uVar5 = *(undefined4 *)puVar2;" (assignment_expression "uVar5 = *(undefined4 *)puVar2" (identifier "uVar5") (= "=") (pointer_expression "*(undefined4 *)puVar2" (* "*") (cast_expression "(undefined4 *)puVar2" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2")))) (; ";")) (expression_statement "(*(code *)PTR_fputc_000adb8c)(10);" (call_expression "(*(code *)PTR_fputc_000adb8c)(10)" (parenthesized_expression "(*(code *)PTR_fputc_000adb8c)" (( "(") (pointer_expression "*(code *)PTR_fputc_000adb8c" (* "*") (cast_expression "(code *)PTR_fputc_000adb8c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fputc_000adb8c"))) () ")")) (argument_list "(10)" (( "(") (number_literal "10") () ")"))) (; ";")) (expression_statement "postmsg(auStack_50);" (call_expression "postmsg(auStack_50)" (identifier "postmsg") (argument_list "(auStack_50)" (( "(") (identifier "auStack_50") () ")"))) (; ";")) (expression_statement "iVar3 = *(int *)puVar1;" (assignment_expression "iVar3 = *(int *)puVar1" (identifier "iVar3") (= "=") (pointer_expression "*(int *)puVar1" (* "*") (cast_expression "(int *)puVar1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1")))) (; ";")) (if_statement "if (local_1c == iVar3) {\n    return iVar3;\n  }" (if "if") (parenthesized_expression "(local_1c == iVar3)" (( "(") (binary_expression "local_1c == iVar3" (identifier "local_1c") (== "==") (identifier "iVar3")) () ")")) (compound_statement "{\n    return iVar3;\n  }" ({ "{") (return_statement "return iVar3;" (return "return") (identifier "iVar3") (; ";")) (} "}"))) (expression_statement "puVar11 = PTR___stack_chk_fail_000adca4;" (assignment_expression "puVar11 = PTR___stack_chk_fail_000adca4" (identifier "puVar11") (= "=") (identifier "PTR___stack_chk_fail_000adca4")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_000adca4)();" (call_expression "(*(code *)PTR___stack_chk_fail_000adca4)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000adca4)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_000adca4" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_000adca4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_000adca4"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puStack_d0 = puVar11 + 0x35188;" (assignment_expression "puStack_d0 = puVar11 + 0x35188" (identifier "puStack_d0") (= "=") (binary_expression "puVar11 + 0x35188" (identifier "puVar11") (+ "+") (number_literal "0x35188"))) (; ";")) (expression_statement "puStack_80 = puVar1;" (assignment_expression "puStack_80 = puVar1" (identifier "puStack_80") (= "=") (identifier "puVar1")) (; ";")) (expression_statement "piVar10 = *(int **)(puVar11 + 0x2dbcc);" (assignment_expression "piVar10 = *(int **)(puVar11 + 0x2dbcc)" (identifier "piVar10") (= "=") (pointer_expression "*(int **)(puVar11 + 0x2dbcc)" (* "*") (cast_expression "(int **)(puVar11 + 0x2dbcc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x2dbcc)" (( "(") (binary_expression "puVar11 + 0x2dbcc" (identifier "puVar11") (+ "+") (number_literal "0x2dbcc")) () ")"))))) (; ";")) (expression_statement "puStack_84 = puVar2;" (assignment_expression "puStack_84 = puVar2" (identifier "puStack_84") (= "=") (identifier "puVar2")) (; ";")) (expression_statement "iStack_8c = *piVar10;" (assignment_expression "iStack_8c = *piVar10" (identifier "iStack_8c") (= "=") (pointer_expression "*piVar10" (* "*") (identifier "piVar10"))) (; ";")) (expression_statement "puVar8 = *(undefined4 **)(puVar11 + 0x2dbe8);" (assignment_expression "puVar8 = *(undefined4 **)(puVar11 + 0x2dbe8)" (identifier "puVar8") (= "=") (pointer_expression "*(undefined4 **)(puVar11 + 0x2dbe8)" (* "*") (cast_expression "(undefined4 **)(puVar11 + 0x2dbe8)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar11 + 0x2dbe8)" (( "(") (binary_expression "puVar11 + 0x2dbe8" (identifier "puVar11") (+ "+") (number_literal "0x2dbe8")) () ")"))))) (; ";")) (expression_statement "iVar3 = *(int *)(puVar11 + 0x2d1b0);" (assignment_expression "iVar3 = *(int *)(puVar11 + 0x2d1b0)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(puVar11 + 0x2d1b0)" (* "*") (cast_expression "(int *)(puVar11 + 0x2d1b0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x2d1b0)" (( "(") (binary_expression "puVar11 + 0x2d1b0" (identifier "puVar11") (+ "+") (number_literal "0x2d1b0")) () ")"))))) (; ";")) (expression_statement "puStack_88 = auStack_50;" (assignment_expression "puStack_88 = auStack_50" (identifier "puStack_88") (= "=") (identifier "auStack_50")) (; ";")) (expression_statement "uStack_7c = param_1;" (assignment_expression "uStack_7c = param_1" (identifier "uStack_7c") (= "=") (identifier "param_1")) (; ";")) (expression_statement "uStack_68 = uVar6;" (assignment_expression "uStack_68 = uVar6" (identifier "uStack_68") (= "=") (identifier "uVar6")) (; ";")) (expression_statement "puStack_64 = puVar7;" (assignment_expression "puStack_64 = puVar7" (identifier "puStack_64") (= "=") (identifier "puVar7")) (; ";")) (expression_statement "premsg(auStack_c0);" (call_expression "premsg(auStack_c0)" (identifier "premsg") (argument_list "(auStack_c0)" (( "(") (identifier "auStack_c0") () ")"))) (; ";")) (expression_statement "(**(code **)(puStack_d0 + -0x7614))(*(int *)(puStack_d0 + -0x7fc0) + -0x605c,1,0xd,*puVar8);" (call_expression "(**(code **)(puStack_d0 + -0x7614))(*(int *)(puStack_d0 + -0x7fc0) + -0x605c,1,0xd,*puVar8)" (parenthesized_expression "(**(code **)(puStack_d0 + -0x7614))" (( "(") (pointer_expression "**(code **)(puStack_d0 + -0x7614)" (* "*") (pointer_expression "*(code **)(puStack_d0 + -0x7614)" (* "*") (cast_expression "(code **)(puStack_d0 + -0x7614)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_d0 + -0x7614)" (( "(") (binary_expression "puStack_d0 + -0x7614" (identifier "puStack_d0") (+ "+") (number_literal "-0x7614")) () ")"))))) () ")")) (argument_list "(*(int *)(puStack_d0 + -0x7fc0) + -0x605c,1,0xd,*puVar8)" (( "(") (binary_expression "*(int *)(puStack_d0 + -0x7fc0) + -0x605c" (pointer_expression "*(int *)(puStack_d0 + -0x7fc0)" (* "*") (cast_expression "(int *)(puStack_d0 + -0x7fc0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_d0 + -0x7fc0)" (( "(") (binary_expression "puStack_d0 + -0x7fc0" (identifier "puStack_d0") (+ "+") (number_literal "-0x7fc0")) () ")")))) (+ "+") (number_literal "-0x605c")) (, ",") (number_literal "1") (, ",") (number_literal "0xd") (, ",") (pointer_expression "*puVar8" (* "*") (identifier "puVar8")) () ")"))) (; ";")) (expression_statement "puVar7 = &uStack_68;" (assignment_expression "puVar7 = &uStack_68" (identifier "puVar7") (= "=") (pointer_expression "&uStack_68" (& "&") (identifier "uStack_68"))) (; ";")) (expression_statement "puStack_c4 = puVar7;" (assignment_expression "puStack_c4 = puVar7" (identifier "puStack_c4") (= "=") (identifier "puVar7")) (; ";")) (expression_statement "(**(code **)(puStack_d0 + -0x7584))(*puVar8,1);" (call_expression "(**(code **)(puStack_d0 + -0x7584))(*puVar8,1)" (parenthesized_expression "(**(code **)(puStack_d0 + -0x7584))" (( "(") (pointer_expression "**(code **)(puStack_d0 + -0x7584)" (* "*") (pointer_expression "*(code **)(puStack_d0 + -0x7584)" (* "*") (cast_expression "(code **)(puStack_d0 + -0x7584)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_d0 + -0x7584)" (( "(") (binary_expression "puStack_d0 + -0x7584" (identifier "puStack_d0") (+ "+") (number_literal "-0x7584")) () ")"))))) () ")")) (argument_list "(*puVar8,1)" (( "(") (pointer_expression "*puVar8" (* "*") (identifier "puVar8")) (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "uVar6 = *puVar8;" (assignment_expression "uVar6 = *puVar8" (identifier "uVar6") (= "=") (pointer_expression "*puVar8" (* "*") (identifier "puVar8"))) (; ";")) (expression_statement "(**(code **)(puStack_d0 + -0x7704))(10);" (call_expression "(**(code **)(puStack_d0 + -0x7704))(10)" (parenthesized_expression "(**(code **)(puStack_d0 + -0x7704))" (( "(") (pointer_expression "**(code **)(puStack_d0 + -0x7704)" (* "*") (pointer_expression "*(code **)(puStack_d0 + -0x7704)" (* "*") (cast_expression "(code **)(puStack_d0 + -0x7704)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_d0 + -0x7704)" (( "(") (binary_expression "puStack_d0 + -0x7704" (identifier "puStack_d0") (+ "+") (number_literal "-0x7704")) () ")"))))) () ")")) (argument_list "(10)" (( "(") (number_literal "10") () ")"))) (; ";")) (expression_statement "postmsg(auStack_c0);" (call_expression "postmsg(auStack_c0)" (identifier "postmsg") (argument_list "(auStack_c0)" (( "(") (identifier "auStack_c0") () ")"))) (; ";")) (if_statement "if (*(int *)(iVar3 + -0x1b18) != 0) {\n    (**(code **)(puStack_d0 + -0x7fa8))();\n    *(undefined4 *)(iVar3 + -0x1b18) = 0;\n  }" (if "if") (parenthesized_expression "(*(int *)(iVar3 + -0x1b18) != 0)" (( "(") (binary_expression "*(int *)(iVar3 + -0x1b18) != 0" (pointer_expression "*(int *)(iVar3 + -0x1b18)" (* "*") (cast_expression "(int *)(iVar3 + -0x1b18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + -0x1b18)" (( "(") (binary_expression "iVar3 + -0x1b18" (identifier "iVar3") (+ "+") (number_literal "-0x1b18")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    (**(code **)(puStack_d0 + -0x7fa8))();\n    *(undefined4 *)(iVar3 + -0x1b18) = 0;\n  }" ({ "{") (expression_statement "(**(code **)(puStack_d0 + -0x7fa8))();" (call_expression "(**(code **)(puStack_d0 + -0x7fa8))()" (parenthesized_expression "(**(code **)(puStack_d0 + -0x7fa8))" (( "(") (pointer_expression "**(code **)(puStack_d0 + -0x7fa8)" (* "*") (pointer_expression "*(code **)(puStack_d0 + -0x7fa8)" (* "*") (cast_expression "(code **)(puStack_d0 + -0x7fa8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_d0 + -0x7fa8)" (( "(") (binary_expression "puStack_d0 + -0x7fa8" (identifier "puStack_d0") (+ "+") (number_literal "-0x7fa8")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(iVar3 + -0x1b18) = 0;" (assignment_expression "*(undefined4 *)(iVar3 + -0x1b18) = 0" (pointer_expression "*(undefined4 *)(iVar3 + -0x1b18)" (* "*") (cast_expression "(undefined4 *)(iVar3 + -0x1b18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + -0x1b18)" (( "(") (binary_expression "iVar3 + -0x1b18" (identifier "iVar3") (+ "+") (number_literal "-0x1b18")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" (identifier "uVar4") (= "=") (number_literal "1")) (; ";")) (expression_statement "cleanup_exit(1);" (call_expression "cleanup_exit(1)" (identifier "cleanup_exit") (argument_list "(1)" (( "(") (number_literal "1") () ")"))) (; ";")) (if_statement "if (iStack_8c == *piVar10) {\n    return *piVar10;\n  }" (if "if") (parenthesized_expression "(iStack_8c == *piVar10)" (( "(") (binary_expression "iStack_8c == *piVar10" (identifier "iStack_8c") (== "==") (pointer_expression "*piVar10" (* "*") (identifier "piVar10"))) () ")")) (compound_statement "{\n    return *piVar10;\n  }" ({ "{") (return_statement "return *piVar10;" (return "return") (pointer_expression "*piVar10" (* "*") (identifier "piVar10")) (; ";")) (} "}"))) (expression_statement "pcVar12 = *(code **)(puStack_d0 + -0x75ec);" (assignment_expression "pcVar12 = *(code **)(puStack_d0 + -0x75ec)" (identifier "pcVar12") (= "=") (pointer_expression "*(code **)(puStack_d0 + -0x75ec)" (* "*") (cast_expression "(code **)(puStack_d0 + -0x75ec)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_d0 + -0x75ec)" (( "(") (binary_expression "puStack_d0 + -0x75ec" (identifier "puStack_d0") (+ "+") (number_literal "-0x75ec")) () ")"))))) (; ";")) (expression_statement "pcVar13 = cmdline_error;" (assignment_expression "pcVar13 = cmdline_error" (identifier "pcVar13") (= "=") (identifier "cmdline_error")) (; ";")) (expression_statement "(*pcVar12)();" (call_expression "(*pcVar12)()" (parenthesized_expression "(*pcVar12)" (( "(") (pointer_expression "*pcVar12" (* "*") (identifier "pcVar12")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uStack_f4 = **(undefined4 **)(pcVar12 + 0x2da9c);" (assignment_expression "uStack_f4 = **(undefined4 **)(pcVar12 + 0x2da9c)" (identifier "uStack_f4") (= "=") (pointer_expression "**(undefined4 **)(pcVar12 + 0x2da9c)" (* "*") (pointer_expression "*(undefined4 **)(pcVar12 + 0x2da9c)" (* "*") (cast_expression "(undefined4 **)(pcVar12 + 0x2da9c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar12 + 0x2da9c)" (( "(") (binary_expression "pcVar12 + 0x2da9c" (identifier "pcVar12") (+ "+") (number_literal "0x2da9c")) () ")")))))) (; ";")) (expression_statement "puVar9 = *(undefined4 **)(pcVar12 + 0x2dab8);" (assignment_expression "puVar9 = *(undefined4 **)(pcVar12 + 0x2dab8)" (identifier "puVar9") (= "=") (pointer_expression "*(undefined4 **)(pcVar12 + 0x2dab8)" (* "*") (cast_expression "(undefined4 **)(pcVar12 + 0x2dab8)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar12 + 0x2dab8)" (( "(") (binary_expression "pcVar12 + 0x2dab8" (identifier "pcVar12") (+ "+") (number_literal "0x2dab8")) () ")"))))) (; ";")) (expression_statement "puStack_f0 = auStack_c0;" (assignment_expression "puStack_f0 = auStack_c0" (identifier "puStack_f0") (= "=") (identifier "auStack_c0")) (; ";")) (expression_statement "puStack_ec = puVar8;" (assignment_expression "puStack_ec = puVar8" (identifier "puStack_ec") (= "=") (identifier "puVar8")) (; ";")) (expression_statement "piStack_e8 = piVar10;" (assignment_expression "piStack_e8 = piVar10" (identifier "piStack_e8") (= "=") (identifier "piVar10")) (; ";")) (expression_statement "pcStack_e4 = pcVar13;" (assignment_expression "pcStack_e4 = pcVar13" (identifier "pcStack_e4") (= "=") (identifier "pcVar13")) (; ";")) (expression_statement "uStack_dc = uVar6;" (assignment_expression "uStack_dc = uVar6" (identifier "uStack_dc") (= "=") (identifier "uVar6")) (; ";")) (expression_statement "uStack_d8 = uVar5;" (assignment_expression "uStack_d8 = uVar5" (identifier "uStack_d8") (= "=") (identifier "uVar5")) (; ";")) (expression_statement "puStack_d4 = puVar7;" (assignment_expression "puStack_d4 = puVar7" (identifier "puStack_d4") (= "=") (identifier "puVar7")) (; ";")) (expression_statement "premsg(auStack_128);" (call_expression "premsg(auStack_128)" (identifier "premsg") (argument_list "(auStack_128)" (( "(") (identifier "auStack_128") () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar12 + 0x2da44))(*(int *)(pcVar12 + 0x2d098) + -0x6044,1,7,*puVar9);" (call_expression "(**(code **)(pcVar12 + 0x2da44))(*(int *)(pcVar12 + 0x2d098) + -0x6044,1,7,*puVar9)" (parenthesized_expression "(**(code **)(pcVar12 + 0x2da44))" (( "(") (pointer_expression "**(code **)(pcVar12 + 0x2da44)" (* "*") (pointer_expression "*(code **)(pcVar12 + 0x2da44)" (* "*") (cast_expression "(code **)(pcVar12 + 0x2da44)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar12 + 0x2da44)" (( "(") (binary_expression "pcVar12 + 0x2da44" (identifier "pcVar12") (+ "+") (number_literal "0x2da44")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar12 + 0x2d098) + -0x6044,1,7,*puVar9)" (( "(") (binary_expression "*(int *)(pcVar12 + 0x2d098) + -0x6044" (pointer_expression "*(int *)(pcVar12 + 0x2d098)" (* "*") (cast_expression "(int *)(pcVar12 + 0x2d098)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar12 + 0x2d098)" (( "(") (binary_expression "pcVar12 + 0x2d098" (identifier "pcVar12") (+ "+") (number_literal "0x2d098")) () ")")))) (+ "+") (number_literal "-0x6044")) (, ",") (number_literal "1") (, ",") (number_literal "7") (, ",") (pointer_expression "*puVar9" (* "*") (identifier "puVar9")) () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar12 + 0x2dad4))(*puVar9,1,uVar4,&uStack_dc);" (call_expression "(**(code **)(pcVar12 + 0x2dad4))(*puVar9,1,uVar4,&uStack_dc)" (parenthesized_expression "(**(code **)(pcVar12 + 0x2dad4))" (( "(") (pointer_expression "**(code **)(pcVar12 + 0x2dad4)" (* "*") (pointer_expression "*(code **)(pcVar12 + 0x2dad4)" (* "*") (cast_expression "(code **)(pcVar12 + 0x2dad4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar12 + 0x2dad4)" (( "(") (binary_expression "pcVar12 + 0x2dad4" (identifier "pcVar12") (+ "+") (number_literal "0x2dad4")) () ")"))))) () ")")) (argument_list "(*puVar9,1,uVar4,&uStack_dc)" (( "(") (pointer_expression "*puVar9" (* "*") (identifier "puVar9")) (, ",") (number_literal "1") (, ",") (identifier "uVar4") (, ",") (pointer_expression "&uStack_dc" (& "&") (identifier "uStack_dc")) () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar12 + 0x2d954))(10,*puVar9);" (call_expression "(**(code **)(pcVar12 + 0x2d954))(10,*puVar9)" (parenthesized_expression "(**(code **)(pcVar12 + 0x2d954))" (( "(") (pointer_expression "**(code **)(pcVar12 + 0x2d954)" (* "*") (pointer_expression "*(code **)(pcVar12 + 0x2d954)" (* "*") (cast_expression "(code **)(pcVar12 + 0x2d954)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar12 + 0x2d954)" (( "(") (binary_expression "pcVar12 + 0x2d954" (identifier "pcVar12") (+ "+") (number_literal "0x2d954")) () ")"))))) () ")")) (argument_list "(10,*puVar9)" (( "(") (number_literal "10") (, ",") (pointer_expression "*puVar9" (* "*") (identifier "puVar9")) () ")"))) (; ";")) (expression_statement "postmsg(auStack_128);" (call_expression "postmsg(auStack_128)" (identifier "postmsg") (argument_list "(auStack_128)" (( "(") (identifier "auStack_128") () ")"))) (; ";")) (expression_statement "pcVar12 = *(code **)(pcVar12 + 0x2da10);" (assignment_expression "pcVar12 = *(code **)(pcVar12 + 0x2da10)" (identifier "pcVar12") (= "=") (pointer_expression "*(code **)(pcVar12 + 0x2da10)" (* "*") (cast_expression "(code **)(pcVar12 + 0x2da10)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar12 + 0x2da10)" (( "(") (binary_expression "pcVar12 + 0x2da10" (identifier "pcVar12") (+ "+") (number_literal "0x2da10")) () ")"))))) (; ";")) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" (identifier "uVar6") (= "=") (number_literal "1")) (; ";")) (expression_statement "(*pcVar12)(1);" (call_expression "(*pcVar12)(1)" (parenthesized_expression "(*pcVar12)" (( "(") (pointer_expression "*pcVar12" (* "*") (identifier "pcVar12")) () ")")) (argument_list "(1)" (( "(") (number_literal "1") () ")"))) (; ";")) (expression_statement "iVar3 = (**(code **)(pcVar12 + 0x2da0c))();" (assignment_expression "iVar3 = (**(code **)(pcVar12 + 0x2da0c))()" (identifier "iVar3") (= "=") (call_expression "(**(code **)(pcVar12 + 0x2da0c))()" (parenthesized_expression "(**(code **)(pcVar12 + 0x2da0c))" (( "(") (pointer_expression "**(code **)(pcVar12 + 0x2da0c)" (* "*") (pointer_expression "*(code **)(pcVar12 + 0x2da0c)" (* "*") (cast_expression "(code **)(pcVar12 + 0x2da0c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar12 + 0x2da0c)" (( "(") (binary_expression "pcVar12 + 0x2da0c" (identifier "pcVar12") (+ "+") (number_literal "0x2da0c")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n    uVar6 = (**(code **)(pcVar12 + 0x2d95c))(*(int *)(pcVar12 + 0x2cfc0) + -0xa68);\n                    \n                    \n    iVar3 = (**(code **)(pcVar12 + 0x2cfd4))(uVar6);\n    return iVar3;\n  }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    uVar6 = (**(code **)(pcVar12 + 0x2d95c))(*(int *)(pcVar12 + 0x2cfc0) + -0xa68);\n                    \n                    \n    iVar3 = (**(code **)(pcVar12 + 0x2cfd4))(uVar6);\n    return iVar3;\n  }" ({ "{") (expression_statement "uVar6 = (**(code **)(pcVar12 + 0x2d95c))(*(int *)(pcVar12 + 0x2cfc0) + -0xa68);" (assignment_expression "uVar6 = (**(code **)(pcVar12 + 0x2d95c))(*(int *)(pcVar12 + 0x2cfc0) + -0xa68)" (identifier "uVar6") (= "=") (call_expression "(**(code **)(pcVar12 + 0x2d95c))(*(int *)(pcVar12 + 0x2cfc0) + -0xa68)" (parenthesized_expression "(**(code **)(pcVar12 + 0x2d95c))" (( "(") (pointer_expression "**(code **)(pcVar12 + 0x2d95c)" (* "*") (pointer_expression "*(code **)(pcVar12 + 0x2d95c)" (* "*") (cast_expression "(code **)(pcVar12 + 0x2d95c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar12 + 0x2d95c)" (( "(") (binary_expression "pcVar12 + 0x2d95c" (identifier "pcVar12") (+ "+") (number_literal "0x2d95c")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar12 + 0x2cfc0) + -0xa68)" (( "(") (binary_expression "*(int *)(pcVar12 + 0x2cfc0) + -0xa68" (pointer_expression "*(int *)(pcVar12 + 0x2cfc0)" (* "*") (cast_expression "(int *)(pcVar12 + 0x2cfc0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar12 + 0x2cfc0)" (( "(") (binary_expression "pcVar12 + 0x2cfc0" (identifier "pcVar12") (+ "+") (number_literal "0x2cfc0")) () ")")))) (+ "+") (number_literal "-0xa68")) () ")")))) (; ";")) (expression_statement "iVar3 = (**(code **)(pcVar12 + 0x2cfd4))(uVar6);" (assignment_expression "iVar3 = (**(code **)(pcVar12 + 0x2cfd4))(uVar6)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(pcVar12 + 0x2cfd4))(uVar6)" (parenthesized_expression "(**(code **)(pcVar12 + 0x2cfd4))" (( "(") (pointer_expression "**(code **)(pcVar12 + 0x2cfd4)" (* "*") (pointer_expression "*(code **)(pcVar12 + 0x2cfd4)" (* "*") (cast_expression "(code **)(pcVar12 + 0x2cfd4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar12 + 0x2cfd4)" (( "(") (binary_expression "pcVar12 + 0x2cfd4" (identifier "pcVar12") (+ "+") (number_literal "0x2cfd4")) () ")"))))) () ")")) (argument_list "(uVar6)" (( "(") (identifier "uVar6") () ")")))) (; ";")) (return_statement "return iVar3;" (return "return") (identifier "iVar3") (; ";")) (} "}"))) (expression_statement "iVar3 = (**(code **)(pcVar12 + 0x2da0c))(uVar6,*(int *)(pcVar12 + 0x2cfc0) + -0x430c);" (assignment_expression "iVar3 = (**(code **)(pcVar12 + 0x2da0c))(uVar6,*(int *)(pcVar12 + 0x2cfc0) + -0x430c)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(pcVar12 + 0x2da0c))(uVar6,*(int *)(pcVar12 + 0x2cfc0) + -0x430c)" (parenthesized_expression "(**(code **)(pcVar12 + 0x2da0c))" (( "(") (pointer_expression "**(code **)(pcVar12 + 0x2da0c)" (* "*") (pointer_expression "*(code **)(pcVar12 + 0x2da0c)" (* "*") (cast_expression "(code **)(pcVar12 + 0x2da0c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar12 + 0x2da0c)" (( "(") (binary_expression "pcVar12 + 0x2da0c" (identifier "pcVar12") (+ "+") (number_literal "0x2da0c")) () ")"))))) () ")")) (argument_list "(uVar6,*(int *)(pcVar12 + 0x2cfc0) + -0x430c)" (( "(") (identifier "uVar6") (, ",") (binary_expression "*(int *)(pcVar12 + 0x2cfc0) + -0x430c" (pointer_expression "*(int *)(pcVar12 + 0x2cfc0)" (* "*") (cast_expression "(int *)(pcVar12 + 0x2cfc0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar12 + 0x2cfc0)" (( "(") (binary_expression "pcVar12 + 0x2cfc0" (identifier "pcVar12") (+ "+") (number_literal "0x2cfc0")) () ")")))) (+ "+") (number_literal "-0x430c")) () ")")))) (; ";")) (if_statement "if (iVar3 != 0) {\n    return 0;\n  }" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    return 0;\n  }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "iVar3 = (**(code **)(pcVar12 + 0x2cfd4))(*(int *)(pcVar12 + 0x2cfc8) + -0x6030);" (assignment_expression "iVar3 = (**(code **)(pcVar12 + 0x2cfd4))(*(int *)(pcVar12 + 0x2cfc8) + -0x6030)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(pcVar12 + 0x2cfd4))(*(int *)(pcVar12 + 0x2cfc8) + -0x6030)" (parenthesized_expression "(**(code **)(pcVar12 + 0x2cfd4))" (( "(") (pointer_expression "**(code **)(pcVar12 + 0x2cfd4)" (* "*") (pointer_expression "*(code **)(pcVar12 + 0x2cfd4)" (* "*") (cast_expression "(code **)(pcVar12 + 0x2cfd4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar12 + 0x2cfd4)" (( "(") (binary_expression "pcVar12 + 0x2cfd4" (identifier "pcVar12") (+ "+") (number_literal "0x2cfd4")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar12 + 0x2cfc8) + -0x6030)" (( "(") (binary_expression "*(int *)(pcVar12 + 0x2cfc8) + -0x6030" (pointer_expression "*(int *)(pcVar12 + 0x2cfc8)" (* "*") (cast_expression "(int *)(pcVar12 + 0x2cfc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar12 + 0x2cfc8)" (( "(") (binary_expression "pcVar12 + 0x2cfc8" (identifier "pcVar12") (+ "+") (number_literal "0x2cfc8")) () ")")))) (+ "+") (number_literal "-0x6030")) () ")")))) (; ";")) (return_statement "return iVar3;" (return "return") (identifier "iVar3") (; ";")) (} "}")))

void function_1(char *p,...)

{
  type_1 *puVar1;
  type_1 *puVar2;
  int var_4;
  type_2 uVar4;
  type_2 in_a1;
  type_2 uVar5;
  type_2 uVar6;
  type_2 in_a2;
  char *pcVar7;
  type_2 in_a3;
  char **ppcVar8;
  type_2 *puVar9;
  type_2 *puVar10;
  int *piVar11;
  type_1 *var_5;
  type_3 *var_9;
  type_3 *pcVar14;
  type_2 local_res4;
  type_2 local_res8;
  type_2 local_resc;
  type_4 tStack_128;
  type_2 uStack_f4;
  type_4 *ptStack_f0;
  type_2 *puStack_ec;
  int *piStack_e8;
  type_3 *pcStack_e4;
  type_2 uStack_dc;
  type_2 uStack_d8;
  char **ppcStack_d4;
  type_1 *var_6;
  char **ppcStack_c4;
  type_4 tStack_c0;
  int var_8;
  type_4 *ptStack_88;
  type_1 *puStack_84;
  type_1 *puStack_80;
  char *pcStack_7c;
  char *pcStack_68;
  type_2 *puStack_64;
  type_5 ap;
  type_4 cf;
  
  puVar2 = PTR_stderr_000adcf0;
  puVar1 = PTR___stack_chk_guard_000adcd4;
  var_4 = *(int *)PTR___stack_chk_guard_000adcd4;
  local_res4 = in_a1;
  local_res8 = in_a2;
  local_resc = in_a3;
  var_1(&cf);
  (*(type_3 *)PTR_fwrite_000adc7c)(var_2 + -0x604c,1,7,*(type_2 *)puVar2);
  puVar10 = &local_res4;
  pcVar7 = p;
  (*(type_3 *)PTR___vfprintf_chk_000add0c)(*(type_2 *)puVar2,1);
  uVar5 = *(type_2 *)puVar2;
  (*(type_3 *)PTR_fputc_000adb8c)(10);
  var_3(&cf);
  if (var_4 == *(int *)puVar1) {
    return;
  }
  var_5 = PTR___stack_chk_fail_000adca4;
  (*(type_3 *)PTR___stack_chk_fail_000adca4)();
  var_6 = var_5 + 0x35188;
  puStack_80 = puVar1;
  piVar11 = *(int **)(var_5 + 0x2dbcc);
  puStack_84 = puVar2;
  var_8 = *piVar11;
  puVar9 = *(type_2 **)(var_5 + 0x2dbe8);
  var_4 = *(int *)(var_5 + 0x2d1b0);
  ptStack_88 = &cf;
  pcStack_7c = p;
  pcStack_68 = pcVar7;
  puStack_64 = puVar10;
  var_1(&tStack_c0);
  (**(type_3 **)(var_6 + -0x7614))(*(int *)(var_6 + -0x7fc0) + -0x605c,1,0xd,*puVar9);
  ppcVar8 = &pcStack_68;
  ppcStack_c4 = ppcVar8;
  (**(type_3 **)(var_6 + -0x7584))(*puVar9,1);
  uVar6 = *puVar9;
  (**(type_3 **)(var_6 + -0x7704))(10);
  var_3(&tStack_c0);
  if (*(int *)(var_4 + -0x1b18) != 0) {
    (**(type_3 **)(var_6 + -0x7fa8))();
    *(type_2 *)(var_4 + -0x1b18) = 0;
  }
  uVar4 = 1;
  var_7(1);
  if (var_8 == *piVar11) {
    return;
  }
  var_9 = *(type_3 **)(var_6 + -0x75ec);
  pcVar14 = cmdline_error;
  (*var_9)();
  uStack_f4 = **(type_2 **)(var_9 + 0x2da9c);
  puVar10 = *(type_2 **)(var_9 + 0x2dab8);
  ptStack_f0 = &tStack_c0;
  puStack_ec = puVar9;
  piStack_e8 = piVar11;
  pcStack_e4 = pcVar14;
  uStack_dc = uVar6;
  uStack_d8 = uVar5;
  ppcStack_d4 = ppcVar8;
  var_1(&tStack_128);
  (**(type_3 **)(var_9 + 0x2da44))(*(int *)(var_9 + 0x2d098) + -0x6044,1,7,*puVar10);
  (**(type_3 **)(var_9 + 0x2dad4))(*puVar10,1,uVar4,&uStack_dc);
  (**(type_3 **)(var_9 + 0x2d954))(10,*puVar10);
  var_3(&tStack_128);
  var_9 = *(type_3 **)(var_9 + 0x2da10);
  uVar5 = 1;
  (*var_9)(1);
  var_4 = (**(type_3 **)(var_9 + 0x2da0c))();
  if (var_4 == 0) {
    uVar5 = (**(type_3 **)(var_9 + 0x2d95c))(*(int *)(var_9 + 0x2cfc0) + -0xa68);
                    /* WARNING: Could not recover jumptable at 0x000803b0. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    (**(type_3 **)(var_9 + 0x2cfd4))(uVar5);
    return;
  }
  var_4 = (**(type_3 **)(var_9 + 0x2da0c))(uVar5,*(int *)(var_9 + 0x2cfc0) + -0x430c);
  if (var_4 != 0) {
    return;
  }
                    /* WARNING: Could not recover jumptable at 0x00080384. Too many branches */
                    /* WARNING: Treating indirect jump as call */
  (**(type_3 **)(var_9 + 0x2cfd4))(*(int *)(var_9 + 0x2cfc8) + -0x6030);
  return;
}


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

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

{
  undefined *puVar1;
  undefined *puVar2;
  int iVar3;
  undefined4 uVar4;
  undefined4 uVar5;
  undefined4 uVar6;
  undefined4 *puVar7;
  undefined4 *puVar8;
  undefined4 *puVar9;
  int *piVar10;
  undefined *puVar11;
  code *pcVar12;
  code *pcVar13;
  undefined4 local_res4;
  undefined4 local_res8;
  undefined4 local_resc;
  undefined1 auStack_128 [52];
  undefined4 uStack_f4;
  undefined1 *puStack_f0;
  undefined4 *puStack_ec;
  int *piStack_e8;
  code *pcStack_e4;
  undefined4 uStack_dc;
  undefined4 uStack_d8;
  undefined4 *puStack_d4;
  undefined *puStack_d0;
  undefined4 *puStack_c4;
  undefined1 auStack_c0 [52];
  int iStack_8c;
  undefined1 *puStack_88;
  undefined *puStack_84;
  undefined *puStack_80;
  undefined4 uStack_7c;
  undefined4 uStack_68;
  undefined4 *puStack_64;
  undefined1 auStack_50 [52];
  int local_1c;
  
  puVar2 = PTR_stderr_000adcf0;
  puVar1 = PTR___stack_chk_guard_000adcd4;
  local_1c = *(int *)PTR___stack_chk_guard_000adcd4;
  local_res4 = param_2;
  local_res8 = param_3;
  local_resc = param_4;
  premsg(auStack_50);
  (*(code *)PTR_fwrite_000adc7c)(PTR_DAT_000ad2d0 + -0x604c,1,7,*(undefined4 *)puVar2);
  puVar7 = &local_res4;
  uVar6 = param_1;
  (*(code *)PTR___vfprintf_chk_000add0c)(*(undefined4 *)puVar2,1);
  uVar5 = *(undefined4 *)puVar2;
  (*(code *)PTR_fputc_000adb8c)(10);
  postmsg(auStack_50);
  iVar3 = *(int *)puVar1;
  if (local_1c == iVar3) {
    return iVar3;
  }
  puVar11 = PTR___stack_chk_fail_000adca4;
  (*(code *)PTR___stack_chk_fail_000adca4)();
  puStack_d0 = puVar11 + 0x35188;
  puStack_80 = puVar1;
  piVar10 = *(int **)(puVar11 + 0x2dbcc);
  puStack_84 = puVar2;
  iStack_8c = *piVar10;
  puVar8 = *(undefined4 **)(puVar11 + 0x2dbe8);
  iVar3 = *(int *)(puVar11 + 0x2d1b0);
  puStack_88 = auStack_50;
  uStack_7c = param_1;
  uStack_68 = uVar6;
  puStack_64 = puVar7;
  premsg(auStack_c0);
  (**(code **)(puStack_d0 + -0x7614))(*(int *)(puStack_d0 + -0x7fc0) + -0x605c,1,0xd,*puVar8);
  puVar7 = &uStack_68;
  puStack_c4 = puVar7;
  (**(code **)(puStack_d0 + -0x7584))(*puVar8,1);
  uVar6 = *puVar8;
  (**(code **)(puStack_d0 + -0x7704))(10);
  postmsg(auStack_c0);
  if (*(int *)(iVar3 + -0x1b18) != 0) {
    (**(code **)(puStack_d0 + -0x7fa8))();
    *(undefined4 *)(iVar3 + -0x1b18) = 0;
  }
  uVar4 = 1;
  cleanup_exit(1);
  if (iStack_8c == *piVar10) {
    return *piVar10;
  }
  pcVar12 = *(code **)(puStack_d0 + -0x75ec);
  pcVar13 = cmdline_error;
  (*pcVar12)();
  uStack_f4 = **(undefined4 **)(pcVar12 + 0x2da9c);
  puVar9 = *(undefined4 **)(pcVar12 + 0x2dab8);
  puStack_f0 = auStack_c0;
  puStack_ec = puVar8;
  piStack_e8 = piVar10;
  pcStack_e4 = pcVar13;
  uStack_dc = uVar6;
  uStack_d8 = uVar5;
  puStack_d4 = puVar7;
  premsg(auStack_128);
  (**(code **)(pcVar12 + 0x2da44))(*(int *)(pcVar12 + 0x2d098) + -0x6044,1,7,*puVar9);
  (**(code **)(pcVar12 + 0x2dad4))(*puVar9,1,uVar4,&uStack_dc);
  (**(code **)(pcVar12 + 0x2d954))(10,*puVar9);
  postmsg(auStack_128);
  pcVar12 = *(code **)(pcVar12 + 0x2da10);
  uVar6 = 1;
  (*pcVar12)(1);
  iVar3 = (**(code **)(pcVar12 + 0x2da0c))();
  if (iVar3 == 0) {
    uVar6 = (**(code **)(pcVar12 + 0x2d95c))(*(int *)(pcVar12 + 0x2cfc0) + -0xa68);
                    /* WARNING: Could not recover jumptable at 0x000803b0. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    iVar3 = (**(code **)(pcVar12 + 0x2cfd4))(uVar6);
    return iVar3;
  }
  iVar3 = (**(code **)(pcVar12 + 0x2da0c))(uVar6,*(int *)(pcVar12 + 0x2cfc0) + -0x430c);
  if (iVar3 != 0) {
    return 0;
  }
                    /* WARNING: Could not recover jumptable at 0x00080384. Too many branches */
                    /* WARNING: Treating indirect jump as call */
  iVar3 = (**(code **)(pcVar12 + 0x2cfd4))(*(int *)(pcVar12 + 0x2cfc8) + -0x6030);
  return iVar3;
}

