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

int main(int argc,char **argv)

{
  undefined *puVar1;
  int iVar2;
  int iVar3;
  char *pcVar4;
  char **ppcVar5;
  int in_GS_OFFSET;
  char *apcStack_5c [2];
  undefined4 uStack_54;
  undefined1 auStack_50 [12];
  undefined4 *local_44;
  undefined4 *local_40;
  option *local_3c;
  char *local_38;
  char **local_34;
  undefined4 local_28;
  int local_24;
  int *local_18;
  undefined1 *puVar6;
  
  iVar3 = argc;
  local_18 = &argc;
  puVar6 = auStack_50;
  local_34 = argv;
  local_24 = *(int *)(in_GS_OFFSET + 0x14);
  local_3c = long_options;
  local_38 = "hqr:s:t:w:vV";
  local_44 = (undefined4 *)PTR_optarg_00013ffc;
  local_40 = local_44;
_L96:
  local_28 = 0;
  iVar2 = getopt_long(iVar3,local_34,local_38,local_3c,&local_28);
  puVar1 = PTR_optind_00013fe8;
  if (iVar2 != -1) {
    switch(iVar2) {
    case 0x56:
    case 0x71:
      goto _L96;
    default:
      goto _L109;
    case 0x68:
      uStack_54 = 0x112ed;
      usage();
      iVar3 = 0;
      puVar6 = auStack_50;
      goto LAB_000112ef;
    case 0x72:
      addread = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);
      if (addread == -1) {
        pr2serr("bad argument to \'--addrd\'\n");
        iVar3 = 1;
        puVar6 = auStack_50;
        goto LAB_000112ef;
      }
      goto _L96;
    case 0x73:
      size = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);
      if (size == -1) {
        pr2serr("bad argument to \'--size\'\n");
        iVar3 = 1;
        puVar6 = auStack_50;
        goto LAB_000112ef;
      }
      goto _L96;
    case 0x74:
      iVar2 = sg_get_num(*local_44);
      if (iVar2 == -1) {
        pr2serr("bad argument to \'--times\'\n");
        iVar3 = 1;
        puVar6 = auStack_50;
        goto LAB_000112ef;
      }
      goto _L96;
    case 0x76:
      verbose = verbose + 1;
      goto _L96;
    case 0x77:
      addwrite = sg_get_num(*local_40);
      if (addwrite == -1) {
        pr2serr("bad argument to \'--addwr\'\n");
        iVar3 = 1;
        puVar6 = auStack_50;
        goto LAB_000112ef;
      }
      goto _L96;
    }
  }
  if (*(int *)PTR_optind_00013fe8 < iVar3) {
    iVar2 = *(int *)PTR_optind_00013fe8 + 1;
    *(int *)PTR_optind_00013fe8 = iVar2;
    if (iVar2 < iVar3) {
      if (size != -1) {
LAB_00011331:
        local_38 = "Unexpected extra argument: %s\n";
        while (*(int *)puVar1 < iVar3) {
          apcStack_5c[0] = local_34[*(int *)puVar1];
          pr2serr(local_38);
          *(int *)puVar1 = *(int *)puVar1 + 1;
        }
_L109:
        uStack_54 = 0x1135d;
        usage();
        iVar3 = 1;
        puVar6 = auStack_50;
LAB_000112ef:
        while (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {
          *(undefined4 *)(puVar6 + -4) = 0x11432;
          __stack_chk_fail_local();
LAB_00011432:
          ppcVar5 = (char **)(puVar6 + -0xc);
          pcVar4 = "bad [addwr]\n";
LAB_00011415:
          *(char **)((int)ppcVar5 + -4) = pcVar4;
          *(undefined4 *)((int)ppcVar5 + -8) = 0x1141b;
          pr2serr();
          *(undefined4 *)((int)ppcVar5 + -8) = 0x11420;
          usage();
          iVar3 = 1;
          puVar6 = (undefined1 *)((int)ppcVar5 + 0xc);
        }
        return iVar3;
      }
      size = sg_get_num(local_34[iVar2]);
      if (size == -1) {
        ppcVar5 = apcStack_5c;
        pcVar4 = "bad <sz>\n";
        goto LAB_00011415;
      }
      iVar2 = *(int *)puVar1 + 1;
      *(int *)puVar1 = iVar2;
      if (iVar2 < iVar3) {
        addwrite = sg_get_num(local_34[iVar2]);
        if (addwrite == -1) goto LAB_00011432;
        iVar2 = *(int *)puVar1 + 1;
        *(int *)puVar1 = iVar2;
        if (iVar2 < iVar3) {
          addread = sg_get_num(local_34[iVar2]);
          if (addread == -1) {
            ppcVar5 = apcStack_5c;
            pcVar4 = "bad [addrd]\n";
            goto LAB_00011415;
          }
          if (*(int *)puVar1 < iVar3) goto LAB_00011331;
        }
      }
    }
  }
  pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");
  apcStack_5c[0] = "1.18 20180628";
  pr2serr("sg_test_rwbuf: version: %s\n");
  iVar3 = 0;
  puVar6 = auStack_50;
  goto LAB_000112ef;
}



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

undefined4 FUN_00011170(int param_1,int param_2)

{
  undefined *puVar1;
  int iVar2;
  int iVar3;
  undefined4 uVar4;
  char *pcVar5;
  char **ppcVar6;
  int in_GS_OFFSET;
  char *apcStack_5c [2];
  undefined *puStack_54;
  undefined1 auStack_50 [12];
  undefined4 *local_44;
  undefined4 *local_40;
  undefined **local_3c;
  char *local_38;
  int local_34;
  undefined4 local_28;
  int local_24;
  undefined4 *local_18;
  undefined1 *puVar7;
  
  iVar2 = param_1;
  local_18 = &param_1;
  puVar7 = auStack_50;
  local_34 = param_2;
  local_24 = *(int *)(in_GS_OFFSET + 0x14);
  local_3c = &PTR_DAT_00014020;
  local_38 = "hqr:s:t:w:vV";
  local_44 = (undefined4 *)PTR_optarg_00013ffc;
  local_40 = local_44;
code_r0x000111c3:
  local_28 = 0;
  iVar3 = getopt_long(iVar2,local_34,local_38,local_3c,&local_28);
  puVar1 = PTR_optind_00013fe8;
  if (iVar3 != -1) {
    switch(iVar3) {
    case 0x56:
    case 0x71:
      goto code_r0x000111c3;
    default:
      goto LAB_00011358;
    case 0x68:
      puStack_54 = &UNK_000112ed;
      FUN_00011cd0();
      uVar4 = 0;
      puVar7 = auStack_50;
      goto LAB_000112ef;
    case 0x72:
      DAT_000140bc = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);
      if (DAT_000140bc == -1) {
        pr2serr("bad argument to \'--addrd\'\n");
        uVar4 = 1;
        puVar7 = auStack_50;
        goto LAB_000112ef;
      }
      goto code_r0x000111c3;
    case 0x73:
      DAT_00014008 = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);
      if (DAT_00014008 == -1) {
        pr2serr("bad argument to \'--size\'\n");
        uVar4 = 1;
        puVar7 = auStack_50;
        goto LAB_000112ef;
      }
      goto code_r0x000111c3;
    case 0x74:
      iVar3 = sg_get_num(*local_44);
      if (iVar3 == -1) {
        pr2serr("bad argument to \'--times\'\n");
        uVar4 = 1;
        puVar7 = auStack_50;
        goto LAB_000112ef;
      }
      goto code_r0x000111c3;
    case 0x76:
      DAT_000140b8 = DAT_000140b8 + 1;
      goto code_r0x000111c3;
    case 0x77:
      DAT_000140c0 = sg_get_num(*local_40);
      if (DAT_000140c0 == -1) {
        pr2serr("bad argument to \'--addwr\'\n");
        uVar4 = 1;
        puVar7 = auStack_50;
        goto LAB_000112ef;
      }
      goto code_r0x000111c3;
    }
  }
  if (*(int *)PTR_optind_00013fe8 < iVar2) {
    iVar3 = *(int *)PTR_optind_00013fe8 + 1;
    *(int *)PTR_optind_00013fe8 = iVar3;
    if (iVar3 < iVar2) {
      if (DAT_00014008 != -1) {
LAB_00011331:
        local_38 = "Unexpected extra argument: %s\n";
        while (*(int *)puVar1 < iVar2) {
          apcStack_5c[0] = *(char **)(local_34 + *(int *)puVar1 * 4);
          pr2serr(local_38);
          *(int *)puVar1 = *(int *)puVar1 + 1;
        }
LAB_00011358:
        puStack_54 = (undefined *)0x1135d;
        FUN_00011cd0();
        uVar4 = 1;
        puVar7 = auStack_50;
LAB_000112ef:
        while (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {
          *(undefined4 *)(puVar7 + -4) = 0x11432;
          FUN_00011dd0();
LAB_00011432:
          ppcVar6 = (char **)(puVar7 + -0xc);
          pcVar5 = "bad [addwr]\n";
LAB_00011415:
          *(char **)((int)ppcVar6 + -4) = pcVar5;
          *(undefined4 *)((int)ppcVar6 + -8) = 0x1141b;
          pr2serr();
          *(undefined4 *)((int)ppcVar6 + -8) = 0x11420;
          FUN_00011cd0();
          uVar4 = 1;
          puVar7 = (undefined1 *)((int)ppcVar6 + 0xc);
        }
        return uVar4;
      }
      DAT_00014008 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));
      if (DAT_00014008 == -1) {
        ppcVar6 = apcStack_5c;
        pcVar5 = "bad <sz>\n";
        goto LAB_00011415;
      }
      iVar3 = *(int *)puVar1 + 1;
      *(int *)puVar1 = iVar3;
      if (iVar3 < iVar2) {
        DAT_000140c0 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));
        if (DAT_000140c0 == -1) goto LAB_00011432;
        iVar3 = *(int *)puVar1 + 1;
        *(int *)puVar1 = iVar3;
        if (iVar3 < iVar2) {
          DAT_000140bc = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));
          if (DAT_000140bc == -1) {
            ppcVar6 = apcStack_5c;
            pcVar5 = "bad [addrd]\n";
            goto LAB_00011415;
          }
          if (*(int *)puVar1 < iVar2) goto LAB_00011331;
        }
      }
    }
  }
  pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");
  apcStack_5c[0] = "1.18 20180628";
  pr2serr("sg_test_rwbuf: version: %s\n");
  uVar4 = 0;
  puVar7 = auStack_50;
  goto LAB_000112ef;
}


LEA ECX,[ESP + 0x4]
AND ESP,0xfffffff0
PUSH dword ptr [ECX + -0x4]
PUSH EBP
MOV EBP,ESP
PUSH EDI
PUSH ESI
LEA EDI,[EBP + -0x20]
PUSH EBX
CALL 0x00011490
ADD EBX,0x2e08
PUSH ECX
SUB ESP,0x38
MOV EAX,dword ptr [ECX + 0x4]
MOV ESI,dword ptr [ECX]
MOV dword ptr [EBP + -0x2c],EAX
MOV EAX,GS:[0x14]
MOV dword ptr [EBP + -0x1c],EAX
XOR EAX,EAX
LEA EAX,[EBX + 0x90]
MOV dword ptr [EBP + -0x34],EAX
LEA EAX,[EBX + 0xffffe61e]
MOV dword ptr [EBP + -0x30],EAX
MOV EAX,dword ptr [EBX + 0x6c]
MOV dword ptr [EBP + -0x38],EAX
MOV dword ptr [EBP + -0x3c],EAX
SUB ESP,0xc
MOV dword ptr [EBP + -0x20],0x0
PUSH EDI
PUSH dword ptr [EBP + -0x34]
PUSH dword ptr [EBP + -0x30]
PUSH dword ptr [EBP + -0x2c]
PUSH ESI
CALL 0x000110c0
ADD ESP,0x20
CMP EAX,-0x1
JZ 0x0001130b
SUB EAX,0x56
CMP EAX,0x21
JA 0x00011358
MOV EDX,dword ptr [EBX + EAX*0x4 + 0xffffe718]
ADD EDX,EBX
JMP EDX
MOV ECX,dword ptr [EBP + -0x1c]
XOR ECX,dword ptr GS:[0x14]
JNZ 0x0001142d
LEA ESP,[EBP + -0x10]
POP ECX
POP EBX
POP ESI
POP EDI
POP EBP
LEA ESP,[ECX + -0x4]
RET
MOV EDI,dword ptr [EBX + 0x58]
MOV EAX,dword ptr [EDI]
CMP EAX,ESI
JGE 0x000113de
ADD EAX,0x1
MOV dword ptr [EDI],EAX
CMP EAX,ESI
JGE 0x000113de
CMP dword ptr [EBX + 0x78],-0x1
JZ 0x00011364
LEA EAX,[EBX + 0xffffe52c]
MOV dword ptr [EBP + -0x30],EAX
JMP 0x00011352
PUSH ECX
PUSH ECX
MOV ECX,dword ptr [EBP + -0x2c]
PUSH dword ptr [ECX + EAX*0x4]
PUSH dword ptr [EBP + -0x30]
CALL 0x00011070
ADD dword ptr [EDI],0x1
ADD ESP,0x10
MOV EAX,dword ptr [EDI]
CMP EAX,ESI
JL 0x0001133c
CALL 0x00011cd0
MOV EAX,0x1
JMP 0x000112ef
MOV ECX,dword ptr [EBP + -0x2c]
SUB ESP,0xc
PUSH dword ptr [ECX + EAX*0x4]
CALL 0x00011130
ADD ESP,0x10
MOV dword ptr [EBX + 0x78],EAX
ADD EAX,0x1
JZ 0x0001140c
MOV EAX,dword ptr [EDI]
ADD EAX,0x1
MOV dword ptr [EDI],EAX
CMP EAX,ESI
JGE 0x000113de
MOV ECX,dword ptr [EBP + -0x2c]
SUB ESP,0xc
PUSH dword ptr [ECX + EAX*0x4]
CALL 0x00011130
ADD ESP,0x10
MOV dword ptr [EBX + 0x130],EAX
ADD EAX,0x1
JZ 0x00011432
MOV EAX,dword ptr [EDI]
ADD EAX,0x1
MOV dword ptr [EDI],EAX
CMP EAX,ESI
JGE 0x000113de
MOV ECX,dword ptr [EBP + -0x2c]
SUB ESP,0xc
PUSH dword ptr [ECX + EAX*0x4]
CALL 0x00011130
ADD ESP,0x10
MOV dword ptr [EBX + 0x12c],EAX
ADD EAX,0x1
JZ 0x0001143d
CMP dword ptr [EDI],ESI
JL 0x00011331
SUB ESP,0xc
LEA EAX,[EBX + 0xffffe54c]
PUSH EAX
CALL 0x00011070
POP EAX
LEA EAX,[EBX + 0xffffe6ba]
POP EDX
PUSH EAX
LEA EAX,[EBX + 0xffffe6c8]
PUSH EAX
CALL 0x00011070
ADD ESP,0x10
XOR EAX,EAX
JMP 0x000112ef
SUB ESP,0xc
LEA EAX,[EBX + 0xffffe696]
PUSH EAX
CALL 0x00011070
CALL 0x00011cd0
ADD ESP,0x10
MOV EAX,0x1
JMP 0x000112ef
CALL 0x00011dd0
SUB ESP,0xc
LEA EAX,[EBX + 0xffffe6a0]
JMP 0x00011415
SUB ESP,0xc
LEA EAX,[EBX + 0xffffe6ad]
JMP 0x00011415
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nundefined4 FUN_00011170(int param_1,int param_2)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  undefined4 uVar4;\n  char *pcVar5;\n  char **ppcVar6;\n  int in_GS_OFFSET;\n  char *apcStack_5c [2];\n  undefined *puStack_54;\n  undefined1 auStack_50 [12];\n  undefined4 *local_44;\n  undefined4 *local_40;\n  undefined **local_3c;\n  char *local_38;\n  int local_34;\n  undefined4 local_28;\n  int local_24;\n  undefined4 *local_18;\n  undefined1 *puVar7;\n  \n  iVar2 = param_1;\n  local_18 = &param_1;\n  puVar7 = auStack_50;\n  local_34 = param_2;\n  local_24 = *(int *)(in_GS_OFFSET + 0x14);\n  local_3c = &PTR_DAT_00014020;\n  local_38 = "hqr:s:t:w:vV";\n  local_44 = (undefined4 *)PTR_optarg_00013ffc;\n  local_40 = local_44;\ncode_r0x000111c3:\n  local_28 = 0;\n  iVar3 = getopt_long(iVar2,local_34,local_38,local_3c,&local_28);\n  puVar1 = PTR_optind_00013fe8;\n  if (iVar3 != -1) {\n    switch(iVar3) {\n    case 0x56:\n    case 0x71:\n      goto code_r0x000111c3;\n    default:\n      goto LAB_00011358;\n    case 0x68:\n      puStack_54 = &UNK_000112ed;\n      FUN_00011cd0();\n      uVar4 = 0;\n      puVar7 = auStack_50;\n      goto LAB_000112ef;\n    case 0x72:\n      DAT_000140bc = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (DAT_000140bc == -1) {\n        pr2serr("bad argument to \'--addrd\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x73:\n      DAT_00014008 = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (DAT_00014008 == -1) {\n        pr2serr("bad argument to \'--size\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x74:\n      iVar3 = sg_get_num(*local_44);\n      if (iVar3 == -1) {\n        pr2serr("bad argument to \'--times\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x76:\n      DAT_000140b8 = DAT_000140b8 + 1;\n      goto code_r0x000111c3;\n    case 0x77:\n      DAT_000140c0 = sg_get_num(*local_40);\n      if (DAT_000140c0 == -1) {\n        pr2serr("bad argument to \'--addwr\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    }\n  }\n  if (*(int *)PTR_optind_00013fe8 < iVar2) {\n    iVar3 = *(int *)PTR_optind_00013fe8 + 1;\n    *(int *)PTR_optind_00013fe8 = iVar3;\n    if (iVar3 < iVar2) {\n      if (DAT_00014008 != -1) {\nLAB_00011331:\n        local_38 = "Unexpected extra argument: %s\n";\n        while (*(int *)puVar1 < iVar2) {\n          apcStack_5c[0] = *(char **)(local_34 + *(int *)puVar1 * 4);\n          pr2serr(local_38);\n          *(int *)puVar1 = *(int *)puVar1 + 1;\n        }\nLAB_00011358:\n        puStack_54 = (undefined *)0x1135d;\n        FUN_00011cd0();\n        uVar4 = 1;\n        puVar7 = auStack_50;\nLAB_000112ef:\n        while (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n          *(undefined4 *)(puVar7 + -4) = 0x11432;\n          FUN_00011dd0();\nLAB_00011432:\n          ppcVar6 = (char **)(puVar7 + -0xc);\n          pcVar5 = "bad [addwr]\n";\nLAB_00011415:\n          *(char **)((int)ppcVar6 + -4) = pcVar5;\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x1141b;\n          pr2serr();\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x11420;\n          FUN_00011cd0();\n          uVar4 = 1;\n          puVar7 = (undefined1 *)((int)ppcVar6 + 0xc);\n        }\n        return uVar4;\n      }\n      DAT_00014008 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n      if (DAT_00014008 == -1) {\n        ppcVar6 = apcStack_5c;\n        pcVar5 = "bad <sz>\n";\n        goto LAB_00011415;\n      }\n      iVar3 = *(int *)puVar1 + 1;\n      *(int *)puVar1 = iVar3;\n      if (iVar3 < iVar2) {\n        DAT_000140c0 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n        if (DAT_000140c0 == -1) goto LAB_00011432;\n        iVar3 = *(int *)puVar1 + 1;\n        *(int *)puVar1 = iVar3;\n        if (iVar3 < iVar2) {\n          DAT_000140bc = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n          if (DAT_000140bc == -1) {\n            ppcVar6 = apcStack_5c;\n            pcVar5 = "bad [addrd]\n";\n            goto LAB_00011415;\n          }\n          if (*(int *)puVar1 < iVar2) goto LAB_00011331;\n        }\n      }\n    }\n  }\n  pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\n  apcStack_5c[0] = "1.18 20180628";\n  pr2serr("sg_test_rwbuf: version: %s\n");\n  uVar4 = 0;\n  puVar7 = auStack_50;\n  goto LAB_000112ef;\n}\n\n" comment (function_definition "undefined4 FUN_00011170(int param_1,int param_2)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  undefined4 uVar4;\n  char *pcVar5;\n  char **ppcVar6;\n  int in_GS_OFFSET;\n  char *apcStack_5c [2];\n  undefined *puStack_54;\n  undefined1 auStack_50 [12];\n  undefined4 *local_44;\n  undefined4 *local_40;\n  undefined **local_3c;\n  char *local_38;\n  int local_34;\n  undefined4 local_28;\n  int local_24;\n  undefined4 *local_18;\n  undefined1 *puVar7;\n  \n  iVar2 = param_1;\n  local_18 = &param_1;\n  puVar7 = auStack_50;\n  local_34 = param_2;\n  local_24 = *(int *)(in_GS_OFFSET + 0x14);\n  local_3c = &PTR_DAT_00014020;\n  local_38 = "hqr:s:t:w:vV";\n  local_44 = (undefined4 *)PTR_optarg_00013ffc;\n  local_40 = local_44;\ncode_r0x000111c3:\n  local_28 = 0;\n  iVar3 = getopt_long(iVar2,local_34,local_38,local_3c,&local_28);\n  puVar1 = PTR_optind_00013fe8;\n  if (iVar3 != -1) {\n    switch(iVar3) {\n    case 0x56:\n    case 0x71:\n      goto code_r0x000111c3;\n    default:\n      goto LAB_00011358;\n    case 0x68:\n      puStack_54 = &UNK_000112ed;\n      FUN_00011cd0();\n      uVar4 = 0;\n      puVar7 = auStack_50;\n      goto LAB_000112ef;\n    case 0x72:\n      DAT_000140bc = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (DAT_000140bc == -1) {\n        pr2serr("bad argument to \'--addrd\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x73:\n      DAT_00014008 = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (DAT_00014008 == -1) {\n        pr2serr("bad argument to \'--size\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x74:\n      iVar3 = sg_get_num(*local_44);\n      if (iVar3 == -1) {\n        pr2serr("bad argument to \'--times\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x76:\n      DAT_000140b8 = DAT_000140b8 + 1;\n      goto code_r0x000111c3;\n    case 0x77:\n      DAT_000140c0 = sg_get_num(*local_40);\n      if (DAT_000140c0 == -1) {\n        pr2serr("bad argument to \'--addwr\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    }\n  }\n  if (*(int *)PTR_optind_00013fe8 < iVar2) {\n    iVar3 = *(int *)PTR_optind_00013fe8 + 1;\n    *(int *)PTR_optind_00013fe8 = iVar3;\n    if (iVar3 < iVar2) {\n      if (DAT_00014008 != -1) {\nLAB_00011331:\n        local_38 = "Unexpected extra argument: %s\n";\n        while (*(int *)puVar1 < iVar2) {\n          apcStack_5c[0] = *(char **)(local_34 + *(int *)puVar1 * 4);\n          pr2serr(local_38);\n          *(int *)puVar1 = *(int *)puVar1 + 1;\n        }\nLAB_00011358:\n        puStack_54 = (undefined *)0x1135d;\n        FUN_00011cd0();\n        uVar4 = 1;\n        puVar7 = auStack_50;\nLAB_000112ef:\n        while (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n          *(undefined4 *)(puVar7 + -4) = 0x11432;\n          FUN_00011dd0();\nLAB_00011432:\n          ppcVar6 = (char **)(puVar7 + -0xc);\n          pcVar5 = "bad [addwr]\n";\nLAB_00011415:\n          *(char **)((int)ppcVar6 + -4) = pcVar5;\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x1141b;\n          pr2serr();\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x11420;\n          FUN_00011cd0();\n          uVar4 = 1;\n          puVar7 = (undefined1 *)((int)ppcVar6 + 0xc);\n        }\n        return uVar4;\n      }\n      DAT_00014008 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n      if (DAT_00014008 == -1) {\n        ppcVar6 = apcStack_5c;\n        pcVar5 = "bad <sz>\n";\n        goto LAB_00011415;\n      }\n      iVar3 = *(int *)puVar1 + 1;\n      *(int *)puVar1 = iVar3;\n      if (iVar3 < iVar2) {\n        DAT_000140c0 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n        if (DAT_000140c0 == -1) goto LAB_00011432;\n        iVar3 = *(int *)puVar1 + 1;\n        *(int *)puVar1 = iVar3;\n        if (iVar3 < iVar2) {\n          DAT_000140bc = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n          if (DAT_000140bc == -1) {\n            ppcVar6 = apcStack_5c;\n            pcVar5 = "bad [addrd]\n";\n            goto LAB_00011415;\n          }\n          if (*(int *)puVar1 < iVar2) goto LAB_00011331;\n        }\n      }\n    }\n  }\n  pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\n  apcStack_5c[0] = "1.18 20180628";\n  pr2serr("sg_test_rwbuf: version: %s\n");\n  uVar4 = 0;\n  puVar7 = auStack_50;\n  goto LAB_000112ef;\n}" type_identifier (function_declarator "FUN_00011170(int param_1,int param_2)" identifier (parameter_list "(int param_1,int param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  undefined4 uVar4;\n  char *pcVar5;\n  char **ppcVar6;\n  int in_GS_OFFSET;\n  char *apcStack_5c [2];\n  undefined *puStack_54;\n  undefined1 auStack_50 [12];\n  undefined4 *local_44;\n  undefined4 *local_40;\n  undefined **local_3c;\n  char *local_38;\n  int local_34;\n  undefined4 local_28;\n  int local_24;\n  undefined4 *local_18;\n  undefined1 *puVar7;\n  \n  iVar2 = param_1;\n  local_18 = &param_1;\n  puVar7 = auStack_50;\n  local_34 = param_2;\n  local_24 = *(int *)(in_GS_OFFSET + 0x14);\n  local_3c = &PTR_DAT_00014020;\n  local_38 = "hqr:s:t:w:vV";\n  local_44 = (undefined4 *)PTR_optarg_00013ffc;\n  local_40 = local_44;\ncode_r0x000111c3:\n  local_28 = 0;\n  iVar3 = getopt_long(iVar2,local_34,local_38,local_3c,&local_28);\n  puVar1 = PTR_optind_00013fe8;\n  if (iVar3 != -1) {\n    switch(iVar3) {\n    case 0x56:\n    case 0x71:\n      goto code_r0x000111c3;\n    default:\n      goto LAB_00011358;\n    case 0x68:\n      puStack_54 = &UNK_000112ed;\n      FUN_00011cd0();\n      uVar4 = 0;\n      puVar7 = auStack_50;\n      goto LAB_000112ef;\n    case 0x72:\n      DAT_000140bc = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (DAT_000140bc == -1) {\n        pr2serr("bad argument to \'--addrd\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x73:\n      DAT_00014008 = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (DAT_00014008 == -1) {\n        pr2serr("bad argument to \'--size\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x74:\n      iVar3 = sg_get_num(*local_44);\n      if (iVar3 == -1) {\n        pr2serr("bad argument to \'--times\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x76:\n      DAT_000140b8 = DAT_000140b8 + 1;\n      goto code_r0x000111c3;\n    case 0x77:\n      DAT_000140c0 = sg_get_num(*local_40);\n      if (DAT_000140c0 == -1) {\n        pr2serr("bad argument to \'--addwr\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    }\n  }\n  if (*(int *)PTR_optind_00013fe8 < iVar2) {\n    iVar3 = *(int *)PTR_optind_00013fe8 + 1;\n    *(int *)PTR_optind_00013fe8 = iVar3;\n    if (iVar3 < iVar2) {\n      if (DAT_00014008 != -1) {\nLAB_00011331:\n        local_38 = "Unexpected extra argument: %s\n";\n        while (*(int *)puVar1 < iVar2) {\n          apcStack_5c[0] = *(char **)(local_34 + *(int *)puVar1 * 4);\n          pr2serr(local_38);\n          *(int *)puVar1 = *(int *)puVar1 + 1;\n        }\nLAB_00011358:\n        puStack_54 = (undefined *)0x1135d;\n        FUN_00011cd0();\n        uVar4 = 1;\n        puVar7 = auStack_50;\nLAB_000112ef:\n        while (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n          *(undefined4 *)(puVar7 + -4) = 0x11432;\n          FUN_00011dd0();\nLAB_00011432:\n          ppcVar6 = (char **)(puVar7 + -0xc);\n          pcVar5 = "bad [addwr]\n";\nLAB_00011415:\n          *(char **)((int)ppcVar6 + -4) = pcVar5;\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x1141b;\n          pr2serr();\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x11420;\n          FUN_00011cd0();\n          uVar4 = 1;\n          puVar7 = (undefined1 *)((int)ppcVar6 + 0xc);\n        }\n        return uVar4;\n      }\n      DAT_00014008 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n      if (DAT_00014008 == -1) {\n        ppcVar6 = apcStack_5c;\n        pcVar5 = "bad <sz>\n";\n        goto LAB_00011415;\n      }\n      iVar3 = *(int *)puVar1 + 1;\n      *(int *)puVar1 = iVar3;\n      if (iVar3 < iVar2) {\n        DAT_000140c0 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n        if (DAT_000140c0 == -1) goto LAB_00011432;\n        iVar3 = *(int *)puVar1 + 1;\n        *(int *)puVar1 = iVar3;\n        if (iVar3 < iVar2) {\n          DAT_000140bc = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n          if (DAT_000140bc == -1) {\n            ppcVar6 = apcStack_5c;\n            pcVar5 = "bad [addrd]\n";\n            goto LAB_00011415;\n          }\n          if (*(int *)puVar1 < iVar2) goto LAB_00011331;\n        }\n      }\n    }\n  }\n  pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\n  apcStack_5c[0] = "1.18 20180628";\n  pr2serr("sg_test_rwbuf: version: %s\n");\n  uVar4 = 0;\n  puVar7 = auStack_50;\n  goto LAB_000112ef;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "char **ppcVar6;" primitive_type (pointer_declarator "**ppcVar6" * (pointer_declarator "*ppcVar6" * identifier)) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "char *apcStack_5c [2];" primitive_type (pointer_declarator "*apcStack_5c [2]" * (array_declarator "apcStack_5c [2]" identifier [ number_literal ])) ;) (declaration "undefined *puStack_54;" type_identifier (pointer_declarator "*puStack_54" * identifier) ;) (declaration "undefined1 auStack_50 [12];" type_identifier (array_declarator "auStack_50 [12]" identifier [ number_literal ]) ;) (declaration "undefined4 *local_44;" type_identifier (pointer_declarator "*local_44" * identifier) ;) (declaration "undefined4 *local_40;" type_identifier (pointer_declarator "*local_40" * identifier) ;) (declaration "undefined **local_3c;" type_identifier (pointer_declarator "**local_3c" * (pointer_declarator "*local_3c" * identifier)) ;) (declaration "char *local_38;" primitive_type (pointer_declarator "*local_38" * identifier) ;) (declaration "int local_34;" primitive_type identifier ;) (declaration "undefined4 local_28;" type_identifier identifier ;) (declaration "int local_24;" primitive_type identifier ;) (declaration "undefined4 *local_18;" type_identifier (pointer_declarator "*local_18" * identifier) ;) (declaration "undefined1 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (expression_statement "iVar2 = param_1;" (assignment_expression "iVar2 = param_1" identifier = identifier) ;) (expression_statement "local_18 = &param_1;" (assignment_expression "local_18 = &param_1" identifier = (pointer_expression "&param_1" & identifier)) ;) (expression_statement "puVar7 = auStack_50;" (assignment_expression "puVar7 = auStack_50" identifier = identifier) ;) (expression_statement "local_34 = param_2;" (assignment_expression "local_34 = param_2" identifier = identifier) ;) (expression_statement "local_24 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_24 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "local_3c = &PTR_DAT_00014020;" (assignment_expression "local_3c = &PTR_DAT_00014020" identifier = (pointer_expression "&PTR_DAT_00014020" & identifier)) ;) (expression_statement "local_38 = "hqr:s:t:w:vV";" (assignment_expression "local_38 = "hqr:s:t:w:vV"" identifier = (string_literal ""hqr:s:t:w:vV"" " string_content ")) ;) (expression_statement "local_44 = (undefined4 *)PTR_optarg_00013ffc;" (assignment_expression "local_44 = (undefined4 *)PTR_optarg_00013ffc" identifier = (cast_expression "(undefined4 *)PTR_optarg_00013ffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_40 = local_44;" (assignment_expression "local_40 = local_44" identifier = identifier) ;) (labeled_statement "code_r0x000111c3:\n  local_28 = 0;" statement_identifier : (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;)) (expression_statement "iVar3 = getopt_long(iVar2,local_34,local_38,local_3c,&local_28);" (assignment_expression "iVar3 = getopt_long(iVar2,local_34,local_38,local_3c,&local_28)" identifier = (call_expression "getopt_long(iVar2,local_34,local_38,local_3c,&local_28)" identifier (argument_list "(iVar2,local_34,local_38,local_3c,&local_28)" ( identifier , identifier , identifier , identifier , (pointer_expression "&local_28" & identifier) )))) ;) (expression_statement "puVar1 = PTR_optind_00013fe8;" (assignment_expression "puVar1 = PTR_optind_00013fe8" identifier = identifier) ;) (if_statement "if (iVar3 != -1) {\n    switch(iVar3) {\n    case 0x56:\n    case 0x71:\n      goto code_r0x000111c3;\n    default:\n      goto LAB_00011358;\n    case 0x68:\n      puStack_54 = &UNK_000112ed;\n      FUN_00011cd0();\n      uVar4 = 0;\n      puVar7 = auStack_50;\n      goto LAB_000112ef;\n    case 0x72:\n      DAT_000140bc = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (DAT_000140bc == -1) {\n        pr2serr("bad argument to \'--addrd\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x73:\n      DAT_00014008 = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (DAT_00014008 == -1) {\n        pr2serr("bad argument to \'--size\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x74:\n      iVar3 = sg_get_num(*local_44);\n      if (iVar3 == -1) {\n        pr2serr("bad argument to \'--times\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x76:\n      DAT_000140b8 = DAT_000140b8 + 1;\n      goto code_r0x000111c3;\n    case 0x77:\n      DAT_000140c0 = sg_get_num(*local_40);\n      if (DAT_000140c0 == -1) {\n        pr2serr("bad argument to \'--addwr\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    }\n  }" if (parenthesized_expression "(iVar3 != -1)" ( (binary_expression "iVar3 != -1" identifier != number_literal) )) (compound_statement "{\n    switch(iVar3) {\n    case 0x56:\n    case 0x71:\n      goto code_r0x000111c3;\n    default:\n      goto LAB_00011358;\n    case 0x68:\n      puStack_54 = &UNK_000112ed;\n      FUN_00011cd0();\n      uVar4 = 0;\n      puVar7 = auStack_50;\n      goto LAB_000112ef;\n    case 0x72:\n      DAT_000140bc = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (DAT_000140bc == -1) {\n        pr2serr("bad argument to \'--addrd\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x73:\n      DAT_00014008 = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (DAT_00014008 == -1) {\n        pr2serr("bad argument to \'--size\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x74:\n      iVar3 = sg_get_num(*local_44);\n      if (iVar3 == -1) {\n        pr2serr("bad argument to \'--times\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x76:\n      DAT_000140b8 = DAT_000140b8 + 1;\n      goto code_r0x000111c3;\n    case 0x77:\n      DAT_000140c0 = sg_get_num(*local_40);\n      if (DAT_000140c0 == -1) {\n        pr2serr("bad argument to \'--addwr\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    }\n  }" { (switch_statement "switch(iVar3) {\n    case 0x56:\n    case 0x71:\n      goto code_r0x000111c3;\n    default:\n      goto LAB_00011358;\n    case 0x68:\n      puStack_54 = &UNK_000112ed;\n      FUN_00011cd0();\n      uVar4 = 0;\n      puVar7 = auStack_50;\n      goto LAB_000112ef;\n    case 0x72:\n      DAT_000140bc = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (DAT_000140bc == -1) {\n        pr2serr("bad argument to \'--addrd\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x73:\n      DAT_00014008 = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (DAT_00014008 == -1) {\n        pr2serr("bad argument to \'--size\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x74:\n      iVar3 = sg_get_num(*local_44);\n      if (iVar3 == -1) {\n        pr2serr("bad argument to \'--times\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x76:\n      DAT_000140b8 = DAT_000140b8 + 1;\n      goto code_r0x000111c3;\n    case 0x77:\n      DAT_000140c0 = sg_get_num(*local_40);\n      if (DAT_000140c0 == -1) {\n        pr2serr("bad argument to \'--addwr\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    }" switch (parenthesized_expression "(iVar3)" ( identifier )) (compound_statement "{\n    case 0x56:\n    case 0x71:\n      goto code_r0x000111c3;\n    default:\n      goto LAB_00011358;\n    case 0x68:\n      puStack_54 = &UNK_000112ed;\n      FUN_00011cd0();\n      uVar4 = 0;\n      puVar7 = auStack_50;\n      goto LAB_000112ef;\n    case 0x72:\n      DAT_000140bc = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (DAT_000140bc == -1) {\n        pr2serr("bad argument to \'--addrd\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x73:\n      DAT_00014008 = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (DAT_00014008 == -1) {\n        pr2serr("bad argument to \'--size\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x74:\n      iVar3 = sg_get_num(*local_44);\n      if (iVar3 == -1) {\n        pr2serr("bad argument to \'--times\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x76:\n      DAT_000140b8 = DAT_000140b8 + 1;\n      goto code_r0x000111c3;\n    case 0x77:\n      DAT_000140c0 = sg_get_num(*local_40);\n      if (DAT_000140c0 == -1) {\n        pr2serr("bad argument to \'--addwr\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    }" { (case_statement "case 0x56:" case number_literal :) (case_statement "case 0x71:\n      goto code_r0x000111c3;" case number_literal : (goto_statement "goto code_r0x000111c3;" goto statement_identifier ;)) (case_statement "default:\n      goto LAB_00011358;" default : (goto_statement "goto LAB_00011358;" goto statement_identifier ;)) (case_statement "case 0x68:\n      puStack_54 = &UNK_000112ed;\n      FUN_00011cd0();\n      uVar4 = 0;\n      puVar7 = auStack_50;\n      goto LAB_000112ef;" case number_literal : (expression_statement "puStack_54 = &UNK_000112ed;" (assignment_expression "puStack_54 = &UNK_000112ed" identifier = (pointer_expression "&UNK_000112ed" & identifier)) ;) (expression_statement "FUN_00011cd0();" (call_expression "FUN_00011cd0()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" identifier = number_literal) ;) (expression_statement "puVar7 = auStack_50;" (assignment_expression "puVar7 = auStack_50" identifier = identifier) ;) (goto_statement "goto LAB_000112ef;" goto statement_identifier ;)) (case_statement "case 0x72:\n      DAT_000140bc = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (DAT_000140bc == -1) {\n        pr2serr("bad argument to \'--addrd\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;" case number_literal : (expression_statement "DAT_000140bc = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);" (assignment_expression "DAT_000140bc = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc)" identifier = (call_expression "sg_get_num(*(undefined4 *)PTR_optarg_00013ffc)" identifier (argument_list "(*(undefined4 *)PTR_optarg_00013ffc)" ( (pointer_expression "*(undefined4 *)PTR_optarg_00013ffc" * (cast_expression "(undefined4 *)PTR_optarg_00013ffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if (DAT_000140bc == -1) {\n        pr2serr("bad argument to \'--addrd\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }" if (parenthesized_expression "(DAT_000140bc == -1)" ( (binary_expression "DAT_000140bc == -1" identifier == number_literal) )) (compound_statement "{\n        pr2serr("bad argument to \'--addrd\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }" { (expression_statement "pr2serr("bad argument to \'--addrd\'\n");" (call_expression "pr2serr("bad argument to \'--addrd\'\n")" identifier (argument_list "("bad argument to \'--addrd\'\n")" ( (string_literal ""bad argument to \'--addrd\'\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") ))) ;) (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" identifier = number_literal) ;) (expression_statement "puVar7 = auStack_50;" (assignment_expression "puVar7 = auStack_50" identifier = identifier) ;) (goto_statement "goto LAB_000112ef;" goto statement_identifier ;) })) (goto_statement "goto code_r0x000111c3;" goto statement_identifier ;)) (case_statement "case 0x73:\n      DAT_00014008 = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (DAT_00014008 == -1) {\n        pr2serr("bad argument to \'--size\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;" case number_literal : (expression_statement "DAT_00014008 = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);" (assignment_expression "DAT_00014008 = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc)" identifier = (call_expression "sg_get_num(*(undefined4 *)PTR_optarg_00013ffc)" identifier (argument_list "(*(undefined4 *)PTR_optarg_00013ffc)" ( (pointer_expression "*(undefined4 *)PTR_optarg_00013ffc" * (cast_expression "(undefined4 *)PTR_optarg_00013ffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if (DAT_00014008 == -1) {\n        pr2serr("bad argument to \'--size\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }" if (parenthesized_expression "(DAT_00014008 == -1)" ( (binary_expression "DAT_00014008 == -1" identifier == number_literal) )) (compound_statement "{\n        pr2serr("bad argument to \'--size\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }" { (expression_statement "pr2serr("bad argument to \'--size\'\n");" (call_expression "pr2serr("bad argument to \'--size\'\n")" identifier (argument_list "("bad argument to \'--size\'\n")" ( (string_literal ""bad argument to \'--size\'\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") ))) ;) (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" identifier = number_literal) ;) (expression_statement "puVar7 = auStack_50;" (assignment_expression "puVar7 = auStack_50" identifier = identifier) ;) (goto_statement "goto LAB_000112ef;" goto statement_identifier ;) })) (goto_statement "goto code_r0x000111c3;" goto statement_identifier ;)) (case_statement "case 0x74:\n      iVar3 = sg_get_num(*local_44);\n      if (iVar3 == -1) {\n        pr2serr("bad argument to \'--times\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;" case number_literal : (expression_statement "iVar3 = sg_get_num(*local_44);" (assignment_expression "iVar3 = sg_get_num(*local_44)" identifier = (call_expression "sg_get_num(*local_44)" identifier (argument_list "(*local_44)" ( (pointer_expression "*local_44" * identifier) )))) ;) (if_statement "if (iVar3 == -1) {\n        pr2serr("bad argument to \'--times\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }" if (parenthesized_expression "(iVar3 == -1)" ( (binary_expression "iVar3 == -1" identifier == number_literal) )) (compound_statement "{\n        pr2serr("bad argument to \'--times\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }" { (expression_statement "pr2serr("bad argument to \'--times\'\n");" (call_expression "pr2serr("bad argument to \'--times\'\n")" identifier (argument_list "("bad argument to \'--times\'\n")" ( (string_literal ""bad argument to \'--times\'\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") ))) ;) (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" identifier = number_literal) ;) (expression_statement "puVar7 = auStack_50;" (assignment_expression "puVar7 = auStack_50" identifier = identifier) ;) (goto_statement "goto LAB_000112ef;" goto statement_identifier ;) })) (goto_statement "goto code_r0x000111c3;" goto statement_identifier ;)) (case_statement "case 0x76:\n      DAT_000140b8 = DAT_000140b8 + 1;\n      goto code_r0x000111c3;" case number_literal : (expression_statement "DAT_000140b8 = DAT_000140b8 + 1;" (assignment_expression "DAT_000140b8 = DAT_000140b8 + 1" identifier = (binary_expression "DAT_000140b8 + 1" identifier + number_literal)) ;) (goto_statement "goto code_r0x000111c3;" goto statement_identifier ;)) (case_statement "case 0x77:\n      DAT_000140c0 = sg_get_num(*local_40);\n      if (DAT_000140c0 == -1) {\n        pr2serr("bad argument to \'--addwr\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;" case number_literal : (expression_statement "DAT_000140c0 = sg_get_num(*local_40);" (assignment_expression "DAT_000140c0 = sg_get_num(*local_40)" identifier = (call_expression "sg_get_num(*local_40)" identifier (argument_list "(*local_40)" ( (pointer_expression "*local_40" * identifier) )))) ;) (if_statement "if (DAT_000140c0 == -1) {\n        pr2serr("bad argument to \'--addwr\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }" if (parenthesized_expression "(DAT_000140c0 == -1)" ( (binary_expression "DAT_000140c0 == -1" identifier == number_literal) )) (compound_statement "{\n        pr2serr("bad argument to \'--addwr\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }" { (expression_statement "pr2serr("bad argument to \'--addwr\'\n");" (call_expression "pr2serr("bad argument to \'--addwr\'\n")" identifier (argument_list "("bad argument to \'--addwr\'\n")" ( (string_literal ""bad argument to \'--addwr\'\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") ))) ;) (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" identifier = number_literal) ;) (expression_statement "puVar7 = auStack_50;" (assignment_expression "puVar7 = auStack_50" identifier = identifier) ;) (goto_statement "goto LAB_000112ef;" goto statement_identifier ;) })) (goto_statement "goto code_r0x000111c3;" goto statement_identifier ;)) })) })) (if_statement "if (*(int *)PTR_optind_00013fe8 < iVar2) {\n    iVar3 = *(int *)PTR_optind_00013fe8 + 1;\n    *(int *)PTR_optind_00013fe8 = iVar3;\n    if (iVar3 < iVar2) {\n      if (DAT_00014008 != -1) {\nLAB_00011331:\n        local_38 = "Unexpected extra argument: %s\n";\n        while (*(int *)puVar1 < iVar2) {\n          apcStack_5c[0] = *(char **)(local_34 + *(int *)puVar1 * 4);\n          pr2serr(local_38);\n          *(int *)puVar1 = *(int *)puVar1 + 1;\n        }\nLAB_00011358:\n        puStack_54 = (undefined *)0x1135d;\n        FUN_00011cd0();\n        uVar4 = 1;\n        puVar7 = auStack_50;\nLAB_000112ef:\n        while (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n          *(undefined4 *)(puVar7 + -4) = 0x11432;\n          FUN_00011dd0();\nLAB_00011432:\n          ppcVar6 = (char **)(puVar7 + -0xc);\n          pcVar5 = "bad [addwr]\n";\nLAB_00011415:\n          *(char **)((int)ppcVar6 + -4) = pcVar5;\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x1141b;\n          pr2serr();\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x11420;\n          FUN_00011cd0();\n          uVar4 = 1;\n          puVar7 = (undefined1 *)((int)ppcVar6 + 0xc);\n        }\n        return uVar4;\n      }\n      DAT_00014008 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n      if (DAT_00014008 == -1) {\n        ppcVar6 = apcStack_5c;\n        pcVar5 = "bad <sz>\n";\n        goto LAB_00011415;\n      }\n      iVar3 = *(int *)puVar1 + 1;\n      *(int *)puVar1 = iVar3;\n      if (iVar3 < iVar2) {\n        DAT_000140c0 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n        if (DAT_000140c0 == -1) goto LAB_00011432;\n        iVar3 = *(int *)puVar1 + 1;\n        *(int *)puVar1 = iVar3;\n        if (iVar3 < iVar2) {\n          DAT_000140bc = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n          if (DAT_000140bc == -1) {\n            ppcVar6 = apcStack_5c;\n            pcVar5 = "bad [addrd]\n";\n            goto LAB_00011415;\n          }\n          if (*(int *)puVar1 < iVar2) goto LAB_00011331;\n        }\n      }\n    }\n  }" if (parenthesized_expression "(*(int *)PTR_optind_00013fe8 < iVar2)" ( (binary_expression "*(int *)PTR_optind_00013fe8 < iVar2" (pointer_expression "*(int *)PTR_optind_00013fe8" * (cast_expression "(int *)PTR_optind_00013fe8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) < identifier) )) (compound_statement "{\n    iVar3 = *(int *)PTR_optind_00013fe8 + 1;\n    *(int *)PTR_optind_00013fe8 = iVar3;\n    if (iVar3 < iVar2) {\n      if (DAT_00014008 != -1) {\nLAB_00011331:\n        local_38 = "Unexpected extra argument: %s\n";\n        while (*(int *)puVar1 < iVar2) {\n          apcStack_5c[0] = *(char **)(local_34 + *(int *)puVar1 * 4);\n          pr2serr(local_38);\n          *(int *)puVar1 = *(int *)puVar1 + 1;\n        }\nLAB_00011358:\n        puStack_54 = (undefined *)0x1135d;\n        FUN_00011cd0();\n        uVar4 = 1;\n        puVar7 = auStack_50;\nLAB_000112ef:\n        while (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n          *(undefined4 *)(puVar7 + -4) = 0x11432;\n          FUN_00011dd0();\nLAB_00011432:\n          ppcVar6 = (char **)(puVar7 + -0xc);\n          pcVar5 = "bad [addwr]\n";\nLAB_00011415:\n          *(char **)((int)ppcVar6 + -4) = pcVar5;\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x1141b;\n          pr2serr();\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x11420;\n          FUN_00011cd0();\n          uVar4 = 1;\n          puVar7 = (undefined1 *)((int)ppcVar6 + 0xc);\n        }\n        return uVar4;\n      }\n      DAT_00014008 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n      if (DAT_00014008 == -1) {\n        ppcVar6 = apcStack_5c;\n        pcVar5 = "bad <sz>\n";\n        goto LAB_00011415;\n      }\n      iVar3 = *(int *)puVar1 + 1;\n      *(int *)puVar1 = iVar3;\n      if (iVar3 < iVar2) {\n        DAT_000140c0 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n        if (DAT_000140c0 == -1) goto LAB_00011432;\n        iVar3 = *(int *)puVar1 + 1;\n        *(int *)puVar1 = iVar3;\n        if (iVar3 < iVar2) {\n          DAT_000140bc = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n          if (DAT_000140bc == -1) {\n            ppcVar6 = apcStack_5c;\n            pcVar5 = "bad [addrd]\n";\n            goto LAB_00011415;\n          }\n          if (*(int *)puVar1 < iVar2) goto LAB_00011331;\n        }\n      }\n    }\n  }" { (expression_statement "iVar3 = *(int *)PTR_optind_00013fe8 + 1;" (assignment_expression "iVar3 = *(int *)PTR_optind_00013fe8 + 1" identifier = (binary_expression "*(int *)PTR_optind_00013fe8 + 1" (pointer_expression "*(int *)PTR_optind_00013fe8" * (cast_expression "(int *)PTR_optind_00013fe8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal)) ;) (expression_statement "*(int *)PTR_optind_00013fe8 = iVar3;" (assignment_expression "*(int *)PTR_optind_00013fe8 = iVar3" (pointer_expression "*(int *)PTR_optind_00013fe8" * (cast_expression "(int *)PTR_optind_00013fe8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (if_statement "if (iVar3 < iVar2) {\n      if (DAT_00014008 != -1) {\nLAB_00011331:\n        local_38 = "Unexpected extra argument: %s\n";\n        while (*(int *)puVar1 < iVar2) {\n          apcStack_5c[0] = *(char **)(local_34 + *(int *)puVar1 * 4);\n          pr2serr(local_38);\n          *(int *)puVar1 = *(int *)puVar1 + 1;\n        }\nLAB_00011358:\n        puStack_54 = (undefined *)0x1135d;\n        FUN_00011cd0();\n        uVar4 = 1;\n        puVar7 = auStack_50;\nLAB_000112ef:\n        while (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n          *(undefined4 *)(puVar7 + -4) = 0x11432;\n          FUN_00011dd0();\nLAB_00011432:\n          ppcVar6 = (char **)(puVar7 + -0xc);\n          pcVar5 = "bad [addwr]\n";\nLAB_00011415:\n          *(char **)((int)ppcVar6 + -4) = pcVar5;\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x1141b;\n          pr2serr();\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x11420;\n          FUN_00011cd0();\n          uVar4 = 1;\n          puVar7 = (undefined1 *)((int)ppcVar6 + 0xc);\n        }\n        return uVar4;\n      }\n      DAT_00014008 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n      if (DAT_00014008 == -1) {\n        ppcVar6 = apcStack_5c;\n        pcVar5 = "bad <sz>\n";\n        goto LAB_00011415;\n      }\n      iVar3 = *(int *)puVar1 + 1;\n      *(int *)puVar1 = iVar3;\n      if (iVar3 < iVar2) {\n        DAT_000140c0 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n        if (DAT_000140c0 == -1) goto LAB_00011432;\n        iVar3 = *(int *)puVar1 + 1;\n        *(int *)puVar1 = iVar3;\n        if (iVar3 < iVar2) {\n          DAT_000140bc = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n          if (DAT_000140bc == -1) {\n            ppcVar6 = apcStack_5c;\n            pcVar5 = "bad [addrd]\n";\n            goto LAB_00011415;\n          }\n          if (*(int *)puVar1 < iVar2) goto LAB_00011331;\n        }\n      }\n    }" if (parenthesized_expression "(iVar3 < iVar2)" ( (binary_expression "iVar3 < iVar2" identifier < identifier) )) (compound_statement "{\n      if (DAT_00014008 != -1) {\nLAB_00011331:\n        local_38 = "Unexpected extra argument: %s\n";\n        while (*(int *)puVar1 < iVar2) {\n          apcStack_5c[0] = *(char **)(local_34 + *(int *)puVar1 * 4);\n          pr2serr(local_38);\n          *(int *)puVar1 = *(int *)puVar1 + 1;\n        }\nLAB_00011358:\n        puStack_54 = (undefined *)0x1135d;\n        FUN_00011cd0();\n        uVar4 = 1;\n        puVar7 = auStack_50;\nLAB_000112ef:\n        while (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n          *(undefined4 *)(puVar7 + -4) = 0x11432;\n          FUN_00011dd0();\nLAB_00011432:\n          ppcVar6 = (char **)(puVar7 + -0xc);\n          pcVar5 = "bad [addwr]\n";\nLAB_00011415:\n          *(char **)((int)ppcVar6 + -4) = pcVar5;\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x1141b;\n          pr2serr();\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x11420;\n          FUN_00011cd0();\n          uVar4 = 1;\n          puVar7 = (undefined1 *)((int)ppcVar6 + 0xc);\n        }\n        return uVar4;\n      }\n      DAT_00014008 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n      if (DAT_00014008 == -1) {\n        ppcVar6 = apcStack_5c;\n        pcVar5 = "bad <sz>\n";\n        goto LAB_00011415;\n      }\n      iVar3 = *(int *)puVar1 + 1;\n      *(int *)puVar1 = iVar3;\n      if (iVar3 < iVar2) {\n        DAT_000140c0 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n        if (DAT_000140c0 == -1) goto LAB_00011432;\n        iVar3 = *(int *)puVar1 + 1;\n        *(int *)puVar1 = iVar3;\n        if (iVar3 < iVar2) {\n          DAT_000140bc = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n          if (DAT_000140bc == -1) {\n            ppcVar6 = apcStack_5c;\n            pcVar5 = "bad [addrd]\n";\n            goto LAB_00011415;\n          }\n          if (*(int *)puVar1 < iVar2) goto LAB_00011331;\n        }\n      }\n    }" { (if_statement "if (DAT_00014008 != -1) {\nLAB_00011331:\n        local_38 = "Unexpected extra argument: %s\n";\n        while (*(int *)puVar1 < iVar2) {\n          apcStack_5c[0] = *(char **)(local_34 + *(int *)puVar1 * 4);\n          pr2serr(local_38);\n          *(int *)puVar1 = *(int *)puVar1 + 1;\n        }\nLAB_00011358:\n        puStack_54 = (undefined *)0x1135d;\n        FUN_00011cd0();\n        uVar4 = 1;\n        puVar7 = auStack_50;\nLAB_000112ef:\n        while (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n          *(undefined4 *)(puVar7 + -4) = 0x11432;\n          FUN_00011dd0();\nLAB_00011432:\n          ppcVar6 = (char **)(puVar7 + -0xc);\n          pcVar5 = "bad [addwr]\n";\nLAB_00011415:\n          *(char **)((int)ppcVar6 + -4) = pcVar5;\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x1141b;\n          pr2serr();\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x11420;\n          FUN_00011cd0();\n          uVar4 = 1;\n          puVar7 = (undefined1 *)((int)ppcVar6 + 0xc);\n        }\n        return uVar4;\n      }" if (parenthesized_expression "(DAT_00014008 != -1)" ( (binary_expression "DAT_00014008 != -1" identifier != number_literal) )) (compound_statement "{\nLAB_00011331:\n        local_38 = "Unexpected extra argument: %s\n";\n        while (*(int *)puVar1 < iVar2) {\n          apcStack_5c[0] = *(char **)(local_34 + *(int *)puVar1 * 4);\n          pr2serr(local_38);\n          *(int *)puVar1 = *(int *)puVar1 + 1;\n        }\nLAB_00011358:\n        puStack_54 = (undefined *)0x1135d;\n        FUN_00011cd0();\n        uVar4 = 1;\n        puVar7 = auStack_50;\nLAB_000112ef:\n        while (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n          *(undefined4 *)(puVar7 + -4) = 0x11432;\n          FUN_00011dd0();\nLAB_00011432:\n          ppcVar6 = (char **)(puVar7 + -0xc);\n          pcVar5 = "bad [addwr]\n";\nLAB_00011415:\n          *(char **)((int)ppcVar6 + -4) = pcVar5;\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x1141b;\n          pr2serr();\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x11420;\n          FUN_00011cd0();\n          uVar4 = 1;\n          puVar7 = (undefined1 *)((int)ppcVar6 + 0xc);\n        }\n        return uVar4;\n      }" { (labeled_statement "LAB_00011331:\n        local_38 = "Unexpected extra argument: %s\n";" statement_identifier : (expression_statement "local_38 = "Unexpected extra argument: %s\n";" (assignment_expression "local_38 = "Unexpected extra argument: %s\n"" identifier = (string_literal ""Unexpected extra argument: %s\n"" " string_content escape_sequence ")) ;)) (while_statement "while (*(int *)puVar1 < iVar2) {\n          apcStack_5c[0] = *(char **)(local_34 + *(int *)puVar1 * 4);\n          pr2serr(local_38);\n          *(int *)puVar1 = *(int *)puVar1 + 1;\n        }" while (parenthesized_expression "(*(int *)puVar1 < iVar2)" ( (binary_expression "*(int *)puVar1 < iVar2" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) < identifier) )) (compound_statement "{\n          apcStack_5c[0] = *(char **)(local_34 + *(int *)puVar1 * 4);\n          pr2serr(local_38);\n          *(int *)puVar1 = *(int *)puVar1 + 1;\n        }" { (expression_statement "apcStack_5c[0] = *(char **)(local_34 + *(int *)puVar1 * 4);" (assignment_expression "apcStack_5c[0] = *(char **)(local_34 + *(int *)puVar1 * 4)" (subscript_expression "apcStack_5c[0]" identifier [ number_literal ]) = (pointer_expression "*(char **)(local_34 + *(int *)puVar1 * 4)" * (cast_expression "(char **)(local_34 + *(int *)puVar1 * 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_34 + *(int *)puVar1 * 4)" ( (binary_expression "local_34 + *(int *)puVar1 * 4" identifier + (binary_expression "*(int *)puVar1 * 4" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) * number_literal)) ))))) ;) (expression_statement "pr2serr(local_38);" (call_expression "pr2serr(local_38)" identifier (argument_list "(local_38)" ( identifier ))) ;) (expression_statement "*(int *)puVar1 = *(int *)puVar1 + 1;" (assignment_expression "*(int *)puVar1 = *(int *)puVar1 + 1" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "*(int *)puVar1 + 1" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal)) ;) })) (labeled_statement "LAB_00011358:\n        puStack_54 = (undefined *)0x1135d;" statement_identifier : (expression_statement "puStack_54 = (undefined *)0x1135d;" (assignment_expression "puStack_54 = (undefined *)0x1135d" identifier = (cast_expression "(undefined *)0x1135d" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "FUN_00011cd0();" (call_expression "FUN_00011cd0()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" identifier = number_literal) ;) (expression_statement "puVar7 = auStack_50;" (assignment_expression "puVar7 = auStack_50" identifier = identifier) ;) (labeled_statement "LAB_000112ef:\n        while (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n          *(undefined4 *)(puVar7 + -4) = 0x11432;\n          FUN_00011dd0();\nLAB_00011432:\n          ppcVar6 = (char **)(puVar7 + -0xc);\n          pcVar5 = "bad [addwr]\n";\nLAB_00011415:\n          *(char **)((int)ppcVar6 + -4) = pcVar5;\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x1141b;\n          pr2serr();\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x11420;\n          FUN_00011cd0();\n          uVar4 = 1;\n          puVar7 = (undefined1 *)((int)ppcVar6 + 0xc);\n        }" statement_identifier : (while_statement "while (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n          *(undefined4 *)(puVar7 + -4) = 0x11432;\n          FUN_00011dd0();\nLAB_00011432:\n          ppcVar6 = (char **)(puVar7 + -0xc);\n          pcVar5 = "bad [addwr]\n";\nLAB_00011415:\n          *(char **)((int)ppcVar6 + -4) = pcVar5;\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x1141b;\n          pr2serr();\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x11420;\n          FUN_00011cd0();\n          uVar4 = 1;\n          puVar7 = (undefined1 *)((int)ppcVar6 + 0xc);\n        }" while (parenthesized_expression "(local_24 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_24 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n          *(undefined4 *)(puVar7 + -4) = 0x11432;\n          FUN_00011dd0();\nLAB_00011432:\n          ppcVar6 = (char **)(puVar7 + -0xc);\n          pcVar5 = "bad [addwr]\n";\nLAB_00011415:\n          *(char **)((int)ppcVar6 + -4) = pcVar5;\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x1141b;\n          pr2serr();\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x11420;\n          FUN_00011cd0();\n          uVar4 = 1;\n          puVar7 = (undefined1 *)((int)ppcVar6 + 0xc);\n        }" { (expression_statement "*(undefined4 *)(puVar7 + -4) = 0x11432;" (assignment_expression "*(undefined4 *)(puVar7 + -4) = 0x11432" (pointer_expression "*(undefined4 *)(puVar7 + -4)" * (cast_expression "(undefined4 *)(puVar7 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -4)" ( (binary_expression "puVar7 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00011dd0();" (call_expression "FUN_00011dd0()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_00011432:\n          ppcVar6 = (char **)(puVar7 + -0xc);" statement_identifier : (expression_statement "ppcVar6 = (char **)(puVar7 + -0xc);" (assignment_expression "ppcVar6 = (char **)(puVar7 + -0xc)" identifier = (cast_expression "(char **)(puVar7 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + -0xc)" ( (binary_expression "puVar7 + -0xc" identifier + number_literal) )))) ;)) (expression_statement "pcVar5 = "bad [addwr]\n";" (assignment_expression "pcVar5 = "bad [addwr]\n"" identifier = (string_literal ""bad [addwr]\n"" " string_content escape_sequence ")) ;) (labeled_statement "LAB_00011415:\n          *(char **)((int)ppcVar6 + -4) = pcVar5;" statement_identifier : (expression_statement "*(char **)((int)ppcVar6 + -4) = pcVar5;" (assignment_expression "*(char **)((int)ppcVar6 + -4) = pcVar5" (pointer_expression "*(char **)((int)ppcVar6 + -4)" * (cast_expression "(char **)((int)ppcVar6 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar6 + -4)" ( (binary_expression "(int)ppcVar6 + -4" (cast_expression "(int)ppcVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)((int)ppcVar6 + -8) = 0x1141b;" (assignment_expression "*(undefined4 *)((int)ppcVar6 + -8) = 0x1141b" (pointer_expression "*(undefined4 *)((int)ppcVar6 + -8)" * (cast_expression "(undefined4 *)((int)ppcVar6 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppcVar6 + -8)" ( (binary_expression "(int)ppcVar6 + -8" (cast_expression "(int)ppcVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pr2serr();" (call_expression "pr2serr()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)((int)ppcVar6 + -8) = 0x11420;" (assignment_expression "*(undefined4 *)((int)ppcVar6 + -8) = 0x11420" (pointer_expression "*(undefined4 *)((int)ppcVar6 + -8)" * (cast_expression "(undefined4 *)((int)ppcVar6 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppcVar6 + -8)" ( (binary_expression "(int)ppcVar6 + -8" (cast_expression "(int)ppcVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00011cd0();" (call_expression "FUN_00011cd0()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" identifier = number_literal) ;) (expression_statement "puVar7 = (undefined1 *)((int)ppcVar6 + 0xc);" (assignment_expression "puVar7 = (undefined1 *)((int)ppcVar6 + 0xc)" identifier = (cast_expression "(undefined1 *)((int)ppcVar6 + 0xc)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppcVar6 + 0xc)" ( (binary_expression "(int)ppcVar6 + 0xc" (cast_expression "(int)ppcVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }))) (return_statement "return uVar4;" return identifier ;) })) (expression_statement "DAT_00014008 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));" (assignment_expression "DAT_00014008 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4))" identifier = (call_expression "sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4))" identifier (argument_list "(*(undefined4 *)(local_34 + iVar3 * 4))" ( (pointer_expression "*(undefined4 *)(local_34 + iVar3 * 4)" * (cast_expression "(undefined4 *)(local_34 + iVar3 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_34 + iVar3 * 4)" ( (binary_expression "local_34 + iVar3 * 4" identifier + (binary_expression "iVar3 * 4" identifier * number_literal)) )))) )))) ;) (if_statement "if (DAT_00014008 == -1) {\n        ppcVar6 = apcStack_5c;\n        pcVar5 = "bad <sz>\n";\n        goto LAB_00011415;\n      }" if (parenthesized_expression "(DAT_00014008 == -1)" ( (binary_expression "DAT_00014008 == -1" identifier == number_literal) )) (compound_statement "{\n        ppcVar6 = apcStack_5c;\n        pcVar5 = "bad <sz>\n";\n        goto LAB_00011415;\n      }" { (expression_statement "ppcVar6 = apcStack_5c;" (assignment_expression "ppcVar6 = apcStack_5c" identifier = identifier) ;) (expression_statement "pcVar5 = "bad <sz>\n";" (assignment_expression "pcVar5 = "bad <sz>\n"" identifier = (string_literal ""bad <sz>\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_00011415;" goto statement_identifier ;) })) (expression_statement "iVar3 = *(int *)puVar1 + 1;" (assignment_expression "iVar3 = *(int *)puVar1 + 1" identifier = (binary_expression "*(int *)puVar1 + 1" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal)) ;) (expression_statement "*(int *)puVar1 = iVar3;" (assignment_expression "*(int *)puVar1 = iVar3" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (if_statement "if (iVar3 < iVar2) {\n        DAT_000140c0 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n        if (DAT_000140c0 == -1) goto LAB_00011432;\n        iVar3 = *(int *)puVar1 + 1;\n        *(int *)puVar1 = iVar3;\n        if (iVar3 < iVar2) {\n          DAT_000140bc = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n          if (DAT_000140bc == -1) {\n            ppcVar6 = apcStack_5c;\n            pcVar5 = "bad [addrd]\n";\n            goto LAB_00011415;\n          }\n          if (*(int *)puVar1 < iVar2) goto LAB_00011331;\n        }\n      }" if (parenthesized_expression "(iVar3 < iVar2)" ( (binary_expression "iVar3 < iVar2" identifier < identifier) )) (compound_statement "{\n        DAT_000140c0 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n        if (DAT_000140c0 == -1) goto LAB_00011432;\n        iVar3 = *(int *)puVar1 + 1;\n        *(int *)puVar1 = iVar3;\n        if (iVar3 < iVar2) {\n          DAT_000140bc = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n          if (DAT_000140bc == -1) {\n            ppcVar6 = apcStack_5c;\n            pcVar5 = "bad [addrd]\n";\n            goto LAB_00011415;\n          }\n          if (*(int *)puVar1 < iVar2) goto LAB_00011331;\n        }\n      }" { (expression_statement "DAT_000140c0 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));" (assignment_expression "DAT_000140c0 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4))" identifier = (call_expression "sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4))" identifier (argument_list "(*(undefined4 *)(local_34 + iVar3 * 4))" ( (pointer_expression "*(undefined4 *)(local_34 + iVar3 * 4)" * (cast_expression "(undefined4 *)(local_34 + iVar3 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_34 + iVar3 * 4)" ( (binary_expression "local_34 + iVar3 * 4" identifier + (binary_expression "iVar3 * 4" identifier * number_literal)) )))) )))) ;) (if_statement "if (DAT_000140c0 == -1) goto LAB_00011432;" if (parenthesized_expression "(DAT_000140c0 == -1)" ( (binary_expression "DAT_000140c0 == -1" identifier == number_literal) )) (goto_statement "goto LAB_00011432;" goto statement_identifier ;)) (expression_statement "iVar3 = *(int *)puVar1 + 1;" (assignment_expression "iVar3 = *(int *)puVar1 + 1" identifier = (binary_expression "*(int *)puVar1 + 1" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal)) ;) (expression_statement "*(int *)puVar1 = iVar3;" (assignment_expression "*(int *)puVar1 = iVar3" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (if_statement "if (iVar3 < iVar2) {\n          DAT_000140bc = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n          if (DAT_000140bc == -1) {\n            ppcVar6 = apcStack_5c;\n            pcVar5 = "bad [addrd]\n";\n            goto LAB_00011415;\n          }\n          if (*(int *)puVar1 < iVar2) goto LAB_00011331;\n        }" if (parenthesized_expression "(iVar3 < iVar2)" ( (binary_expression "iVar3 < iVar2" identifier < identifier) )) (compound_statement "{\n          DAT_000140bc = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n          if (DAT_000140bc == -1) {\n            ppcVar6 = apcStack_5c;\n            pcVar5 = "bad [addrd]\n";\n            goto LAB_00011415;\n          }\n          if (*(int *)puVar1 < iVar2) goto LAB_00011331;\n        }" { (expression_statement "DAT_000140bc = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));" (assignment_expression "DAT_000140bc = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4))" identifier = (call_expression "sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4))" identifier (argument_list "(*(undefined4 *)(local_34 + iVar3 * 4))" ( (pointer_expression "*(undefined4 *)(local_34 + iVar3 * 4)" * (cast_expression "(undefined4 *)(local_34 + iVar3 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_34 + iVar3 * 4)" ( (binary_expression "local_34 + iVar3 * 4" identifier + (binary_expression "iVar3 * 4" identifier * number_literal)) )))) )))) ;) (if_statement "if (DAT_000140bc == -1) {\n            ppcVar6 = apcStack_5c;\n            pcVar5 = "bad [addrd]\n";\n            goto LAB_00011415;\n          }" if (parenthesized_expression "(DAT_000140bc == -1)" ( (binary_expression "DAT_000140bc == -1" identifier == number_literal) )) (compound_statement "{\n            ppcVar6 = apcStack_5c;\n            pcVar5 = "bad [addrd]\n";\n            goto LAB_00011415;\n          }" { (expression_statement "ppcVar6 = apcStack_5c;" (assignment_expression "ppcVar6 = apcStack_5c" identifier = identifier) ;) (expression_statement "pcVar5 = "bad [addrd]\n";" (assignment_expression "pcVar5 = "bad [addrd]\n"" identifier = (string_literal ""bad [addrd]\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_00011415;" goto statement_identifier ;) })) (if_statement "if (*(int *)puVar1 < iVar2) goto LAB_00011331;" if (parenthesized_expression "(*(int *)puVar1 < iVar2)" ( (binary_expression "*(int *)puVar1 < iVar2" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) < identifier) )) (goto_statement "goto LAB_00011331;" goto statement_identifier ;)) })) })) })) })) (expression_statement "pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");" (call_expression "pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n")" identifier (argument_list "("Not in DEBUG mode, so \'-vV\' has no special action\n")" ( (string_literal ""Not in DEBUG mode, so \'-vV\' has no special action\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (expression_statement "apcStack_5c[0] = "1.18 20180628";" (assignment_expression "apcStack_5c[0] = "1.18 20180628"" (subscript_expression "apcStack_5c[0]" identifier [ number_literal ]) = (string_literal ""1.18 20180628"" " string_content ")) ;) (expression_statement "pr2serr("sg_test_rwbuf: version: %s\n");" (call_expression "pr2serr("sg_test_rwbuf: version: %s\n")" identifier (argument_list "("sg_test_rwbuf: version: %s\n")" ( (string_literal ""sg_test_rwbuf: version: %s\n"" " string_content escape_sequence ") ))) ;) (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" identifier = number_literal) ;) (expression_statement "puVar7 = auStack_50;" (assignment_expression "puVar7 = auStack_50" identifier = identifier) ;) (goto_statement "goto LAB_000112ef;" goto statement_identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nint main(int argc,char **argv)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  char *pcVar4;\n  char **ppcVar5;\n  int in_GS_OFFSET;\n  char *apcStack_5c [2];\n  undefined4 uStack_54;\n  undefined1 auStack_50 [12];\n  undefined4 *local_44;\n  undefined4 *local_40;\n  option *local_3c;\n  char *local_38;\n  char **local_34;\n  undefined4 local_28;\n  int local_24;\n  int *local_18;\n  undefined1 *puVar6;\n  \n  iVar3 = argc;\n  local_18 = &argc;\n  puVar6 = auStack_50;\n  local_34 = argv;\n  local_24 = *(int *)(in_GS_OFFSET + 0x14);\n  local_3c = long_options;\n  local_38 = "hqr:s:t:w:vV";\n  local_44 = (undefined4 *)PTR_optarg_00013ffc;\n  local_40 = local_44;\n_L96:\n  local_28 = 0;\n  iVar2 = getopt_long(iVar3,local_34,local_38,local_3c,&local_28);\n  puVar1 = PTR_optind_00013fe8;\n  if (iVar2 != -1) {\n    switch(iVar2) {\n    case 0x56:\n    case 0x71:\n      goto _L96;\n    default:\n      goto _L109;\n    case 0x68:\n      uStack_54 = 0x112ed;\n      usage();\n      iVar3 = 0;\n      puVar6 = auStack_50;\n      goto LAB_000112ef;\n    case 0x72:\n      addread = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (addread == -1) {\n        pr2serr("bad argument to \'--addrd\'\n");\n        iVar3 = 1;\n        puVar6 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto _L96;\n    case 0x73:\n      size = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (size == -1) {\n        pr2serr("bad argument to \'--size\'\n");\n        iVar3 = 1;\n        puVar6 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto _L96;\n    case 0x74:\n      iVar2 = sg_get_num(*local_44);\n      if (iVar2 == -1) {\n        pr2serr("bad argument to \'--times\'\n");\n        iVar3 = 1;\n        puVar6 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto _L96;\n    case 0x76:\n      verbose = verbose + 1;\n      goto _L96;\n    case 0x77:\n      addwrite = sg_get_num(*local_40);\n      if (addwrite == -1) {\n        pr2serr("bad argument to \'--addwr\'\n");\n        iVar3 = 1;\n        puVar6 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto _L96;\n    }\n  }\n  if (*(int *)PTR_optind_00013fe8 < iVar3) {\n    iVar2 = *(int *)PTR_optind_00013fe8 + 1;\n    *(int *)PTR_optind_00013fe8 = iVar2;\n    if (iVar2 < iVar3) {\n      if (size != -1) {\nLAB_00011331:\n        local_38 = "Unexpected extra argument: %s\n";\n        while (*(int *)puVar1 < iVar3) {\n          apcStack_5c[0] = local_34[*(int *)puVar1];\n          pr2serr(local_38);\n          *(int *)puVar1 = *(int *)puVar1 + 1;\n        }\n_L109:\n        uStack_54 = 0x1135d;\n        usage();\n        iVar3 = 1;\n        puVar6 = auStack_50;\nLAB_000112ef:\n        while (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n          *(undefined4 *)(puVar6 + -4) = 0x11432;\n          __stack_chk_fail_local();\nLAB_00011432:\n          ppcVar5 = (char **)(puVar6 + -0xc);\n          pcVar4 = "bad [addwr]\n";\nLAB_00011415:\n          *(char **)((int)ppcVar5 + -4) = pcVar4;\n          *(undefined4 *)((int)ppcVar5 + -8) = 0x1141b;\n          pr2serr();\n          *(undefined4 *)((int)ppcVar5 + -8) = 0x11420;\n          usage();\n          iVar3 = 1;\n          puVar6 = (undefined1 *)((int)ppcVar5 + 0xc);\n        }\n        return iVar3;\n      }\n      size = sg_get_num(local_34[iVar2]);\n      if (size == -1) {\n        ppcVar5 = apcStack_5c;\n        pcVar4 = "bad <sz>\n";\n        goto LAB_00011415;\n      }\n      iVar2 = *(int *)puVar1 + 1;\n      *(int *)puVar1 = iVar2;\n      if (iVar2 < iVar3) {\n        addwrite = sg_get_num(local_34[iVar2]);\n        if (addwrite == -1) goto LAB_00011432;\n        iVar2 = *(int *)puVar1 + 1;\n        *(int *)puVar1 = iVar2;\n        if (iVar2 < iVar3) {\n          addread = sg_get_num(local_34[iVar2]);\n          if (addread == -1) {\n            ppcVar5 = apcStack_5c;\n            pcVar4 = "bad [addrd]\n";\n            goto LAB_00011415;\n          }\n          if (*(int *)puVar1 < iVar3) goto LAB_00011331;\n        }\n      }\n    }\n  }\n  pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\n  apcStack_5c[0] = "1.18 20180628";\n  pr2serr("sg_test_rwbuf: version: %s\n");\n  iVar3 = 0;\n  puVar6 = auStack_50;\n  goto LAB_000112ef;\n}\n\n" comment (function_definition "int main(int argc,char **argv)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  char *pcVar4;\n  char **ppcVar5;\n  int in_GS_OFFSET;\n  char *apcStack_5c [2];\n  undefined4 uStack_54;\n  undefined1 auStack_50 [12];\n  undefined4 *local_44;\n  undefined4 *local_40;\n  option *local_3c;\n  char *local_38;\n  char **local_34;\n  undefined4 local_28;\n  int local_24;\n  int *local_18;\n  undefined1 *puVar6;\n  \n  iVar3 = argc;\n  local_18 = &argc;\n  puVar6 = auStack_50;\n  local_34 = argv;\n  local_24 = *(int *)(in_GS_OFFSET + 0x14);\n  local_3c = long_options;\n  local_38 = "hqr:s:t:w:vV";\n  local_44 = (undefined4 *)PTR_optarg_00013ffc;\n  local_40 = local_44;\n_L96:\n  local_28 = 0;\n  iVar2 = getopt_long(iVar3,local_34,local_38,local_3c,&local_28);\n  puVar1 = PTR_optind_00013fe8;\n  if (iVar2 != -1) {\n    switch(iVar2) {\n    case 0x56:\n    case 0x71:\n      goto _L96;\n    default:\n      goto _L109;\n    case 0x68:\n      uStack_54 = 0x112ed;\n      usage();\n      iVar3 = 0;\n      puVar6 = auStack_50;\n      goto LAB_000112ef;\n    case 0x72:\n      addread = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (addread == -1) {\n        pr2serr("bad argument to \'--addrd\'\n");\n        iVar3 = 1;\n        puVar6 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto _L96;\n    case 0x73:\n      size = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (size == -1) {\n        pr2serr("bad argument to \'--size\'\n");\n        iVar3 = 1;\n        puVar6 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto _L96;\n    case 0x74:\n      iVar2 = sg_get_num(*local_44);\n      if (iVar2 == -1) {\n        pr2serr("bad argument to \'--times\'\n");\n        iVar3 = 1;\n        puVar6 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto _L96;\n    case 0x76:\n      verbose = verbose + 1;\n      goto _L96;\n    case 0x77:\n      addwrite = sg_get_num(*local_40);\n      if (addwrite == -1) {\n        pr2serr("bad argument to \'--addwr\'\n");\n        iVar3 = 1;\n        puVar6 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto _L96;\n    }\n  }\n  if (*(int *)PTR_optind_00013fe8 < iVar3) {\n    iVar2 = *(int *)PTR_optind_00013fe8 + 1;\n    *(int *)PTR_optind_00013fe8 = iVar2;\n    if (iVar2 < iVar3) {\n      if (size != -1) {\nLAB_00011331:\n        local_38 = "Unexpected extra argument: %s\n";\n        while (*(int *)puVar1 < iVar3) {\n          apcStack_5c[0] = local_34[*(int *)puVar1];\n          pr2serr(local_38);\n          *(int *)puVar1 = *(int *)puVar1 + 1;\n        }\n_L109:\n        uStack_54 = 0x1135d;\n        usage();\n        iVar3 = 1;\n        puVar6 = auStack_50;\nLAB_000112ef:\n        while (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n          *(undefined4 *)(puVar6 + -4) = 0x11432;\n          __stack_chk_fail_local();\nLAB_00011432:\n          ppcVar5 = (char **)(puVar6 + -0xc);\n          pcVar4 = "bad [addwr]\n";\nLAB_00011415:\n          *(char **)((int)ppcVar5 + -4) = pcVar4;\n          *(undefined4 *)((int)ppcVar5 + -8) = 0x1141b;\n          pr2serr();\n          *(undefined4 *)((int)ppcVar5 + -8) = 0x11420;\n          usage();\n          iVar3 = 1;\n          puVar6 = (undefined1 *)((int)ppcVar5 + 0xc);\n        }\n        return iVar3;\n      }\n      size = sg_get_num(local_34[iVar2]);\n      if (size == -1) {\n        ppcVar5 = apcStack_5c;\n        pcVar4 = "bad <sz>\n";\n        goto LAB_00011415;\n      }\n      iVar2 = *(int *)puVar1 + 1;\n      *(int *)puVar1 = iVar2;\n      if (iVar2 < iVar3) {\n        addwrite = sg_get_num(local_34[iVar2]);\n        if (addwrite == -1) goto LAB_00011432;\n        iVar2 = *(int *)puVar1 + 1;\n        *(int *)puVar1 = iVar2;\n        if (iVar2 < iVar3) {\n          addread = sg_get_num(local_34[iVar2]);\n          if (addread == -1) {\n            ppcVar5 = apcStack_5c;\n            pcVar4 = "bad [addrd]\n";\n            goto LAB_00011415;\n          }\n          if (*(int *)puVar1 < iVar3) goto LAB_00011331;\n        }\n      }\n    }\n  }\n  pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\n  apcStack_5c[0] = "1.18 20180628";\n  pr2serr("sg_test_rwbuf: version: %s\n");\n  iVar3 = 0;\n  puVar6 = auStack_50;\n  goto LAB_000112ef;\n}" primitive_type (function_declarator "main(int argc,char **argv)" identifier (parameter_list "(int argc,char **argv)" ( (parameter_declaration "int argc" primitive_type identifier) , (parameter_declaration "char **argv" primitive_type (pointer_declarator "**argv" * (pointer_declarator "*argv" * identifier))) ))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  char *pcVar4;\n  char **ppcVar5;\n  int in_GS_OFFSET;\n  char *apcStack_5c [2];\n  undefined4 uStack_54;\n  undefined1 auStack_50 [12];\n  undefined4 *local_44;\n  undefined4 *local_40;\n  option *local_3c;\n  char *local_38;\n  char **local_34;\n  undefined4 local_28;\n  int local_24;\n  int *local_18;\n  undefined1 *puVar6;\n  \n  iVar3 = argc;\n  local_18 = &argc;\n  puVar6 = auStack_50;\n  local_34 = argv;\n  local_24 = *(int *)(in_GS_OFFSET + 0x14);\n  local_3c = long_options;\n  local_38 = "hqr:s:t:w:vV";\n  local_44 = (undefined4 *)PTR_optarg_00013ffc;\n  local_40 = local_44;\n_L96:\n  local_28 = 0;\n  iVar2 = getopt_long(iVar3,local_34,local_38,local_3c,&local_28);\n  puVar1 = PTR_optind_00013fe8;\n  if (iVar2 != -1) {\n    switch(iVar2) {\n    case 0x56:\n    case 0x71:\n      goto _L96;\n    default:\n      goto _L109;\n    case 0x68:\n      uStack_54 = 0x112ed;\n      usage();\n      iVar3 = 0;\n      puVar6 = auStack_50;\n      goto LAB_000112ef;\n    case 0x72:\n      addread = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (addread == -1) {\n        pr2serr("bad argument to \'--addrd\'\n");\n        iVar3 = 1;\n        puVar6 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto _L96;\n    case 0x73:\n      size = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (size == -1) {\n        pr2serr("bad argument to \'--size\'\n");\n        iVar3 = 1;\n        puVar6 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto _L96;\n    case 0x74:\n      iVar2 = sg_get_num(*local_44);\n      if (iVar2 == -1) {\n        pr2serr("bad argument to \'--times\'\n");\n        iVar3 = 1;\n        puVar6 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto _L96;\n    case 0x76:\n      verbose = verbose + 1;\n      goto _L96;\n    case 0x77:\n      addwrite = sg_get_num(*local_40);\n      if (addwrite == -1) {\n        pr2serr("bad argument to \'--addwr\'\n");\n        iVar3 = 1;\n        puVar6 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto _L96;\n    }\n  }\n  if (*(int *)PTR_optind_00013fe8 < iVar3) {\n    iVar2 = *(int *)PTR_optind_00013fe8 + 1;\n    *(int *)PTR_optind_00013fe8 = iVar2;\n    if (iVar2 < iVar3) {\n      if (size != -1) {\nLAB_00011331:\n        local_38 = "Unexpected extra argument: %s\n";\n        while (*(int *)puVar1 < iVar3) {\n          apcStack_5c[0] = local_34[*(int *)puVar1];\n          pr2serr(local_38);\n          *(int *)puVar1 = *(int *)puVar1 + 1;\n        }\n_L109:\n        uStack_54 = 0x1135d;\n        usage();\n        iVar3 = 1;\n        puVar6 = auStack_50;\nLAB_000112ef:\n        while (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n          *(undefined4 *)(puVar6 + -4) = 0x11432;\n          __stack_chk_fail_local();\nLAB_00011432:\n          ppcVar5 = (char **)(puVar6 + -0xc);\n          pcVar4 = "bad [addwr]\n";\nLAB_00011415:\n          *(char **)((int)ppcVar5 + -4) = pcVar4;\n          *(undefined4 *)((int)ppcVar5 + -8) = 0x1141b;\n          pr2serr();\n          *(undefined4 *)((int)ppcVar5 + -8) = 0x11420;\n          usage();\n          iVar3 = 1;\n          puVar6 = (undefined1 *)((int)ppcVar5 + 0xc);\n        }\n        return iVar3;\n      }\n      size = sg_get_num(local_34[iVar2]);\n      if (size == -1) {\n        ppcVar5 = apcStack_5c;\n        pcVar4 = "bad <sz>\n";\n        goto LAB_00011415;\n      }\n      iVar2 = *(int *)puVar1 + 1;\n      *(int *)puVar1 = iVar2;\n      if (iVar2 < iVar3) {\n        addwrite = sg_get_num(local_34[iVar2]);\n        if (addwrite == -1) goto LAB_00011432;\n        iVar2 = *(int *)puVar1 + 1;\n        *(int *)puVar1 = iVar2;\n        if (iVar2 < iVar3) {\n          addread = sg_get_num(local_34[iVar2]);\n          if (addread == -1) {\n            ppcVar5 = apcStack_5c;\n            pcVar4 = "bad [addrd]\n";\n            goto LAB_00011415;\n          }\n          if (*(int *)puVar1 < iVar3) goto LAB_00011331;\n        }\n      }\n    }\n  }\n  pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\n  apcStack_5c[0] = "1.18 20180628";\n  pr2serr("sg_test_rwbuf: version: %s\n");\n  iVar3 = 0;\n  puVar6 = auStack_50;\n  goto LAB_000112ef;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "char **ppcVar5;" primitive_type (pointer_declarator "**ppcVar5" * (pointer_declarator "*ppcVar5" * identifier)) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "char *apcStack_5c [2];" primitive_type (pointer_declarator "*apcStack_5c [2]" * (array_declarator "apcStack_5c [2]" identifier [ number_literal ])) ;) (declaration "undefined4 uStack_54;" type_identifier identifier ;) (declaration "undefined1 auStack_50 [12];" type_identifier (array_declarator "auStack_50 [12]" identifier [ number_literal ]) ;) (declaration "undefined4 *local_44;" type_identifier (pointer_declarator "*local_44" * identifier) ;) (declaration "undefined4 *local_40;" type_identifier (pointer_declarator "*local_40" * identifier) ;) (declaration "option *local_3c;" type_identifier (pointer_declarator "*local_3c" * identifier) ;) (declaration "char *local_38;" primitive_type (pointer_declarator "*local_38" * identifier) ;) (declaration "char **local_34;" primitive_type (pointer_declarator "**local_34" * (pointer_declarator "*local_34" * identifier)) ;) (declaration "undefined4 local_28;" type_identifier identifier ;) (declaration "int local_24;" primitive_type identifier ;) (declaration "int *local_18;" primitive_type (pointer_declarator "*local_18" * identifier) ;) (declaration "undefined1 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (expression_statement "iVar3 = argc;" (assignment_expression "iVar3 = argc" identifier = identifier) ;) (expression_statement "local_18 = &argc;" (assignment_expression "local_18 = &argc" identifier = (pointer_expression "&argc" & identifier)) ;) (expression_statement "puVar6 = auStack_50;" (assignment_expression "puVar6 = auStack_50" identifier = identifier) ;) (expression_statement "local_34 = argv;" (assignment_expression "local_34 = argv" identifier = identifier) ;) (expression_statement "local_24 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_24 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "local_3c = long_options;" (assignment_expression "local_3c = long_options" identifier = identifier) ;) (expression_statement "local_38 = "hqr:s:t:w:vV";" (assignment_expression "local_38 = "hqr:s:t:w:vV"" identifier = (string_literal ""hqr:s:t:w:vV"" " string_content ")) ;) (expression_statement "local_44 = (undefined4 *)PTR_optarg_00013ffc;" (assignment_expression "local_44 = (undefined4 *)PTR_optarg_00013ffc" identifier = (cast_expression "(undefined4 *)PTR_optarg_00013ffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_40 = local_44;" (assignment_expression "local_40 = local_44" identifier = identifier) ;) (labeled_statement "_L96:\n  local_28 = 0;" statement_identifier : (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;)) (expression_statement "iVar2 = getopt_long(iVar3,local_34,local_38,local_3c,&local_28);" (assignment_expression "iVar2 = getopt_long(iVar3,local_34,local_38,local_3c,&local_28)" identifier = (call_expression "getopt_long(iVar3,local_34,local_38,local_3c,&local_28)" identifier (argument_list "(iVar3,local_34,local_38,local_3c,&local_28)" ( identifier , identifier , identifier , identifier , (pointer_expression "&local_28" & identifier) )))) ;) (expression_statement "puVar1 = PTR_optind_00013fe8;" (assignment_expression "puVar1 = PTR_optind_00013fe8" identifier = identifier) ;) (if_statement "if (iVar2 != -1) {\n    switch(iVar2) {\n    case 0x56:\n    case 0x71:\n      goto _L96;\n    default:\n      goto _L109;\n    case 0x68:\n      uStack_54 = 0x112ed;\n      usage();\n      iVar3 = 0;\n      puVar6 = auStack_50;\n      goto LAB_000112ef;\n    case 0x72:\n      addread = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (addread == -1) {\n        pr2serr("bad argument to \'--addrd\'\n");\n        iVar3 = 1;\n        puVar6 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto _L96;\n    case 0x73:\n      size = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (size == -1) {\n        pr2serr("bad argument to \'--size\'\n");\n        iVar3 = 1;\n        puVar6 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto _L96;\n    case 0x74:\n      iVar2 = sg_get_num(*local_44);\n      if (iVar2 == -1) {\n        pr2serr("bad argument to \'--times\'\n");\n        iVar3 = 1;\n        puVar6 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto _L96;\n    case 0x76:\n      verbose = verbose + 1;\n      goto _L96;\n    case 0x77:\n      addwrite = sg_get_num(*local_40);\n      if (addwrite == -1) {\n        pr2serr("bad argument to \'--addwr\'\n");\n        iVar3 = 1;\n        puVar6 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto _L96;\n    }\n  }" if (parenthesized_expression "(iVar2 != -1)" ( (binary_expression "iVar2 != -1" identifier != number_literal) )) (compound_statement "{\n    switch(iVar2) {\n    case 0x56:\n    case 0x71:\n      goto _L96;\n    default:\n      goto _L109;\n    case 0x68:\n      uStack_54 = 0x112ed;\n      usage();\n      iVar3 = 0;\n      puVar6 = auStack_50;\n      goto LAB_000112ef;\n    case 0x72:\n      addread = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (addread == -1) {\n        pr2serr("bad argument to \'--addrd\'\n");\n        iVar3 = 1;\n        puVar6 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto _L96;\n    case 0x73:\n      size = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (size == -1) {\n        pr2serr("bad argument to \'--size\'\n");\n        iVar3 = 1;\n        puVar6 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto _L96;\n    case 0x74:\n      iVar2 = sg_get_num(*local_44);\n      if (iVar2 == -1) {\n        pr2serr("bad argument to \'--times\'\n");\n        iVar3 = 1;\n        puVar6 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto _L96;\n    case 0x76:\n      verbose = verbose + 1;\n      goto _L96;\n    case 0x77:\n      addwrite = sg_get_num(*local_40);\n      if (addwrite == -1) {\n        pr2serr("bad argument to \'--addwr\'\n");\n        iVar3 = 1;\n        puVar6 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto _L96;\n    }\n  }" { (switch_statement "switch(iVar2) {\n    case 0x56:\n    case 0x71:\n      goto _L96;\n    default:\n      goto _L109;\n    case 0x68:\n      uStack_54 = 0x112ed;\n      usage();\n      iVar3 = 0;\n      puVar6 = auStack_50;\n      goto LAB_000112ef;\n    case 0x72:\n      addread = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (addread == -1) {\n        pr2serr("bad argument to \'--addrd\'\n");\n        iVar3 = 1;\n        puVar6 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto _L96;\n    case 0x73:\n      size = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (size == -1) {\n        pr2serr("bad argument to \'--size\'\n");\n        iVar3 = 1;\n        puVar6 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto _L96;\n    case 0x74:\n      iVar2 = sg_get_num(*local_44);\n      if (iVar2 == -1) {\n        pr2serr("bad argument to \'--times\'\n");\n        iVar3 = 1;\n        puVar6 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto _L96;\n    case 0x76:\n      verbose = verbose + 1;\n      goto _L96;\n    case 0x77:\n      addwrite = sg_get_num(*local_40);\n      if (addwrite == -1) {\n        pr2serr("bad argument to \'--addwr\'\n");\n        iVar3 = 1;\n        puVar6 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto _L96;\n    }" switch (parenthesized_expression "(iVar2)" ( identifier )) (compound_statement "{\n    case 0x56:\n    case 0x71:\n      goto _L96;\n    default:\n      goto _L109;\n    case 0x68:\n      uStack_54 = 0x112ed;\n      usage();\n      iVar3 = 0;\n      puVar6 = auStack_50;\n      goto LAB_000112ef;\n    case 0x72:\n      addread = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (addread == -1) {\n        pr2serr("bad argument to \'--addrd\'\n");\n        iVar3 = 1;\n        puVar6 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto _L96;\n    case 0x73:\n      size = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (size == -1) {\n        pr2serr("bad argument to \'--size\'\n");\n        iVar3 = 1;\n        puVar6 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto _L96;\n    case 0x74:\n      iVar2 = sg_get_num(*local_44);\n      if (iVar2 == -1) {\n        pr2serr("bad argument to \'--times\'\n");\n        iVar3 = 1;\n        puVar6 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto _L96;\n    case 0x76:\n      verbose = verbose + 1;\n      goto _L96;\n    case 0x77:\n      addwrite = sg_get_num(*local_40);\n      if (addwrite == -1) {\n        pr2serr("bad argument to \'--addwr\'\n");\n        iVar3 = 1;\n        puVar6 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto _L96;\n    }" { (case_statement "case 0x56:" case number_literal :) (case_statement "case 0x71:\n      goto _L96;" case number_literal : (goto_statement "goto _L96;" goto statement_identifier ;)) (case_statement "default:\n      goto _L109;" default : (goto_statement "goto _L109;" goto statement_identifier ;)) (case_statement "case 0x68:\n      uStack_54 = 0x112ed;\n      usage();\n      iVar3 = 0;\n      puVar6 = auStack_50;\n      goto LAB_000112ef;" case number_literal : (expression_statement "uStack_54 = 0x112ed;" (assignment_expression "uStack_54 = 0x112ed" identifier = number_literal) ;) (expression_statement "usage();" (call_expression "usage()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "puVar6 = auStack_50;" (assignment_expression "puVar6 = auStack_50" identifier = identifier) ;) (goto_statement "goto LAB_000112ef;" goto statement_identifier ;)) (case_statement "case 0x72:\n      addread = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (addread == -1) {\n        pr2serr("bad argument to \'--addrd\'\n");\n        iVar3 = 1;\n        puVar6 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto _L96;" case number_literal : (expression_statement "addread = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);" (assignment_expression "addread = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc)" identifier = (call_expression "sg_get_num(*(undefined4 *)PTR_optarg_00013ffc)" identifier (argument_list "(*(undefined4 *)PTR_optarg_00013ffc)" ( (pointer_expression "*(undefined4 *)PTR_optarg_00013ffc" * (cast_expression "(undefined4 *)PTR_optarg_00013ffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if (addread == -1) {\n        pr2serr("bad argument to \'--addrd\'\n");\n        iVar3 = 1;\n        puVar6 = auStack_50;\n        goto LAB_000112ef;\n      }" if (parenthesized_expression "(addread == -1)" ( (binary_expression "addread == -1" identifier == number_literal) )) (compound_statement "{\n        pr2serr("bad argument to \'--addrd\'\n");\n        iVar3 = 1;\n        puVar6 = auStack_50;\n        goto LAB_000112ef;\n      }" { (expression_statement "pr2serr("bad argument to \'--addrd\'\n");" (call_expression "pr2serr("bad argument to \'--addrd\'\n")" identifier (argument_list "("bad argument to \'--addrd\'\n")" ( (string_literal ""bad argument to \'--addrd\'\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") ))) ;) (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" identifier = number_literal) ;) (expression_statement "puVar6 = auStack_50;" (assignment_expression "puVar6 = auStack_50" identifier = identifier) ;) (goto_statement "goto LAB_000112ef;" goto statement_identifier ;) })) (goto_statement "goto _L96;" goto statement_identifier ;)) (case_statement "case 0x73:\n      size = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (size == -1) {\n        pr2serr("bad argument to \'--size\'\n");\n        iVar3 = 1;\n        puVar6 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto _L96;" case number_literal : (expression_statement "size = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);" (assignment_expression "size = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc)" identifier = (call_expression "sg_get_num(*(undefined4 *)PTR_optarg_00013ffc)" identifier (argument_list "(*(undefined4 *)PTR_optarg_00013ffc)" ( (pointer_expression "*(undefined4 *)PTR_optarg_00013ffc" * (cast_expression "(undefined4 *)PTR_optarg_00013ffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if (size == -1) {\n        pr2serr("bad argument to \'--size\'\n");\n        iVar3 = 1;\n        puVar6 = auStack_50;\n        goto LAB_000112ef;\n      }" if (parenthesized_expression "(size == -1)" ( (binary_expression "size == -1" identifier == number_literal) )) (compound_statement "{\n        pr2serr("bad argument to \'--size\'\n");\n        iVar3 = 1;\n        puVar6 = auStack_50;\n        goto LAB_000112ef;\n      }" { (expression_statement "pr2serr("bad argument to \'--size\'\n");" (call_expression "pr2serr("bad argument to \'--size\'\n")" identifier (argument_list "("bad argument to \'--size\'\n")" ( (string_literal ""bad argument to \'--size\'\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") ))) ;) (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" identifier = number_literal) ;) (expression_statement "puVar6 = auStack_50;" (assignment_expression "puVar6 = auStack_50" identifier = identifier) ;) (goto_statement "goto LAB_000112ef;" goto statement_identifier ;) })) (goto_statement "goto _L96;" goto statement_identifier ;)) (case_statement "case 0x74:\n      iVar2 = sg_get_num(*local_44);\n      if (iVar2 == -1) {\n        pr2serr("bad argument to \'--times\'\n");\n        iVar3 = 1;\n        puVar6 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto _L96;" case number_literal : (expression_statement "iVar2 = sg_get_num(*local_44);" (assignment_expression "iVar2 = sg_get_num(*local_44)" identifier = (call_expression "sg_get_num(*local_44)" identifier (argument_list "(*local_44)" ( (pointer_expression "*local_44" * identifier) )))) ;) (if_statement "if (iVar2 == -1) {\n        pr2serr("bad argument to \'--times\'\n");\n        iVar3 = 1;\n        puVar6 = auStack_50;\n        goto LAB_000112ef;\n      }" if (parenthesized_expression "(iVar2 == -1)" ( (binary_expression "iVar2 == -1" identifier == number_literal) )) (compound_statement "{\n        pr2serr("bad argument to \'--times\'\n");\n        iVar3 = 1;\n        puVar6 = auStack_50;\n        goto LAB_000112ef;\n      }" { (expression_statement "pr2serr("bad argument to \'--times\'\n");" (call_expression "pr2serr("bad argument to \'--times\'\n")" identifier (argument_list "("bad argument to \'--times\'\n")" ( (string_literal ""bad argument to \'--times\'\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") ))) ;) (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" identifier = number_literal) ;) (expression_statement "puVar6 = auStack_50;" (assignment_expression "puVar6 = auStack_50" identifier = identifier) ;) (goto_statement "goto LAB_000112ef;" goto statement_identifier ;) })) (goto_statement "goto _L96;" goto statement_identifier ;)) (case_statement "case 0x76:\n      verbose = verbose + 1;\n      goto _L96;" case number_literal : (expression_statement "verbose = verbose + 1;" (assignment_expression "verbose = verbose + 1" identifier = (binary_expression "verbose + 1" identifier + number_literal)) ;) (goto_statement "goto _L96;" goto statement_identifier ;)) (case_statement "case 0x77:\n      addwrite = sg_get_num(*local_40);\n      if (addwrite == -1) {\n        pr2serr("bad argument to \'--addwr\'\n");\n        iVar3 = 1;\n        puVar6 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto _L96;" case number_literal : (expression_statement "addwrite = sg_get_num(*local_40);" (assignment_expression "addwrite = sg_get_num(*local_40)" identifier = (call_expression "sg_get_num(*local_40)" identifier (argument_list "(*local_40)" ( (pointer_expression "*local_40" * identifier) )))) ;) (if_statement "if (addwrite == -1) {\n        pr2serr("bad argument to \'--addwr\'\n");\n        iVar3 = 1;\n        puVar6 = auStack_50;\n        goto LAB_000112ef;\n      }" if (parenthesized_expression "(addwrite == -1)" ( (binary_expression "addwrite == -1" identifier == number_literal) )) (compound_statement "{\n        pr2serr("bad argument to \'--addwr\'\n");\n        iVar3 = 1;\n        puVar6 = auStack_50;\n        goto LAB_000112ef;\n      }" { (expression_statement "pr2serr("bad argument to \'--addwr\'\n");" (call_expression "pr2serr("bad argument to \'--addwr\'\n")" identifier (argument_list "("bad argument to \'--addwr\'\n")" ( (string_literal ""bad argument to \'--addwr\'\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") ))) ;) (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" identifier = number_literal) ;) (expression_statement "puVar6 = auStack_50;" (assignment_expression "puVar6 = auStack_50" identifier = identifier) ;) (goto_statement "goto LAB_000112ef;" goto statement_identifier ;) })) (goto_statement "goto _L96;" goto statement_identifier ;)) })) })) (if_statement "if (*(int *)PTR_optind_00013fe8 < iVar3) {\n    iVar2 = *(int *)PTR_optind_00013fe8 + 1;\n    *(int *)PTR_optind_00013fe8 = iVar2;\n    if (iVar2 < iVar3) {\n      if (size != -1) {\nLAB_00011331:\n        local_38 = "Unexpected extra argument: %s\n";\n        while (*(int *)puVar1 < iVar3) {\n          apcStack_5c[0] = local_34[*(int *)puVar1];\n          pr2serr(local_38);\n          *(int *)puVar1 = *(int *)puVar1 + 1;\n        }\n_L109:\n        uStack_54 = 0x1135d;\n        usage();\n        iVar3 = 1;\n        puVar6 = auStack_50;\nLAB_000112ef:\n        while (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n          *(undefined4 *)(puVar6 + -4) = 0x11432;\n          __stack_chk_fail_local();\nLAB_00011432:\n          ppcVar5 = (char **)(puVar6 + -0xc);\n          pcVar4 = "bad [addwr]\n";\nLAB_00011415:\n          *(char **)((int)ppcVar5 + -4) = pcVar4;\n          *(undefined4 *)((int)ppcVar5 + -8) = 0x1141b;\n          pr2serr();\n          *(undefined4 *)((int)ppcVar5 + -8) = 0x11420;\n          usage();\n          iVar3 = 1;\n          puVar6 = (undefined1 *)((int)ppcVar5 + 0xc);\n        }\n        return iVar3;\n      }\n      size = sg_get_num(local_34[iVar2]);\n      if (size == -1) {\n        ppcVar5 = apcStack_5c;\n        pcVar4 = "bad <sz>\n";\n        goto LAB_00011415;\n      }\n      iVar2 = *(int *)puVar1 + 1;\n      *(int *)puVar1 = iVar2;\n      if (iVar2 < iVar3) {\n        addwrite = sg_get_num(local_34[iVar2]);\n        if (addwrite == -1) goto LAB_00011432;\n        iVar2 = *(int *)puVar1 + 1;\n        *(int *)puVar1 = iVar2;\n        if (iVar2 < iVar3) {\n          addread = sg_get_num(local_34[iVar2]);\n          if (addread == -1) {\n            ppcVar5 = apcStack_5c;\n            pcVar4 = "bad [addrd]\n";\n            goto LAB_00011415;\n          }\n          if (*(int *)puVar1 < iVar3) goto LAB_00011331;\n        }\n      }\n    }\n  }" if (parenthesized_expression "(*(int *)PTR_optind_00013fe8 < iVar3)" ( (binary_expression "*(int *)PTR_optind_00013fe8 < iVar3" (pointer_expression "*(int *)PTR_optind_00013fe8" * (cast_expression "(int *)PTR_optind_00013fe8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) < identifier) )) (compound_statement "{\n    iVar2 = *(int *)PTR_optind_00013fe8 + 1;\n    *(int *)PTR_optind_00013fe8 = iVar2;\n    if (iVar2 < iVar3) {\n      if (size != -1) {\nLAB_00011331:\n        local_38 = "Unexpected extra argument: %s\n";\n        while (*(int *)puVar1 < iVar3) {\n          apcStack_5c[0] = local_34[*(int *)puVar1];\n          pr2serr(local_38);\n          *(int *)puVar1 = *(int *)puVar1 + 1;\n        }\n_L109:\n        uStack_54 = 0x1135d;\n        usage();\n        iVar3 = 1;\n        puVar6 = auStack_50;\nLAB_000112ef:\n        while (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n          *(undefined4 *)(puVar6 + -4) = 0x11432;\n          __stack_chk_fail_local();\nLAB_00011432:\n          ppcVar5 = (char **)(puVar6 + -0xc);\n          pcVar4 = "bad [addwr]\n";\nLAB_00011415:\n          *(char **)((int)ppcVar5 + -4) = pcVar4;\n          *(undefined4 *)((int)ppcVar5 + -8) = 0x1141b;\n          pr2serr();\n          *(undefined4 *)((int)ppcVar5 + -8) = 0x11420;\n          usage();\n          iVar3 = 1;\n          puVar6 = (undefined1 *)((int)ppcVar5 + 0xc);\n        }\n        return iVar3;\n      }\n      size = sg_get_num(local_34[iVar2]);\n      if (size == -1) {\n        ppcVar5 = apcStack_5c;\n        pcVar4 = "bad <sz>\n";\n        goto LAB_00011415;\n      }\n      iVar2 = *(int *)puVar1 + 1;\n      *(int *)puVar1 = iVar2;\n      if (iVar2 < iVar3) {\n        addwrite = sg_get_num(local_34[iVar2]);\n        if (addwrite == -1) goto LAB_00011432;\n        iVar2 = *(int *)puVar1 + 1;\n        *(int *)puVar1 = iVar2;\n        if (iVar2 < iVar3) {\n          addread = sg_get_num(local_34[iVar2]);\n          if (addread == -1) {\n            ppcVar5 = apcStack_5c;\n            pcVar4 = "bad [addrd]\n";\n            goto LAB_00011415;\n          }\n          if (*(int *)puVar1 < iVar3) goto LAB_00011331;\n        }\n      }\n    }\n  }" { (expression_statement "iVar2 = *(int *)PTR_optind_00013fe8 + 1;" (assignment_expression "iVar2 = *(int *)PTR_optind_00013fe8 + 1" identifier = (binary_expression "*(int *)PTR_optind_00013fe8 + 1" (pointer_expression "*(int *)PTR_optind_00013fe8" * (cast_expression "(int *)PTR_optind_00013fe8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal)) ;) (expression_statement "*(int *)PTR_optind_00013fe8 = iVar2;" (assignment_expression "*(int *)PTR_optind_00013fe8 = iVar2" (pointer_expression "*(int *)PTR_optind_00013fe8" * (cast_expression "(int *)PTR_optind_00013fe8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (if_statement "if (iVar2 < iVar3) {\n      if (size != -1) {\nLAB_00011331:\n        local_38 = "Unexpected extra argument: %s\n";\n        while (*(int *)puVar1 < iVar3) {\n          apcStack_5c[0] = local_34[*(int *)puVar1];\n          pr2serr(local_38);\n          *(int *)puVar1 = *(int *)puVar1 + 1;\n        }\n_L109:\n        uStack_54 = 0x1135d;\n        usage();\n        iVar3 = 1;\n        puVar6 = auStack_50;\nLAB_000112ef:\n        while (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n          *(undefined4 *)(puVar6 + -4) = 0x11432;\n          __stack_chk_fail_local();\nLAB_00011432:\n          ppcVar5 = (char **)(puVar6 + -0xc);\n          pcVar4 = "bad [addwr]\n";\nLAB_00011415:\n          *(char **)((int)ppcVar5 + -4) = pcVar4;\n          *(undefined4 *)((int)ppcVar5 + -8) = 0x1141b;\n          pr2serr();\n          *(undefined4 *)((int)ppcVar5 + -8) = 0x11420;\n          usage();\n          iVar3 = 1;\n          puVar6 = (undefined1 *)((int)ppcVar5 + 0xc);\n        }\n        return iVar3;\n      }\n      size = sg_get_num(local_34[iVar2]);\n      if (size == -1) {\n        ppcVar5 = apcStack_5c;\n        pcVar4 = "bad <sz>\n";\n        goto LAB_00011415;\n      }\n      iVar2 = *(int *)puVar1 + 1;\n      *(int *)puVar1 = iVar2;\n      if (iVar2 < iVar3) {\n        addwrite = sg_get_num(local_34[iVar2]);\n        if (addwrite == -1) goto LAB_00011432;\n        iVar2 = *(int *)puVar1 + 1;\n        *(int *)puVar1 = iVar2;\n        if (iVar2 < iVar3) {\n          addread = sg_get_num(local_34[iVar2]);\n          if (addread == -1) {\n            ppcVar5 = apcStack_5c;\n            pcVar4 = "bad [addrd]\n";\n            goto LAB_00011415;\n          }\n          if (*(int *)puVar1 < iVar3) goto LAB_00011331;\n        }\n      }\n    }" if (parenthesized_expression "(iVar2 < iVar3)" ( (binary_expression "iVar2 < iVar3" identifier < identifier) )) (compound_statement "{\n      if (size != -1) {\nLAB_00011331:\n        local_38 = "Unexpected extra argument: %s\n";\n        while (*(int *)puVar1 < iVar3) {\n          apcStack_5c[0] = local_34[*(int *)puVar1];\n          pr2serr(local_38);\n          *(int *)puVar1 = *(int *)puVar1 + 1;\n        }\n_L109:\n        uStack_54 = 0x1135d;\n        usage();\n        iVar3 = 1;\n        puVar6 = auStack_50;\nLAB_000112ef:\n        while (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n          *(undefined4 *)(puVar6 + -4) = 0x11432;\n          __stack_chk_fail_local();\nLAB_00011432:\n          ppcVar5 = (char **)(puVar6 + -0xc);\n          pcVar4 = "bad [addwr]\n";\nLAB_00011415:\n          *(char **)((int)ppcVar5 + -4) = pcVar4;\n          *(undefined4 *)((int)ppcVar5 + -8) = 0x1141b;\n          pr2serr();\n          *(undefined4 *)((int)ppcVar5 + -8) = 0x11420;\n          usage();\n          iVar3 = 1;\n          puVar6 = (undefined1 *)((int)ppcVar5 + 0xc);\n        }\n        return iVar3;\n      }\n      size = sg_get_num(local_34[iVar2]);\n      if (size == -1) {\n        ppcVar5 = apcStack_5c;\n        pcVar4 = "bad <sz>\n";\n        goto LAB_00011415;\n      }\n      iVar2 = *(int *)puVar1 + 1;\n      *(int *)puVar1 = iVar2;\n      if (iVar2 < iVar3) {\n        addwrite = sg_get_num(local_34[iVar2]);\n        if (addwrite == -1) goto LAB_00011432;\n        iVar2 = *(int *)puVar1 + 1;\n        *(int *)puVar1 = iVar2;\n        if (iVar2 < iVar3) {\n          addread = sg_get_num(local_34[iVar2]);\n          if (addread == -1) {\n            ppcVar5 = apcStack_5c;\n            pcVar4 = "bad [addrd]\n";\n            goto LAB_00011415;\n          }\n          if (*(int *)puVar1 < iVar3) goto LAB_00011331;\n        }\n      }\n    }" { (if_statement "if (size != -1) {\nLAB_00011331:\n        local_38 = "Unexpected extra argument: %s\n";\n        while (*(int *)puVar1 < iVar3) {\n          apcStack_5c[0] = local_34[*(int *)puVar1];\n          pr2serr(local_38);\n          *(int *)puVar1 = *(int *)puVar1 + 1;\n        }\n_L109:\n        uStack_54 = 0x1135d;\n        usage();\n        iVar3 = 1;\n        puVar6 = auStack_50;\nLAB_000112ef:\n        while (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n          *(undefined4 *)(puVar6 + -4) = 0x11432;\n          __stack_chk_fail_local();\nLAB_00011432:\n          ppcVar5 = (char **)(puVar6 + -0xc);\n          pcVar4 = "bad [addwr]\n";\nLAB_00011415:\n          *(char **)((int)ppcVar5 + -4) = pcVar4;\n          *(undefined4 *)((int)ppcVar5 + -8) = 0x1141b;\n          pr2serr();\n          *(undefined4 *)((int)ppcVar5 + -8) = 0x11420;\n          usage();\n          iVar3 = 1;\n          puVar6 = (undefined1 *)((int)ppcVar5 + 0xc);\n        }\n        return iVar3;\n      }" if (parenthesized_expression "(size != -1)" ( (binary_expression "size != -1" identifier != number_literal) )) (compound_statement "{\nLAB_00011331:\n        local_38 = "Unexpected extra argument: %s\n";\n        while (*(int *)puVar1 < iVar3) {\n          apcStack_5c[0] = local_34[*(int *)puVar1];\n          pr2serr(local_38);\n          *(int *)puVar1 = *(int *)puVar1 + 1;\n        }\n_L109:\n        uStack_54 = 0x1135d;\n        usage();\n        iVar3 = 1;\n        puVar6 = auStack_50;\nLAB_000112ef:\n        while (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n          *(undefined4 *)(puVar6 + -4) = 0x11432;\n          __stack_chk_fail_local();\nLAB_00011432:\n          ppcVar5 = (char **)(puVar6 + -0xc);\n          pcVar4 = "bad [addwr]\n";\nLAB_00011415:\n          *(char **)((int)ppcVar5 + -4) = pcVar4;\n          *(undefined4 *)((int)ppcVar5 + -8) = 0x1141b;\n          pr2serr();\n          *(undefined4 *)((int)ppcVar5 + -8) = 0x11420;\n          usage();\n          iVar3 = 1;\n          puVar6 = (undefined1 *)((int)ppcVar5 + 0xc);\n        }\n        return iVar3;\n      }" { (labeled_statement "LAB_00011331:\n        local_38 = "Unexpected extra argument: %s\n";" statement_identifier : (expression_statement "local_38 = "Unexpected extra argument: %s\n";" (assignment_expression "local_38 = "Unexpected extra argument: %s\n"" identifier = (string_literal ""Unexpected extra argument: %s\n"" " string_content escape_sequence ")) ;)) (while_statement "while (*(int *)puVar1 < iVar3) {\n          apcStack_5c[0] = local_34[*(int *)puVar1];\n          pr2serr(local_38);\n          *(int *)puVar1 = *(int *)puVar1 + 1;\n        }" while (parenthesized_expression "(*(int *)puVar1 < iVar3)" ( (binary_expression "*(int *)puVar1 < iVar3" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) < identifier) )) (compound_statement "{\n          apcStack_5c[0] = local_34[*(int *)puVar1];\n          pr2serr(local_38);\n          *(int *)puVar1 = *(int *)puVar1 + 1;\n        }" { (expression_statement "apcStack_5c[0] = local_34[*(int *)puVar1];" (assignment_expression "apcStack_5c[0] = local_34[*(int *)puVar1]" (subscript_expression "apcStack_5c[0]" identifier [ number_literal ]) = (subscript_expression "local_34[*(int *)puVar1]" identifier [ (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ])) ;) (expression_statement "pr2serr(local_38);" (call_expression "pr2serr(local_38)" identifier (argument_list "(local_38)" ( identifier ))) ;) (expression_statement "*(int *)puVar1 = *(int *)puVar1 + 1;" (assignment_expression "*(int *)puVar1 = *(int *)puVar1 + 1" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "*(int *)puVar1 + 1" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal)) ;) })) (labeled_statement "_L109:\n        uStack_54 = 0x1135d;" statement_identifier : (expression_statement "uStack_54 = 0x1135d;" (assignment_expression "uStack_54 = 0x1135d" identifier = number_literal) ;)) (expression_statement "usage();" (call_expression "usage()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" identifier = number_literal) ;) (expression_statement "puVar6 = auStack_50;" (assignment_expression "puVar6 = auStack_50" identifier = identifier) ;) (labeled_statement "LAB_000112ef:\n        while (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n          *(undefined4 *)(puVar6 + -4) = 0x11432;\n          __stack_chk_fail_local();\nLAB_00011432:\n          ppcVar5 = (char **)(puVar6 + -0xc);\n          pcVar4 = "bad [addwr]\n";\nLAB_00011415:\n          *(char **)((int)ppcVar5 + -4) = pcVar4;\n          *(undefined4 *)((int)ppcVar5 + -8) = 0x1141b;\n          pr2serr();\n          *(undefined4 *)((int)ppcVar5 + -8) = 0x11420;\n          usage();\n          iVar3 = 1;\n          puVar6 = (undefined1 *)((int)ppcVar5 + 0xc);\n        }" statement_identifier : (while_statement "while (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n          *(undefined4 *)(puVar6 + -4) = 0x11432;\n          __stack_chk_fail_local();\nLAB_00011432:\n          ppcVar5 = (char **)(puVar6 + -0xc);\n          pcVar4 = "bad [addwr]\n";\nLAB_00011415:\n          *(char **)((int)ppcVar5 + -4) = pcVar4;\n          *(undefined4 *)((int)ppcVar5 + -8) = 0x1141b;\n          pr2serr();\n          *(undefined4 *)((int)ppcVar5 + -8) = 0x11420;\n          usage();\n          iVar3 = 1;\n          puVar6 = (undefined1 *)((int)ppcVar5 + 0xc);\n        }" while (parenthesized_expression "(local_24 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_24 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n          *(undefined4 *)(puVar6 + -4) = 0x11432;\n          __stack_chk_fail_local();\nLAB_00011432:\n          ppcVar5 = (char **)(puVar6 + -0xc);\n          pcVar4 = "bad [addwr]\n";\nLAB_00011415:\n          *(char **)((int)ppcVar5 + -4) = pcVar4;\n          *(undefined4 *)((int)ppcVar5 + -8) = 0x1141b;\n          pr2serr();\n          *(undefined4 *)((int)ppcVar5 + -8) = 0x11420;\n          usage();\n          iVar3 = 1;\n          puVar6 = (undefined1 *)((int)ppcVar5 + 0xc);\n        }" { (expression_statement "*(undefined4 *)(puVar6 + -4) = 0x11432;" (assignment_expression "*(undefined4 *)(puVar6 + -4) = 0x11432" (pointer_expression "*(undefined4 *)(puVar6 + -4)" * (cast_expression "(undefined4 *)(puVar6 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + -4)" ( (binary_expression "puVar6 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "__stack_chk_fail_local();" (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_00011432:\n          ppcVar5 = (char **)(puVar6 + -0xc);" statement_identifier : (expression_statement "ppcVar5 = (char **)(puVar6 + -0xc);" (assignment_expression "ppcVar5 = (char **)(puVar6 + -0xc)" identifier = (cast_expression "(char **)(puVar6 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + -0xc)" ( (binary_expression "puVar6 + -0xc" identifier + number_literal) )))) ;)) (expression_statement "pcVar4 = "bad [addwr]\n";" (assignment_expression "pcVar4 = "bad [addwr]\n"" identifier = (string_literal ""bad [addwr]\n"" " string_content escape_sequence ")) ;) (labeled_statement "LAB_00011415:\n          *(char **)((int)ppcVar5 + -4) = pcVar4;" statement_identifier : (expression_statement "*(char **)((int)ppcVar5 + -4) = pcVar4;" (assignment_expression "*(char **)((int)ppcVar5 + -4) = pcVar4" (pointer_expression "*(char **)((int)ppcVar5 + -4)" * (cast_expression "(char **)((int)ppcVar5 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar5 + -4)" ( (binary_expression "(int)ppcVar5 + -4" (cast_expression "(int)ppcVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)((int)ppcVar5 + -8) = 0x1141b;" (assignment_expression "*(undefined4 *)((int)ppcVar5 + -8) = 0x1141b" (pointer_expression "*(undefined4 *)((int)ppcVar5 + -8)" * (cast_expression "(undefined4 *)((int)ppcVar5 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppcVar5 + -8)" ( (binary_expression "(int)ppcVar5 + -8" (cast_expression "(int)ppcVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pr2serr();" (call_expression "pr2serr()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)((int)ppcVar5 + -8) = 0x11420;" (assignment_expression "*(undefined4 *)((int)ppcVar5 + -8) = 0x11420" (pointer_expression "*(undefined4 *)((int)ppcVar5 + -8)" * (cast_expression "(undefined4 *)((int)ppcVar5 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppcVar5 + -8)" ( (binary_expression "(int)ppcVar5 + -8" (cast_expression "(int)ppcVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "usage();" (call_expression "usage()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" identifier = number_literal) ;) (expression_statement "puVar6 = (undefined1 *)((int)ppcVar5 + 0xc);" (assignment_expression "puVar6 = (undefined1 *)((int)ppcVar5 + 0xc)" identifier = (cast_expression "(undefined1 *)((int)ppcVar5 + 0xc)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppcVar5 + 0xc)" ( (binary_expression "(int)ppcVar5 + 0xc" (cast_expression "(int)ppcVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }))) (return_statement "return iVar3;" return identifier ;) })) (expression_statement "size = sg_get_num(local_34[iVar2]);" (assignment_expression "size = sg_get_num(local_34[iVar2])" identifier = (call_expression "sg_get_num(local_34[iVar2])" identifier (argument_list "(local_34[iVar2])" ( (subscript_expression "local_34[iVar2]" identifier [ identifier ]) )))) ;) (if_statement "if (size == -1) {\n        ppcVar5 = apcStack_5c;\n        pcVar4 = "bad <sz>\n";\n        goto LAB_00011415;\n      }" if (parenthesized_expression "(size == -1)" ( (binary_expression "size == -1" identifier == number_literal) )) (compound_statement "{\n        ppcVar5 = apcStack_5c;\n        pcVar4 = "bad <sz>\n";\n        goto LAB_00011415;\n      }" { (expression_statement "ppcVar5 = apcStack_5c;" (assignment_expression "ppcVar5 = apcStack_5c" identifier = identifier) ;) (expression_statement "pcVar4 = "bad <sz>\n";" (assignment_expression "pcVar4 = "bad <sz>\n"" identifier = (string_literal ""bad <sz>\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_00011415;" goto statement_identifier ;) })) (expression_statement "iVar2 = *(int *)puVar1 + 1;" (assignment_expression "iVar2 = *(int *)puVar1 + 1" identifier = (binary_expression "*(int *)puVar1 + 1" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal)) ;) (expression_statement "*(int *)puVar1 = iVar2;" (assignment_expression "*(int *)puVar1 = iVar2" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (if_statement "if (iVar2 < iVar3) {\n        addwrite = sg_get_num(local_34[iVar2]);\n        if (addwrite == -1) goto LAB_00011432;\n        iVar2 = *(int *)puVar1 + 1;\n        *(int *)puVar1 = iVar2;\n        if (iVar2 < iVar3) {\n          addread = sg_get_num(local_34[iVar2]);\n          if (addread == -1) {\n            ppcVar5 = apcStack_5c;\n            pcVar4 = "bad [addrd]\n";\n            goto LAB_00011415;\n          }\n          if (*(int *)puVar1 < iVar3) goto LAB_00011331;\n        }\n      }" if (parenthesized_expression "(iVar2 < iVar3)" ( (binary_expression "iVar2 < iVar3" identifier < identifier) )) (compound_statement "{\n        addwrite = sg_get_num(local_34[iVar2]);\n        if (addwrite == -1) goto LAB_00011432;\n        iVar2 = *(int *)puVar1 + 1;\n        *(int *)puVar1 = iVar2;\n        if (iVar2 < iVar3) {\n          addread = sg_get_num(local_34[iVar2]);\n          if (addread == -1) {\n            ppcVar5 = apcStack_5c;\n            pcVar4 = "bad [addrd]\n";\n            goto LAB_00011415;\n          }\n          if (*(int *)puVar1 < iVar3) goto LAB_00011331;\n        }\n      }" { (expression_statement "addwrite = sg_get_num(local_34[iVar2]);" (assignment_expression "addwrite = sg_get_num(local_34[iVar2])" identifier = (call_expression "sg_get_num(local_34[iVar2])" identifier (argument_list "(local_34[iVar2])" ( (subscript_expression "local_34[iVar2]" identifier [ identifier ]) )))) ;) (if_statement "if (addwrite == -1) goto LAB_00011432;" if (parenthesized_expression "(addwrite == -1)" ( (binary_expression "addwrite == -1" identifier == number_literal) )) (goto_statement "goto LAB_00011432;" goto statement_identifier ;)) (expression_statement "iVar2 = *(int *)puVar1 + 1;" (assignment_expression "iVar2 = *(int *)puVar1 + 1" identifier = (binary_expression "*(int *)puVar1 + 1" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal)) ;) (expression_statement "*(int *)puVar1 = iVar2;" (assignment_expression "*(int *)puVar1 = iVar2" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (if_statement "if (iVar2 < iVar3) {\n          addread = sg_get_num(local_34[iVar2]);\n          if (addread == -1) {\n            ppcVar5 = apcStack_5c;\n            pcVar4 = "bad [addrd]\n";\n            goto LAB_00011415;\n          }\n          if (*(int *)puVar1 < iVar3) goto LAB_00011331;\n        }" if (parenthesized_expression "(iVar2 < iVar3)" ( (binary_expression "iVar2 < iVar3" identifier < identifier) )) (compound_statement "{\n          addread = sg_get_num(local_34[iVar2]);\n          if (addread == -1) {\n            ppcVar5 = apcStack_5c;\n            pcVar4 = "bad [addrd]\n";\n            goto LAB_00011415;\n          }\n          if (*(int *)puVar1 < iVar3) goto LAB_00011331;\n        }" { (expression_statement "addread = sg_get_num(local_34[iVar2]);" (assignment_expression "addread = sg_get_num(local_34[iVar2])" identifier = (call_expression "sg_get_num(local_34[iVar2])" identifier (argument_list "(local_34[iVar2])" ( (subscript_expression "local_34[iVar2]" identifier [ identifier ]) )))) ;) (if_statement "if (addread == -1) {\n            ppcVar5 = apcStack_5c;\n            pcVar4 = "bad [addrd]\n";\n            goto LAB_00011415;\n          }" if (parenthesized_expression "(addread == -1)" ( (binary_expression "addread == -1" identifier == number_literal) )) (compound_statement "{\n            ppcVar5 = apcStack_5c;\n            pcVar4 = "bad [addrd]\n";\n            goto LAB_00011415;\n          }" { (expression_statement "ppcVar5 = apcStack_5c;" (assignment_expression "ppcVar5 = apcStack_5c" identifier = identifier) ;) (expression_statement "pcVar4 = "bad [addrd]\n";" (assignment_expression "pcVar4 = "bad [addrd]\n"" identifier = (string_literal ""bad [addrd]\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_00011415;" goto statement_identifier ;) })) (if_statement "if (*(int *)puVar1 < iVar3) goto LAB_00011331;" if (parenthesized_expression "(*(int *)puVar1 < iVar3)" ( (binary_expression "*(int *)puVar1 < iVar3" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) < identifier) )) (goto_statement "goto LAB_00011331;" goto statement_identifier ;)) })) })) })) })) (expression_statement "pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");" (call_expression "pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n")" identifier (argument_list "("Not in DEBUG mode, so \'-vV\' has no special action\n")" ( (string_literal ""Not in DEBUG mode, so \'-vV\' has no special action\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (expression_statement "apcStack_5c[0] = "1.18 20180628";" (assignment_expression "apcStack_5c[0] = "1.18 20180628"" (subscript_expression "apcStack_5c[0]" identifier [ number_literal ]) = (string_literal ""1.18 20180628"" " string_content ")) ;) (expression_statement "pr2serr("sg_test_rwbuf: version: %s\n");" (call_expression "pr2serr("sg_test_rwbuf: version: %s\n")" identifier (argument_list "("sg_test_rwbuf: version: %s\n")" ( (string_literal ""sg_test_rwbuf: version: %s\n"" " string_content escape_sequence ") ))) ;) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "puVar6 = auStack_50;" (assignment_expression "puVar6 = auStack_50" identifier = identifier) ;) (goto_statement "goto LAB_000112ef;" goto statement_identifier ;) })))
(translation_unit "undefined4 FUN_00011170(int param_1,int param_2)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  undefined4 uVar4;\n  char *pcVar5;\n  char **ppcVar6;\n  int in_GS_OFFSET;\n  char *apcStack_5c [2];\n  undefined *puStack_54;\n  undefined1 auStack_50 [12];\n  undefined4 *local_44;\n  undefined4 *local_40;\n  undefined **local_3c;\n  char *local_38;\n  int local_34;\n  undefined4 local_28;\n  int local_24;\n  undefined4 *local_18;\n  undefined1 *puVar7;\n  \n  iVar2 = param_1;\n  local_18 = &param_1;\n  puVar7 = auStack_50;\n  local_34 = param_2;\n  local_24 = *(int *)(in_GS_OFFSET + 0x14);\n  local_3c = &PTR_DAT_00014020;\n  local_38 = "hqr:s:t:w:vV";\n  local_44 = (undefined4 *)PTR_optarg_00013ffc;\n  local_40 = local_44;\ncode_r0x000111c3:\n  local_28 = 0;\n  iVar3 = getopt_long(iVar2,local_34,local_38,local_3c,&local_28);\n  puVar1 = PTR_optind_00013fe8;\n  if (iVar3 != -1) {\n    switch(iVar3) {\n    case 0x56:\n    case 0x71:\n      goto code_r0x000111c3;\n    default:\n      goto LAB_00011358;\n    case 0x68:\n      puStack_54 = &UNK_000112ed;\n      FUN_00011cd0();\n      uVar4 = 0;\n      puVar7 = auStack_50;\n      goto LAB_000112ef;\n    case 0x72:\n      DAT_000140bc = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (DAT_000140bc == -1) {\n        pr2serr("bad argument to \'--addrd\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x73:\n      DAT_00014008 = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (DAT_00014008 == -1) {\n        pr2serr("bad argument to \'--size\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x74:\n      iVar3 = sg_get_num(*local_44);\n      if (iVar3 == -1) {\n        pr2serr("bad argument to \'--times\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x76:\n      DAT_000140b8 = DAT_000140b8 + 1;\n      goto code_r0x000111c3;\n    case 0x77:\n      DAT_000140c0 = sg_get_num(*local_40);\n      if (DAT_000140c0 == -1) {\n        pr2serr("bad argument to \'--addwr\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    }\n  }\n  if (*(int *)PTR_optind_00013fe8 < iVar2) {\n    iVar3 = *(int *)PTR_optind_00013fe8 + 1;\n    *(int *)PTR_optind_00013fe8 = iVar3;\n    if (iVar3 < iVar2) {\n      if (DAT_00014008 != -1) {\nLAB_00011331:\n        local_38 = "Unexpected extra argument: %s\n";\n        while (*(int *)puVar1 < iVar2) {\n          apcStack_5c[0] = *(char **)(local_34 + *(int *)puVar1 * 4);\n          pr2serr(local_38);\n          *(int *)puVar1 = *(int *)puVar1 + 1;\n        }\nLAB_00011358:\n        puStack_54 = (undefined *)0x1135d;\n        FUN_00011cd0();\n        uVar4 = 1;\n        puVar7 = auStack_50;\nLAB_000112ef:\n        while (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n          *(undefined4 *)(puVar7 + -4) = 0x11432;\n          FUN_00011dd0();\nLAB_00011432:\n          ppcVar6 = (char **)(puVar7 + -0xc);\n          pcVar5 = "bad [addwr]\n";\nLAB_00011415:\n          *(char **)((int)ppcVar6 + -4) = pcVar5;\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x1141b;\n          pr2serr();\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x11420;\n          FUN_00011cd0();\n          uVar4 = 1;\n          puVar7 = (undefined1 *)((int)ppcVar6 + 0xc);\n        }\n        return uVar4;\n      }\n      DAT_00014008 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n      if (DAT_00014008 == -1) {\n        ppcVar6 = apcStack_5c;\n        pcVar5 = "bad <sz>\n";\n        goto LAB_00011415;\n      }\n      iVar3 = *(int *)puVar1 + 1;\n      *(int *)puVar1 = iVar3;\n      if (iVar3 < iVar2) {\n        DAT_000140c0 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n        if (DAT_000140c0 == -1) goto LAB_00011432;\n        iVar3 = *(int *)puVar1 + 1;\n        *(int *)puVar1 = iVar3;\n        if (iVar3 < iVar2) {\n          DAT_000140bc = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n          if (DAT_000140bc == -1) {\n            ppcVar6 = apcStack_5c;\n            pcVar5 = "bad [addrd]\n";\n            goto LAB_00011415;\n          }\n          if (*(int *)puVar1 < iVar2) goto LAB_00011331;\n        }\n      }\n    }\n  }\n  pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\n  apcStack_5c[0] = "1.18 20180628";\n  pr2serr("sg_test_rwbuf: version: %s\n");\n  uVar4 = 0;\n  puVar7 = auStack_50;\n  goto LAB_000112ef;\n}\n\n" (function_definition "undefined4 FUN_00011170(int param_1,int param_2)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  undefined4 uVar4;\n  char *pcVar5;\n  char **ppcVar6;\n  int in_GS_OFFSET;\n  char *apcStack_5c [2];\n  undefined *puStack_54;\n  undefined1 auStack_50 [12];\n  undefined4 *local_44;\n  undefined4 *local_40;\n  undefined **local_3c;\n  char *local_38;\n  int local_34;\n  undefined4 local_28;\n  int local_24;\n  undefined4 *local_18;\n  undefined1 *puVar7;\n  \n  iVar2 = param_1;\n  local_18 = &param_1;\n  puVar7 = auStack_50;\n  local_34 = param_2;\n  local_24 = *(int *)(in_GS_OFFSET + 0x14);\n  local_3c = &PTR_DAT_00014020;\n  local_38 = "hqr:s:t:w:vV";\n  local_44 = (undefined4 *)PTR_optarg_00013ffc;\n  local_40 = local_44;\ncode_r0x000111c3:\n  local_28 = 0;\n  iVar3 = getopt_long(iVar2,local_34,local_38,local_3c,&local_28);\n  puVar1 = PTR_optind_00013fe8;\n  if (iVar3 != -1) {\n    switch(iVar3) {\n    case 0x56:\n    case 0x71:\n      goto code_r0x000111c3;\n    default:\n      goto LAB_00011358;\n    case 0x68:\n      puStack_54 = &UNK_000112ed;\n      FUN_00011cd0();\n      uVar4 = 0;\n      puVar7 = auStack_50;\n      goto LAB_000112ef;\n    case 0x72:\n      DAT_000140bc = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (DAT_000140bc == -1) {\n        pr2serr("bad argument to \'--addrd\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x73:\n      DAT_00014008 = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (DAT_00014008 == -1) {\n        pr2serr("bad argument to \'--size\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x74:\n      iVar3 = sg_get_num(*local_44);\n      if (iVar3 == -1) {\n        pr2serr("bad argument to \'--times\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x76:\n      DAT_000140b8 = DAT_000140b8 + 1;\n      goto code_r0x000111c3;\n    case 0x77:\n      DAT_000140c0 = sg_get_num(*local_40);\n      if (DAT_000140c0 == -1) {\n        pr2serr("bad argument to \'--addwr\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    }\n  }\n  if (*(int *)PTR_optind_00013fe8 < iVar2) {\n    iVar3 = *(int *)PTR_optind_00013fe8 + 1;\n    *(int *)PTR_optind_00013fe8 = iVar3;\n    if (iVar3 < iVar2) {\n      if (DAT_00014008 != -1) {\nLAB_00011331:\n        local_38 = "Unexpected extra argument: %s\n";\n        while (*(int *)puVar1 < iVar2) {\n          apcStack_5c[0] = *(char **)(local_34 + *(int *)puVar1 * 4);\n          pr2serr(local_38);\n          *(int *)puVar1 = *(int *)puVar1 + 1;\n        }\nLAB_00011358:\n        puStack_54 = (undefined *)0x1135d;\n        FUN_00011cd0();\n        uVar4 = 1;\n        puVar7 = auStack_50;\nLAB_000112ef:\n        while (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n          *(undefined4 *)(puVar7 + -4) = 0x11432;\n          FUN_00011dd0();\nLAB_00011432:\n          ppcVar6 = (char **)(puVar7 + -0xc);\n          pcVar5 = "bad [addwr]\n";\nLAB_00011415:\n          *(char **)((int)ppcVar6 + -4) = pcVar5;\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x1141b;\n          pr2serr();\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x11420;\n          FUN_00011cd0();\n          uVar4 = 1;\n          puVar7 = (undefined1 *)((int)ppcVar6 + 0xc);\n        }\n        return uVar4;\n      }\n      DAT_00014008 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n      if (DAT_00014008 == -1) {\n        ppcVar6 = apcStack_5c;\n        pcVar5 = "bad <sz>\n";\n        goto LAB_00011415;\n      }\n      iVar3 = *(int *)puVar1 + 1;\n      *(int *)puVar1 = iVar3;\n      if (iVar3 < iVar2) {\n        DAT_000140c0 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n        if (DAT_000140c0 == -1) goto LAB_00011432;\n        iVar3 = *(int *)puVar1 + 1;\n        *(int *)puVar1 = iVar3;\n        if (iVar3 < iVar2) {\n          DAT_000140bc = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n          if (DAT_000140bc == -1) {\n            ppcVar6 = apcStack_5c;\n            pcVar5 = "bad [addrd]\n";\n            goto LAB_00011415;\n          }\n          if (*(int *)puVar1 < iVar2) goto LAB_00011331;\n        }\n      }\n    }\n  }\n  pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\n  apcStack_5c[0] = "1.18 20180628";\n  pr2serr("sg_test_rwbuf: version: %s\n");\n  uVar4 = 0;\n  puVar7 = auStack_50;\n  goto LAB_000112ef;\n}" type_identifier (function_declarator "FUN_00011170(int param_1,int param_2)" identifier (parameter_list "(int param_1,int param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  undefined4 uVar4;\n  char *pcVar5;\n  char **ppcVar6;\n  int in_GS_OFFSET;\n  char *apcStack_5c [2];\n  undefined *puStack_54;\n  undefined1 auStack_50 [12];\n  undefined4 *local_44;\n  undefined4 *local_40;\n  undefined **local_3c;\n  char *local_38;\n  int local_34;\n  undefined4 local_28;\n  int local_24;\n  undefined4 *local_18;\n  undefined1 *puVar7;\n  \n  iVar2 = param_1;\n  local_18 = &param_1;\n  puVar7 = auStack_50;\n  local_34 = param_2;\n  local_24 = *(int *)(in_GS_OFFSET + 0x14);\n  local_3c = &PTR_DAT_00014020;\n  local_38 = "hqr:s:t:w:vV";\n  local_44 = (undefined4 *)PTR_optarg_00013ffc;\n  local_40 = local_44;\ncode_r0x000111c3:\n  local_28 = 0;\n  iVar3 = getopt_long(iVar2,local_34,local_38,local_3c,&local_28);\n  puVar1 = PTR_optind_00013fe8;\n  if (iVar3 != -1) {\n    switch(iVar3) {\n    case 0x56:\n    case 0x71:\n      goto code_r0x000111c3;\n    default:\n      goto LAB_00011358;\n    case 0x68:\n      puStack_54 = &UNK_000112ed;\n      FUN_00011cd0();\n      uVar4 = 0;\n      puVar7 = auStack_50;\n      goto LAB_000112ef;\n    case 0x72:\n      DAT_000140bc = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (DAT_000140bc == -1) {\n        pr2serr("bad argument to \'--addrd\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x73:\n      DAT_00014008 = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (DAT_00014008 == -1) {\n        pr2serr("bad argument to \'--size\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x74:\n      iVar3 = sg_get_num(*local_44);\n      if (iVar3 == -1) {\n        pr2serr("bad argument to \'--times\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x76:\n      DAT_000140b8 = DAT_000140b8 + 1;\n      goto code_r0x000111c3;\n    case 0x77:\n      DAT_000140c0 = sg_get_num(*local_40);\n      if (DAT_000140c0 == -1) {\n        pr2serr("bad argument to \'--addwr\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    }\n  }\n  if (*(int *)PTR_optind_00013fe8 < iVar2) {\n    iVar3 = *(int *)PTR_optind_00013fe8 + 1;\n    *(int *)PTR_optind_00013fe8 = iVar3;\n    if (iVar3 < iVar2) {\n      if (DAT_00014008 != -1) {\nLAB_00011331:\n        local_38 = "Unexpected extra argument: %s\n";\n        while (*(int *)puVar1 < iVar2) {\n          apcStack_5c[0] = *(char **)(local_34 + *(int *)puVar1 * 4);\n          pr2serr(local_38);\n          *(int *)puVar1 = *(int *)puVar1 + 1;\n        }\nLAB_00011358:\n        puStack_54 = (undefined *)0x1135d;\n        FUN_00011cd0();\n        uVar4 = 1;\n        puVar7 = auStack_50;\nLAB_000112ef:\n        while (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n          *(undefined4 *)(puVar7 + -4) = 0x11432;\n          FUN_00011dd0();\nLAB_00011432:\n          ppcVar6 = (char **)(puVar7 + -0xc);\n          pcVar5 = "bad [addwr]\n";\nLAB_00011415:\n          *(char **)((int)ppcVar6 + -4) = pcVar5;\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x1141b;\n          pr2serr();\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x11420;\n          FUN_00011cd0();\n          uVar4 = 1;\n          puVar7 = (undefined1 *)((int)ppcVar6 + 0xc);\n        }\n        return uVar4;\n      }\n      DAT_00014008 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n      if (DAT_00014008 == -1) {\n        ppcVar6 = apcStack_5c;\n        pcVar5 = "bad <sz>\n";\n        goto LAB_00011415;\n      }\n      iVar3 = *(int *)puVar1 + 1;\n      *(int *)puVar1 = iVar3;\n      if (iVar3 < iVar2) {\n        DAT_000140c0 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n        if (DAT_000140c0 == -1) goto LAB_00011432;\n        iVar3 = *(int *)puVar1 + 1;\n        *(int *)puVar1 = iVar3;\n        if (iVar3 < iVar2) {\n          DAT_000140bc = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n          if (DAT_000140bc == -1) {\n            ppcVar6 = apcStack_5c;\n            pcVar5 = "bad [addrd]\n";\n            goto LAB_00011415;\n          }\n          if (*(int *)puVar1 < iVar2) goto LAB_00011331;\n        }\n      }\n    }\n  }\n  pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\n  apcStack_5c[0] = "1.18 20180628";\n  pr2serr("sg_test_rwbuf: version: %s\n");\n  uVar4 = 0;\n  puVar7 = auStack_50;\n  goto LAB_000112ef;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "char **ppcVar6;" primitive_type (pointer_declarator "**ppcVar6" * (pointer_declarator "*ppcVar6" * identifier)) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "char *apcStack_5c [2];" primitive_type (pointer_declarator "*apcStack_5c [2]" * (array_declarator "apcStack_5c [2]" identifier [ number_literal ])) ;) (declaration "undefined *puStack_54;" type_identifier (pointer_declarator "*puStack_54" * identifier) ;) (declaration "undefined1 auStack_50 [12];" type_identifier (array_declarator "auStack_50 [12]" identifier [ number_literal ]) ;) (declaration "undefined4 *local_44;" type_identifier (pointer_declarator "*local_44" * identifier) ;) (declaration "undefined4 *local_40;" type_identifier (pointer_declarator "*local_40" * identifier) ;) (declaration "undefined **local_3c;" type_identifier (pointer_declarator "**local_3c" * (pointer_declarator "*local_3c" * identifier)) ;) (declaration "char *local_38;" primitive_type (pointer_declarator "*local_38" * identifier) ;) (declaration "int local_34;" primitive_type identifier ;) (declaration "undefined4 local_28;" type_identifier identifier ;) (declaration "int local_24;" primitive_type identifier ;) (declaration "undefined4 *local_18;" type_identifier (pointer_declarator "*local_18" * identifier) ;) (declaration "undefined1 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (expression_statement "iVar2 = param_1;" (assignment_expression "iVar2 = param_1" identifier = identifier) ;) (expression_statement "local_18 = &param_1;" (assignment_expression "local_18 = &param_1" identifier = (pointer_expression "&param_1" & identifier)) ;) (expression_statement "puVar7 = auStack_50;" (assignment_expression "puVar7 = auStack_50" identifier = identifier) ;) (expression_statement "local_34 = param_2;" (assignment_expression "local_34 = param_2" identifier = identifier) ;) (expression_statement "local_24 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_24 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "local_3c = &PTR_DAT_00014020;" (assignment_expression "local_3c = &PTR_DAT_00014020" identifier = (pointer_expression "&PTR_DAT_00014020" & identifier)) ;) (expression_statement "local_38 = "hqr:s:t:w:vV";" (assignment_expression "local_38 = "hqr:s:t:w:vV"" identifier = (string_literal ""hqr:s:t:w:vV"" " string_content ")) ;) (expression_statement "local_44 = (undefined4 *)PTR_optarg_00013ffc;" (assignment_expression "local_44 = (undefined4 *)PTR_optarg_00013ffc" identifier = (cast_expression "(undefined4 *)PTR_optarg_00013ffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_40 = local_44;" (assignment_expression "local_40 = local_44" identifier = identifier) ;) (labeled_statement "code_r0x000111c3:\n  local_28 = 0;" statement_identifier : (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;)) (expression_statement "iVar3 = getopt_long(iVar2,local_34,local_38,local_3c,&local_28);" (assignment_expression "iVar3 = getopt_long(iVar2,local_34,local_38,local_3c,&local_28)" identifier = (call_expression "getopt_long(iVar2,local_34,local_38,local_3c,&local_28)" identifier (argument_list "(iVar2,local_34,local_38,local_3c,&local_28)" ( identifier , identifier , identifier , identifier , (pointer_expression "&local_28" & identifier) )))) ;) (expression_statement "puVar1 = PTR_optind_00013fe8;" (assignment_expression "puVar1 = PTR_optind_00013fe8" identifier = identifier) ;) (if_statement "if (iVar3 != -1) {\n    switch(iVar3) {\n    case 0x56:\n    case 0x71:\n      goto code_r0x000111c3;\n    default:\n      goto LAB_00011358;\n    case 0x68:\n      puStack_54 = &UNK_000112ed;\n      FUN_00011cd0();\n      uVar4 = 0;\n      puVar7 = auStack_50;\n      goto LAB_000112ef;\n    case 0x72:\n      DAT_000140bc = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (DAT_000140bc == -1) {\n        pr2serr("bad argument to \'--addrd\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x73:\n      DAT_00014008 = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (DAT_00014008 == -1) {\n        pr2serr("bad argument to \'--size\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x74:\n      iVar3 = sg_get_num(*local_44);\n      if (iVar3 == -1) {\n        pr2serr("bad argument to \'--times\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x76:\n      DAT_000140b8 = DAT_000140b8 + 1;\n      goto code_r0x000111c3;\n    case 0x77:\n      DAT_000140c0 = sg_get_num(*local_40);\n      if (DAT_000140c0 == -1) {\n        pr2serr("bad argument to \'--addwr\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    }\n  }" if (parenthesized_expression "(iVar3 != -1)" ( (binary_expression "iVar3 != -1" identifier != number_literal) )) (compound_statement "{\n    switch(iVar3) {\n    case 0x56:\n    case 0x71:\n      goto code_r0x000111c3;\n    default:\n      goto LAB_00011358;\n    case 0x68:\n      puStack_54 = &UNK_000112ed;\n      FUN_00011cd0();\n      uVar4 = 0;\n      puVar7 = auStack_50;\n      goto LAB_000112ef;\n    case 0x72:\n      DAT_000140bc = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (DAT_000140bc == -1) {\n        pr2serr("bad argument to \'--addrd\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x73:\n      DAT_00014008 = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (DAT_00014008 == -1) {\n        pr2serr("bad argument to \'--size\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x74:\n      iVar3 = sg_get_num(*local_44);\n      if (iVar3 == -1) {\n        pr2serr("bad argument to \'--times\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x76:\n      DAT_000140b8 = DAT_000140b8 + 1;\n      goto code_r0x000111c3;\n    case 0x77:\n      DAT_000140c0 = sg_get_num(*local_40);\n      if (DAT_000140c0 == -1) {\n        pr2serr("bad argument to \'--addwr\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    }\n  }" { (switch_statement "switch(iVar3) {\n    case 0x56:\n    case 0x71:\n      goto code_r0x000111c3;\n    default:\n      goto LAB_00011358;\n    case 0x68:\n      puStack_54 = &UNK_000112ed;\n      FUN_00011cd0();\n      uVar4 = 0;\n      puVar7 = auStack_50;\n      goto LAB_000112ef;\n    case 0x72:\n      DAT_000140bc = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (DAT_000140bc == -1) {\n        pr2serr("bad argument to \'--addrd\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x73:\n      DAT_00014008 = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (DAT_00014008 == -1) {\n        pr2serr("bad argument to \'--size\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x74:\n      iVar3 = sg_get_num(*local_44);\n      if (iVar3 == -1) {\n        pr2serr("bad argument to \'--times\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x76:\n      DAT_000140b8 = DAT_000140b8 + 1;\n      goto code_r0x000111c3;\n    case 0x77:\n      DAT_000140c0 = sg_get_num(*local_40);\n      if (DAT_000140c0 == -1) {\n        pr2serr("bad argument to \'--addwr\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    }" switch (parenthesized_expression "(iVar3)" ( identifier )) (compound_statement "{\n    case 0x56:\n    case 0x71:\n      goto code_r0x000111c3;\n    default:\n      goto LAB_00011358;\n    case 0x68:\n      puStack_54 = &UNK_000112ed;\n      FUN_00011cd0();\n      uVar4 = 0;\n      puVar7 = auStack_50;\n      goto LAB_000112ef;\n    case 0x72:\n      DAT_000140bc = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (DAT_000140bc == -1) {\n        pr2serr("bad argument to \'--addrd\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x73:\n      DAT_00014008 = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (DAT_00014008 == -1) {\n        pr2serr("bad argument to \'--size\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x74:\n      iVar3 = sg_get_num(*local_44);\n      if (iVar3 == -1) {\n        pr2serr("bad argument to \'--times\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x76:\n      DAT_000140b8 = DAT_000140b8 + 1;\n      goto code_r0x000111c3;\n    case 0x77:\n      DAT_000140c0 = sg_get_num(*local_40);\n      if (DAT_000140c0 == -1) {\n        pr2serr("bad argument to \'--addwr\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    }" { (case_statement "case 0x56:" case number_literal :) (case_statement "case 0x71:\n      goto code_r0x000111c3;" case number_literal : (goto_statement "goto code_r0x000111c3;" goto statement_identifier ;)) (case_statement "default:\n      goto LAB_00011358;" default : (goto_statement "goto LAB_00011358;" goto statement_identifier ;)) (case_statement "case 0x68:\n      puStack_54 = &UNK_000112ed;\n      FUN_00011cd0();\n      uVar4 = 0;\n      puVar7 = auStack_50;\n      goto LAB_000112ef;" case number_literal : (expression_statement "puStack_54 = &UNK_000112ed;" (assignment_expression "puStack_54 = &UNK_000112ed" identifier = (pointer_expression "&UNK_000112ed" & identifier)) ;) (expression_statement "FUN_00011cd0();" (call_expression "FUN_00011cd0()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" identifier = number_literal) ;) (expression_statement "puVar7 = auStack_50;" (assignment_expression "puVar7 = auStack_50" identifier = identifier) ;) (goto_statement "goto LAB_000112ef;" goto statement_identifier ;)) (case_statement "case 0x72:\n      DAT_000140bc = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (DAT_000140bc == -1) {\n        pr2serr("bad argument to \'--addrd\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;" case number_literal : (expression_statement "DAT_000140bc = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);" (assignment_expression "DAT_000140bc = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc)" identifier = (call_expression "sg_get_num(*(undefined4 *)PTR_optarg_00013ffc)" identifier (argument_list "(*(undefined4 *)PTR_optarg_00013ffc)" ( (pointer_expression "*(undefined4 *)PTR_optarg_00013ffc" * (cast_expression "(undefined4 *)PTR_optarg_00013ffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if (DAT_000140bc == -1) {\n        pr2serr("bad argument to \'--addrd\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }" if (parenthesized_expression "(DAT_000140bc == -1)" ( (binary_expression "DAT_000140bc == -1" identifier == number_literal) )) (compound_statement "{\n        pr2serr("bad argument to \'--addrd\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }" { (expression_statement "pr2serr("bad argument to \'--addrd\'\n");" (call_expression "pr2serr("bad argument to \'--addrd\'\n")" identifier (argument_list "("bad argument to \'--addrd\'\n")" ( (string_literal ""bad argument to \'--addrd\'\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") ))) ;) (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" identifier = number_literal) ;) (expression_statement "puVar7 = auStack_50;" (assignment_expression "puVar7 = auStack_50" identifier = identifier) ;) (goto_statement "goto LAB_000112ef;" goto statement_identifier ;) })) (goto_statement "goto code_r0x000111c3;" goto statement_identifier ;)) (case_statement "case 0x73:\n      DAT_00014008 = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (DAT_00014008 == -1) {\n        pr2serr("bad argument to \'--size\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;" case number_literal : (expression_statement "DAT_00014008 = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);" (assignment_expression "DAT_00014008 = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc)" identifier = (call_expression "sg_get_num(*(undefined4 *)PTR_optarg_00013ffc)" identifier (argument_list "(*(undefined4 *)PTR_optarg_00013ffc)" ( (pointer_expression "*(undefined4 *)PTR_optarg_00013ffc" * (cast_expression "(undefined4 *)PTR_optarg_00013ffc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if (DAT_00014008 == -1) {\n        pr2serr("bad argument to \'--size\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }" if (parenthesized_expression "(DAT_00014008 == -1)" ( (binary_expression "DAT_00014008 == -1" identifier == number_literal) )) (compound_statement "{\n        pr2serr("bad argument to \'--size\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }" { (expression_statement "pr2serr("bad argument to \'--size\'\n");" (call_expression "pr2serr("bad argument to \'--size\'\n")" identifier (argument_list "("bad argument to \'--size\'\n")" ( (string_literal ""bad argument to \'--size\'\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") ))) ;) (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" identifier = number_literal) ;) (expression_statement "puVar7 = auStack_50;" (assignment_expression "puVar7 = auStack_50" identifier = identifier) ;) (goto_statement "goto LAB_000112ef;" goto statement_identifier ;) })) (goto_statement "goto code_r0x000111c3;" goto statement_identifier ;)) (case_statement "case 0x74:\n      iVar3 = sg_get_num(*local_44);\n      if (iVar3 == -1) {\n        pr2serr("bad argument to \'--times\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;" case number_literal : (expression_statement "iVar3 = sg_get_num(*local_44);" (assignment_expression "iVar3 = sg_get_num(*local_44)" identifier = (call_expression "sg_get_num(*local_44)" identifier (argument_list "(*local_44)" ( (pointer_expression "*local_44" * identifier) )))) ;) (if_statement "if (iVar3 == -1) {\n        pr2serr("bad argument to \'--times\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }" if (parenthesized_expression "(iVar3 == -1)" ( (binary_expression "iVar3 == -1" identifier == number_literal) )) (compound_statement "{\n        pr2serr("bad argument to \'--times\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }" { (expression_statement "pr2serr("bad argument to \'--times\'\n");" (call_expression "pr2serr("bad argument to \'--times\'\n")" identifier (argument_list "("bad argument to \'--times\'\n")" ( (string_literal ""bad argument to \'--times\'\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") ))) ;) (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" identifier = number_literal) ;) (expression_statement "puVar7 = auStack_50;" (assignment_expression "puVar7 = auStack_50" identifier = identifier) ;) (goto_statement "goto LAB_000112ef;" goto statement_identifier ;) })) (goto_statement "goto code_r0x000111c3;" goto statement_identifier ;)) (case_statement "case 0x76:\n      DAT_000140b8 = DAT_000140b8 + 1;\n      goto code_r0x000111c3;" case number_literal : (expression_statement "DAT_000140b8 = DAT_000140b8 + 1;" (assignment_expression "DAT_000140b8 = DAT_000140b8 + 1" identifier = (binary_expression "DAT_000140b8 + 1" identifier + number_literal)) ;) (goto_statement "goto code_r0x000111c3;" goto statement_identifier ;)) (case_statement "case 0x77:\n      DAT_000140c0 = sg_get_num(*local_40);\n      if (DAT_000140c0 == -1) {\n        pr2serr("bad argument to \'--addwr\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;" case number_literal : (expression_statement "DAT_000140c0 = sg_get_num(*local_40);" (assignment_expression "DAT_000140c0 = sg_get_num(*local_40)" identifier = (call_expression "sg_get_num(*local_40)" identifier (argument_list "(*local_40)" ( (pointer_expression "*local_40" * identifier) )))) ;) (if_statement "if (DAT_000140c0 == -1) {\n        pr2serr("bad argument to \'--addwr\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }" if (parenthesized_expression "(DAT_000140c0 == -1)" ( (binary_expression "DAT_000140c0 == -1" identifier == number_literal) )) (compound_statement "{\n        pr2serr("bad argument to \'--addwr\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }" { (expression_statement "pr2serr("bad argument to \'--addwr\'\n");" (call_expression "pr2serr("bad argument to \'--addwr\'\n")" identifier (argument_list "("bad argument to \'--addwr\'\n")" ( (string_literal ""bad argument to \'--addwr\'\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") ))) ;) (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" identifier = number_literal) ;) (expression_statement "puVar7 = auStack_50;" (assignment_expression "puVar7 = auStack_50" identifier = identifier) ;) (goto_statement "goto LAB_000112ef;" goto statement_identifier ;) })) (goto_statement "goto code_r0x000111c3;" goto statement_identifier ;)) })) })) (if_statement "if (*(int *)PTR_optind_00013fe8 < iVar2) {\n    iVar3 = *(int *)PTR_optind_00013fe8 + 1;\n    *(int *)PTR_optind_00013fe8 = iVar3;\n    if (iVar3 < iVar2) {\n      if (DAT_00014008 != -1) {\nLAB_00011331:\n        local_38 = "Unexpected extra argument: %s\n";\n        while (*(int *)puVar1 < iVar2) {\n          apcStack_5c[0] = *(char **)(local_34 + *(int *)puVar1 * 4);\n          pr2serr(local_38);\n          *(int *)puVar1 = *(int *)puVar1 + 1;\n        }\nLAB_00011358:\n        puStack_54 = (undefined *)0x1135d;\n        FUN_00011cd0();\n        uVar4 = 1;\n        puVar7 = auStack_50;\nLAB_000112ef:\n        while (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n          *(undefined4 *)(puVar7 + -4) = 0x11432;\n          FUN_00011dd0();\nLAB_00011432:\n          ppcVar6 = (char **)(puVar7 + -0xc);\n          pcVar5 = "bad [addwr]\n";\nLAB_00011415:\n          *(char **)((int)ppcVar6 + -4) = pcVar5;\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x1141b;\n          pr2serr();\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x11420;\n          FUN_00011cd0();\n          uVar4 = 1;\n          puVar7 = (undefined1 *)((int)ppcVar6 + 0xc);\n        }\n        return uVar4;\n      }\n      DAT_00014008 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n      if (DAT_00014008 == -1) {\n        ppcVar6 = apcStack_5c;\n        pcVar5 = "bad <sz>\n";\n        goto LAB_00011415;\n      }\n      iVar3 = *(int *)puVar1 + 1;\n      *(int *)puVar1 = iVar3;\n      if (iVar3 < iVar2) {\n        DAT_000140c0 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n        if (DAT_000140c0 == -1) goto LAB_00011432;\n        iVar3 = *(int *)puVar1 + 1;\n        *(int *)puVar1 = iVar3;\n        if (iVar3 < iVar2) {\n          DAT_000140bc = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n          if (DAT_000140bc == -1) {\n            ppcVar6 = apcStack_5c;\n            pcVar5 = "bad [addrd]\n";\n            goto LAB_00011415;\n          }\n          if (*(int *)puVar1 < iVar2) goto LAB_00011331;\n        }\n      }\n    }\n  }" if (parenthesized_expression "(*(int *)PTR_optind_00013fe8 < iVar2)" ( (binary_expression "*(int *)PTR_optind_00013fe8 < iVar2" (pointer_expression "*(int *)PTR_optind_00013fe8" * (cast_expression "(int *)PTR_optind_00013fe8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) < identifier) )) (compound_statement "{\n    iVar3 = *(int *)PTR_optind_00013fe8 + 1;\n    *(int *)PTR_optind_00013fe8 = iVar3;\n    if (iVar3 < iVar2) {\n      if (DAT_00014008 != -1) {\nLAB_00011331:\n        local_38 = "Unexpected extra argument: %s\n";\n        while (*(int *)puVar1 < iVar2) {\n          apcStack_5c[0] = *(char **)(local_34 + *(int *)puVar1 * 4);\n          pr2serr(local_38);\n          *(int *)puVar1 = *(int *)puVar1 + 1;\n        }\nLAB_00011358:\n        puStack_54 = (undefined *)0x1135d;\n        FUN_00011cd0();\n        uVar4 = 1;\n        puVar7 = auStack_50;\nLAB_000112ef:\n        while (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n          *(undefined4 *)(puVar7 + -4) = 0x11432;\n          FUN_00011dd0();\nLAB_00011432:\n          ppcVar6 = (char **)(puVar7 + -0xc);\n          pcVar5 = "bad [addwr]\n";\nLAB_00011415:\n          *(char **)((int)ppcVar6 + -4) = pcVar5;\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x1141b;\n          pr2serr();\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x11420;\n          FUN_00011cd0();\n          uVar4 = 1;\n          puVar7 = (undefined1 *)((int)ppcVar6 + 0xc);\n        }\n        return uVar4;\n      }\n      DAT_00014008 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n      if (DAT_00014008 == -1) {\n        ppcVar6 = apcStack_5c;\n        pcVar5 = "bad <sz>\n";\n        goto LAB_00011415;\n      }\n      iVar3 = *(int *)puVar1 + 1;\n      *(int *)puVar1 = iVar3;\n      if (iVar3 < iVar2) {\n        DAT_000140c0 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n        if (DAT_000140c0 == -1) goto LAB_00011432;\n        iVar3 = *(int *)puVar1 + 1;\n        *(int *)puVar1 = iVar3;\n        if (iVar3 < iVar2) {\n          DAT_000140bc = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n          if (DAT_000140bc == -1) {\n            ppcVar6 = apcStack_5c;\n            pcVar5 = "bad [addrd]\n";\n            goto LAB_00011415;\n          }\n          if (*(int *)puVar1 < iVar2) goto LAB_00011331;\n        }\n      }\n    }\n  }" { (expression_statement "iVar3 = *(int *)PTR_optind_00013fe8 + 1;" (assignment_expression "iVar3 = *(int *)PTR_optind_00013fe8 + 1" identifier = (binary_expression "*(int *)PTR_optind_00013fe8 + 1" (pointer_expression "*(int *)PTR_optind_00013fe8" * (cast_expression "(int *)PTR_optind_00013fe8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal)) ;) (expression_statement "*(int *)PTR_optind_00013fe8 = iVar3;" (assignment_expression "*(int *)PTR_optind_00013fe8 = iVar3" (pointer_expression "*(int *)PTR_optind_00013fe8" * (cast_expression "(int *)PTR_optind_00013fe8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (if_statement "if (iVar3 < iVar2) {\n      if (DAT_00014008 != -1) {\nLAB_00011331:\n        local_38 = "Unexpected extra argument: %s\n";\n        while (*(int *)puVar1 < iVar2) {\n          apcStack_5c[0] = *(char **)(local_34 + *(int *)puVar1 * 4);\n          pr2serr(local_38);\n          *(int *)puVar1 = *(int *)puVar1 + 1;\n        }\nLAB_00011358:\n        puStack_54 = (undefined *)0x1135d;\n        FUN_00011cd0();\n        uVar4 = 1;\n        puVar7 = auStack_50;\nLAB_000112ef:\n        while (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n          *(undefined4 *)(puVar7 + -4) = 0x11432;\n          FUN_00011dd0();\nLAB_00011432:\n          ppcVar6 = (char **)(puVar7 + -0xc);\n          pcVar5 = "bad [addwr]\n";\nLAB_00011415:\n          *(char **)((int)ppcVar6 + -4) = pcVar5;\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x1141b;\n          pr2serr();\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x11420;\n          FUN_00011cd0();\n          uVar4 = 1;\n          puVar7 = (undefined1 *)((int)ppcVar6 + 0xc);\n        }\n        return uVar4;\n      }\n      DAT_00014008 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n      if (DAT_00014008 == -1) {\n        ppcVar6 = apcStack_5c;\n        pcVar5 = "bad <sz>\n";\n        goto LAB_00011415;\n      }\n      iVar3 = *(int *)puVar1 + 1;\n      *(int *)puVar1 = iVar3;\n      if (iVar3 < iVar2) {\n        DAT_000140c0 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n        if (DAT_000140c0 == -1) goto LAB_00011432;\n        iVar3 = *(int *)puVar1 + 1;\n        *(int *)puVar1 = iVar3;\n        if (iVar3 < iVar2) {\n          DAT_000140bc = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n          if (DAT_000140bc == -1) {\n            ppcVar6 = apcStack_5c;\n            pcVar5 = "bad [addrd]\n";\n            goto LAB_00011415;\n          }\n          if (*(int *)puVar1 < iVar2) goto LAB_00011331;\n        }\n      }\n    }" if (parenthesized_expression "(iVar3 < iVar2)" ( (binary_expression "iVar3 < iVar2" identifier < identifier) )) (compound_statement "{\n      if (DAT_00014008 != -1) {\nLAB_00011331:\n        local_38 = "Unexpected extra argument: %s\n";\n        while (*(int *)puVar1 < iVar2) {\n          apcStack_5c[0] = *(char **)(local_34 + *(int *)puVar1 * 4);\n          pr2serr(local_38);\n          *(int *)puVar1 = *(int *)puVar1 + 1;\n        }\nLAB_00011358:\n        puStack_54 = (undefined *)0x1135d;\n        FUN_00011cd0();\n        uVar4 = 1;\n        puVar7 = auStack_50;\nLAB_000112ef:\n        while (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n          *(undefined4 *)(puVar7 + -4) = 0x11432;\n          FUN_00011dd0();\nLAB_00011432:\n          ppcVar6 = (char **)(puVar7 + -0xc);\n          pcVar5 = "bad [addwr]\n";\nLAB_00011415:\n          *(char **)((int)ppcVar6 + -4) = pcVar5;\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x1141b;\n          pr2serr();\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x11420;\n          FUN_00011cd0();\n          uVar4 = 1;\n          puVar7 = (undefined1 *)((int)ppcVar6 + 0xc);\n        }\n        return uVar4;\n      }\n      DAT_00014008 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n      if (DAT_00014008 == -1) {\n        ppcVar6 = apcStack_5c;\n        pcVar5 = "bad <sz>\n";\n        goto LAB_00011415;\n      }\n      iVar3 = *(int *)puVar1 + 1;\n      *(int *)puVar1 = iVar3;\n      if (iVar3 < iVar2) {\n        DAT_000140c0 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n        if (DAT_000140c0 == -1) goto LAB_00011432;\n        iVar3 = *(int *)puVar1 + 1;\n        *(int *)puVar1 = iVar3;\n        if (iVar3 < iVar2) {\n          DAT_000140bc = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n          if (DAT_000140bc == -1) {\n            ppcVar6 = apcStack_5c;\n            pcVar5 = "bad [addrd]\n";\n            goto LAB_00011415;\n          }\n          if (*(int *)puVar1 < iVar2) goto LAB_00011331;\n        }\n      }\n    }" { (if_statement "if (DAT_00014008 != -1) {\nLAB_00011331:\n        local_38 = "Unexpected extra argument: %s\n";\n        while (*(int *)puVar1 < iVar2) {\n          apcStack_5c[0] = *(char **)(local_34 + *(int *)puVar1 * 4);\n          pr2serr(local_38);\n          *(int *)puVar1 = *(int *)puVar1 + 1;\n        }\nLAB_00011358:\n        puStack_54 = (undefined *)0x1135d;\n        FUN_00011cd0();\n        uVar4 = 1;\n        puVar7 = auStack_50;\nLAB_000112ef:\n        while (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n          *(undefined4 *)(puVar7 + -4) = 0x11432;\n          FUN_00011dd0();\nLAB_00011432:\n          ppcVar6 = (char **)(puVar7 + -0xc);\n          pcVar5 = "bad [addwr]\n";\nLAB_00011415:\n          *(char **)((int)ppcVar6 + -4) = pcVar5;\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x1141b;\n          pr2serr();\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x11420;\n          FUN_00011cd0();\n          uVar4 = 1;\n          puVar7 = (undefined1 *)((int)ppcVar6 + 0xc);\n        }\n        return uVar4;\n      }" if (parenthesized_expression "(DAT_00014008 != -1)" ( (binary_expression "DAT_00014008 != -1" identifier != number_literal) )) (compound_statement "{\nLAB_00011331:\n        local_38 = "Unexpected extra argument: %s\n";\n        while (*(int *)puVar1 < iVar2) {\n          apcStack_5c[0] = *(char **)(local_34 + *(int *)puVar1 * 4);\n          pr2serr(local_38);\n          *(int *)puVar1 = *(int *)puVar1 + 1;\n        }\nLAB_00011358:\n        puStack_54 = (undefined *)0x1135d;\n        FUN_00011cd0();\n        uVar4 = 1;\n        puVar7 = auStack_50;\nLAB_000112ef:\n        while (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n          *(undefined4 *)(puVar7 + -4) = 0x11432;\n          FUN_00011dd0();\nLAB_00011432:\n          ppcVar6 = (char **)(puVar7 + -0xc);\n          pcVar5 = "bad [addwr]\n";\nLAB_00011415:\n          *(char **)((int)ppcVar6 + -4) = pcVar5;\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x1141b;\n          pr2serr();\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x11420;\n          FUN_00011cd0();\n          uVar4 = 1;\n          puVar7 = (undefined1 *)((int)ppcVar6 + 0xc);\n        }\n        return uVar4;\n      }" { (labeled_statement "LAB_00011331:\n        local_38 = "Unexpected extra argument: %s\n";" statement_identifier : (expression_statement "local_38 = "Unexpected extra argument: %s\n";" (assignment_expression "local_38 = "Unexpected extra argument: %s\n"" identifier = (string_literal ""Unexpected extra argument: %s\n"" " string_content escape_sequence ")) ;)) (while_statement "while (*(int *)puVar1 < iVar2) {\n          apcStack_5c[0] = *(char **)(local_34 + *(int *)puVar1 * 4);\n          pr2serr(local_38);\n          *(int *)puVar1 = *(int *)puVar1 + 1;\n        }" while (parenthesized_expression "(*(int *)puVar1 < iVar2)" ( (binary_expression "*(int *)puVar1 < iVar2" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) < identifier) )) (compound_statement "{\n          apcStack_5c[0] = *(char **)(local_34 + *(int *)puVar1 * 4);\n          pr2serr(local_38);\n          *(int *)puVar1 = *(int *)puVar1 + 1;\n        }" { (expression_statement "apcStack_5c[0] = *(char **)(local_34 + *(int *)puVar1 * 4);" (assignment_expression "apcStack_5c[0] = *(char **)(local_34 + *(int *)puVar1 * 4)" (subscript_expression "apcStack_5c[0]" identifier [ number_literal ]) = (pointer_expression "*(char **)(local_34 + *(int *)puVar1 * 4)" * (cast_expression "(char **)(local_34 + *(int *)puVar1 * 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_34 + *(int *)puVar1 * 4)" ( (binary_expression "local_34 + *(int *)puVar1 * 4" identifier + (binary_expression "*(int *)puVar1 * 4" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) * number_literal)) ))))) ;) (expression_statement "pr2serr(local_38);" (call_expression "pr2serr(local_38)" identifier (argument_list "(local_38)" ( identifier ))) ;) (expression_statement "*(int *)puVar1 = *(int *)puVar1 + 1;" (assignment_expression "*(int *)puVar1 = *(int *)puVar1 + 1" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "*(int *)puVar1 + 1" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal)) ;) })) (labeled_statement "LAB_00011358:\n        puStack_54 = (undefined *)0x1135d;" statement_identifier : (expression_statement "puStack_54 = (undefined *)0x1135d;" (assignment_expression "puStack_54 = (undefined *)0x1135d" identifier = (cast_expression "(undefined *)0x1135d" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "FUN_00011cd0();" (call_expression "FUN_00011cd0()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" identifier = number_literal) ;) (expression_statement "puVar7 = auStack_50;" (assignment_expression "puVar7 = auStack_50" identifier = identifier) ;) (labeled_statement "LAB_000112ef:\n        while (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n          *(undefined4 *)(puVar7 + -4) = 0x11432;\n          FUN_00011dd0();\nLAB_00011432:\n          ppcVar6 = (char **)(puVar7 + -0xc);\n          pcVar5 = "bad [addwr]\n";\nLAB_00011415:\n          *(char **)((int)ppcVar6 + -4) = pcVar5;\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x1141b;\n          pr2serr();\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x11420;\n          FUN_00011cd0();\n          uVar4 = 1;\n          puVar7 = (undefined1 *)((int)ppcVar6 + 0xc);\n        }" statement_identifier : (while_statement "while (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n          *(undefined4 *)(puVar7 + -4) = 0x11432;\n          FUN_00011dd0();\nLAB_00011432:\n          ppcVar6 = (char **)(puVar7 + -0xc);\n          pcVar5 = "bad [addwr]\n";\nLAB_00011415:\n          *(char **)((int)ppcVar6 + -4) = pcVar5;\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x1141b;\n          pr2serr();\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x11420;\n          FUN_00011cd0();\n          uVar4 = 1;\n          puVar7 = (undefined1 *)((int)ppcVar6 + 0xc);\n        }" while (parenthesized_expression "(local_24 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_24 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n          *(undefined4 *)(puVar7 + -4) = 0x11432;\n          FUN_00011dd0();\nLAB_00011432:\n          ppcVar6 = (char **)(puVar7 + -0xc);\n          pcVar5 = "bad [addwr]\n";\nLAB_00011415:\n          *(char **)((int)ppcVar6 + -4) = pcVar5;\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x1141b;\n          pr2serr();\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x11420;\n          FUN_00011cd0();\n          uVar4 = 1;\n          puVar7 = (undefined1 *)((int)ppcVar6 + 0xc);\n        }" { (expression_statement "*(undefined4 *)(puVar7 + -4) = 0x11432;" (assignment_expression "*(undefined4 *)(puVar7 + -4) = 0x11432" (pointer_expression "*(undefined4 *)(puVar7 + -4)" * (cast_expression "(undefined4 *)(puVar7 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -4)" ( (binary_expression "puVar7 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00011dd0();" (call_expression "FUN_00011dd0()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_00011432:\n          ppcVar6 = (char **)(puVar7 + -0xc);" statement_identifier : (expression_statement "ppcVar6 = (char **)(puVar7 + -0xc);" (assignment_expression "ppcVar6 = (char **)(puVar7 + -0xc)" identifier = (cast_expression "(char **)(puVar7 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + -0xc)" ( (binary_expression "puVar7 + -0xc" identifier + number_literal) )))) ;)) (expression_statement "pcVar5 = "bad [addwr]\n";" (assignment_expression "pcVar5 = "bad [addwr]\n"" identifier = (string_literal ""bad [addwr]\n"" " string_content escape_sequence ")) ;) (labeled_statement "LAB_00011415:\n          *(char **)((int)ppcVar6 + -4) = pcVar5;" statement_identifier : (expression_statement "*(char **)((int)ppcVar6 + -4) = pcVar5;" (assignment_expression "*(char **)((int)ppcVar6 + -4) = pcVar5" (pointer_expression "*(char **)((int)ppcVar6 + -4)" * (cast_expression "(char **)((int)ppcVar6 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar6 + -4)" ( (binary_expression "(int)ppcVar6 + -4" (cast_expression "(int)ppcVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)((int)ppcVar6 + -8) = 0x1141b;" (assignment_expression "*(undefined4 *)((int)ppcVar6 + -8) = 0x1141b" (pointer_expression "*(undefined4 *)((int)ppcVar6 + -8)" * (cast_expression "(undefined4 *)((int)ppcVar6 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppcVar6 + -8)" ( (binary_expression "(int)ppcVar6 + -8" (cast_expression "(int)ppcVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pr2serr();" (call_expression "pr2serr()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)((int)ppcVar6 + -8) = 0x11420;" (assignment_expression "*(undefined4 *)((int)ppcVar6 + -8) = 0x11420" (pointer_expression "*(undefined4 *)((int)ppcVar6 + -8)" * (cast_expression "(undefined4 *)((int)ppcVar6 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppcVar6 + -8)" ( (binary_expression "(int)ppcVar6 + -8" (cast_expression "(int)ppcVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00011cd0();" (call_expression "FUN_00011cd0()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" identifier = number_literal) ;) (expression_statement "puVar7 = (undefined1 *)((int)ppcVar6 + 0xc);" (assignment_expression "puVar7 = (undefined1 *)((int)ppcVar6 + 0xc)" identifier = (cast_expression "(undefined1 *)((int)ppcVar6 + 0xc)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppcVar6 + 0xc)" ( (binary_expression "(int)ppcVar6 + 0xc" (cast_expression "(int)ppcVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }))) (return_statement "return uVar4;" return identifier ;) })) (expression_statement "DAT_00014008 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));" (assignment_expression "DAT_00014008 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4))" identifier = (call_expression "sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4))" identifier (argument_list "(*(undefined4 *)(local_34 + iVar3 * 4))" ( (pointer_expression "*(undefined4 *)(local_34 + iVar3 * 4)" * (cast_expression "(undefined4 *)(local_34 + iVar3 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_34 + iVar3 * 4)" ( (binary_expression "local_34 + iVar3 * 4" identifier + (binary_expression "iVar3 * 4" identifier * number_literal)) )))) )))) ;) (if_statement "if (DAT_00014008 == -1) {\n        ppcVar6 = apcStack_5c;\n        pcVar5 = "bad <sz>\n";\n        goto LAB_00011415;\n      }" if (parenthesized_expression "(DAT_00014008 == -1)" ( (binary_expression "DAT_00014008 == -1" identifier == number_literal) )) (compound_statement "{\n        ppcVar6 = apcStack_5c;\n        pcVar5 = "bad <sz>\n";\n        goto LAB_00011415;\n      }" { (expression_statement "ppcVar6 = apcStack_5c;" (assignment_expression "ppcVar6 = apcStack_5c" identifier = identifier) ;) (expression_statement "pcVar5 = "bad <sz>\n";" (assignment_expression "pcVar5 = "bad <sz>\n"" identifier = (string_literal ""bad <sz>\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_00011415;" goto statement_identifier ;) })) (expression_statement "iVar3 = *(int *)puVar1 + 1;" (assignment_expression "iVar3 = *(int *)puVar1 + 1" identifier = (binary_expression "*(int *)puVar1 + 1" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal)) ;) (expression_statement "*(int *)puVar1 = iVar3;" (assignment_expression "*(int *)puVar1 = iVar3" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (if_statement "if (iVar3 < iVar2) {\n        DAT_000140c0 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n        if (DAT_000140c0 == -1) goto LAB_00011432;\n        iVar3 = *(int *)puVar1 + 1;\n        *(int *)puVar1 = iVar3;\n        if (iVar3 < iVar2) {\n          DAT_000140bc = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n          if (DAT_000140bc == -1) {\n            ppcVar6 = apcStack_5c;\n            pcVar5 = "bad [addrd]\n";\n            goto LAB_00011415;\n          }\n          if (*(int *)puVar1 < iVar2) goto LAB_00011331;\n        }\n      }" if (parenthesized_expression "(iVar3 < iVar2)" ( (binary_expression "iVar3 < iVar2" identifier < identifier) )) (compound_statement "{\n        DAT_000140c0 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n        if (DAT_000140c0 == -1) goto LAB_00011432;\n        iVar3 = *(int *)puVar1 + 1;\n        *(int *)puVar1 = iVar3;\n        if (iVar3 < iVar2) {\n          DAT_000140bc = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n          if (DAT_000140bc == -1) {\n            ppcVar6 = apcStack_5c;\n            pcVar5 = "bad [addrd]\n";\n            goto LAB_00011415;\n          }\n          if (*(int *)puVar1 < iVar2) goto LAB_00011331;\n        }\n      }" { (expression_statement "DAT_000140c0 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));" (assignment_expression "DAT_000140c0 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4))" identifier = (call_expression "sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4))" identifier (argument_list "(*(undefined4 *)(local_34 + iVar3 * 4))" ( (pointer_expression "*(undefined4 *)(local_34 + iVar3 * 4)" * (cast_expression "(undefined4 *)(local_34 + iVar3 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_34 + iVar3 * 4)" ( (binary_expression "local_34 + iVar3 * 4" identifier + (binary_expression "iVar3 * 4" identifier * number_literal)) )))) )))) ;) (if_statement "if (DAT_000140c0 == -1) goto LAB_00011432;" if (parenthesized_expression "(DAT_000140c0 == -1)" ( (binary_expression "DAT_000140c0 == -1" identifier == number_literal) )) (goto_statement "goto LAB_00011432;" goto statement_identifier ;)) (expression_statement "iVar3 = *(int *)puVar1 + 1;" (assignment_expression "iVar3 = *(int *)puVar1 + 1" identifier = (binary_expression "*(int *)puVar1 + 1" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal)) ;) (expression_statement "*(int *)puVar1 = iVar3;" (assignment_expression "*(int *)puVar1 = iVar3" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (if_statement "if (iVar3 < iVar2) {\n          DAT_000140bc = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n          if (DAT_000140bc == -1) {\n            ppcVar6 = apcStack_5c;\n            pcVar5 = "bad [addrd]\n";\n            goto LAB_00011415;\n          }\n          if (*(int *)puVar1 < iVar2) goto LAB_00011331;\n        }" if (parenthesized_expression "(iVar3 < iVar2)" ( (binary_expression "iVar3 < iVar2" identifier < identifier) )) (compound_statement "{\n          DAT_000140bc = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n          if (DAT_000140bc == -1) {\n            ppcVar6 = apcStack_5c;\n            pcVar5 = "bad [addrd]\n";\n            goto LAB_00011415;\n          }\n          if (*(int *)puVar1 < iVar2) goto LAB_00011331;\n        }" { (expression_statement "DAT_000140bc = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));" (assignment_expression "DAT_000140bc = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4))" identifier = (call_expression "sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4))" identifier (argument_list "(*(undefined4 *)(local_34 + iVar3 * 4))" ( (pointer_expression "*(undefined4 *)(local_34 + iVar3 * 4)" * (cast_expression "(undefined4 *)(local_34 + iVar3 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_34 + iVar3 * 4)" ( (binary_expression "local_34 + iVar3 * 4" identifier + (binary_expression "iVar3 * 4" identifier * number_literal)) )))) )))) ;) (if_statement "if (DAT_000140bc == -1) {\n            ppcVar6 = apcStack_5c;\n            pcVar5 = "bad [addrd]\n";\n            goto LAB_00011415;\n          }" if (parenthesized_expression "(DAT_000140bc == -1)" ( (binary_expression "DAT_000140bc == -1" identifier == number_literal) )) (compound_statement "{\n            ppcVar6 = apcStack_5c;\n            pcVar5 = "bad [addrd]\n";\n            goto LAB_00011415;\n          }" { (expression_statement "ppcVar6 = apcStack_5c;" (assignment_expression "ppcVar6 = apcStack_5c" identifier = identifier) ;) (expression_statement "pcVar5 = "bad [addrd]\n";" (assignment_expression "pcVar5 = "bad [addrd]\n"" identifier = (string_literal ""bad [addrd]\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_00011415;" goto statement_identifier ;) })) (if_statement "if (*(int *)puVar1 < iVar2) goto LAB_00011331;" if (parenthesized_expression "(*(int *)puVar1 < iVar2)" ( (binary_expression "*(int *)puVar1 < iVar2" (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) < identifier) )) (goto_statement "goto LAB_00011331;" goto statement_identifier ;)) })) })) })) })) (expression_statement "pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");" (call_expression "pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n")" identifier (argument_list "("Not in DEBUG mode, so \'-vV\' has no special action\n")" ( (string_literal ""Not in DEBUG mode, so \'-vV\' has no special action\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (expression_statement "apcStack_5c[0] = "1.18 20180628";" (assignment_expression "apcStack_5c[0] = "1.18 20180628"" (subscript_expression "apcStack_5c[0]" identifier [ number_literal ]) = (string_literal ""1.18 20180628"" " string_content ")) ;) (expression_statement "pr2serr("sg_test_rwbuf: version: %s\n");" (call_expression "pr2serr("sg_test_rwbuf: version: %s\n")" identifier (argument_list "("sg_test_rwbuf: version: %s\n")" ( (string_literal ""sg_test_rwbuf: version: %s\n"" " string_content escape_sequence ") ))) ;) (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" identifier = number_literal) ;) (expression_statement "puVar7 = auStack_50;" (assignment_expression "puVar7 = auStack_50" identifier = identifier) ;) (goto_statement "goto LAB_000112ef;" goto statement_identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & 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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement case LIT :) (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement default : (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;)) })) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;)) (while_statement while (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) < IDENT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) * LIT)) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT)) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (while_statement while (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;)) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) }))) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) < IDENT) )) (goto_statement goto statement_identifier ;)) })) })) })) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (string_literal " string_content ")) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })))
(function_definition "undefined4 FUN_00011170(int param_1,int param_2)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  undefined4 uVar4;\n  char *pcVar5;\n  char **ppcVar6;\n  int in_GS_OFFSET;\n  char *apcStack_5c [2];\n  undefined *puStack_54;\n  undefined1 auStack_50 [12];\n  undefined4 *local_44;\n  undefined4 *local_40;\n  undefined **local_3c;\n  char *local_38;\n  int local_34;\n  undefined4 local_28;\n  int local_24;\n  undefined4 *local_18;\n  undefined1 *puVar7;\n  \n  iVar2 = param_1;\n  local_18 = &param_1;\n  puVar7 = auStack_50;\n  local_34 = param_2;\n  local_24 = *(int *)(in_GS_OFFSET + 0x14);\n  local_3c = &PTR_DAT_00014020;\n  local_38 = "hqr:s:t:w:vV";\n  local_44 = (undefined4 *)PTR_optarg_00013ffc;\n  local_40 = local_44;\ncode_r0x000111c3:\n  local_28 = 0;\n  iVar3 = getopt_long(iVar2,local_34,local_38,local_3c,&local_28);\n  puVar1 = PTR_optind_00013fe8;\n  if (iVar3 != -1) {\n    switch(iVar3) {\n    case 0x56:\n    case 0x71:\n      goto code_r0x000111c3;\n    default:\n      goto LAB_00011358;\n    case 0x68:\n      puStack_54 = &UNK_000112ed;\n      FUN_00011cd0();\n      uVar4 = 0;\n      puVar7 = auStack_50;\n      goto LAB_000112ef;\n    case 0x72:\n      DAT_000140bc = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (DAT_000140bc == -1) {\n        pr2serr("bad argument to \'--addrd\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x73:\n      DAT_00014008 = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (DAT_00014008 == -1) {\n        pr2serr("bad argument to \'--size\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x74:\n      iVar3 = sg_get_num(*local_44);\n      if (iVar3 == -1) {\n        pr2serr("bad argument to \'--times\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x76:\n      DAT_000140b8 = DAT_000140b8 + 1;\n      goto code_r0x000111c3;\n    case 0x77:\n      DAT_000140c0 = sg_get_num(*local_40);\n      if (DAT_000140c0 == -1) {\n        pr2serr("bad argument to \'--addwr\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    }\n  }\n  if (*(int *)PTR_optind_00013fe8 < iVar2) {\n    iVar3 = *(int *)PTR_optind_00013fe8 + 1;\n    *(int *)PTR_optind_00013fe8 = iVar3;\n    if (iVar3 < iVar2) {\n      if (DAT_00014008 != -1) {\nLAB_00011331:\n        local_38 = "Unexpected extra argument: %s\n";\n        while (*(int *)puVar1 < iVar2) {\n          apcStack_5c[0] = *(char **)(local_34 + *(int *)puVar1 * 4);\n          pr2serr(local_38);\n          *(int *)puVar1 = *(int *)puVar1 + 1;\n        }\nLAB_00011358:\n        puStack_54 = (undefined *)0x1135d;\n        FUN_00011cd0();\n        uVar4 = 1;\n        puVar7 = auStack_50;\nLAB_000112ef:\n        while (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n          *(undefined4 *)(puVar7 + -4) = 0x11432;\n          FUN_00011dd0();\nLAB_00011432:\n          ppcVar6 = (char **)(puVar7 + -0xc);\n          pcVar5 = "bad [addwr]\n";\nLAB_00011415:\n          *(char **)((int)ppcVar6 + -4) = pcVar5;\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x1141b;\n          pr2serr();\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x11420;\n          FUN_00011cd0();\n          uVar4 = 1;\n          puVar7 = (undefined1 *)((int)ppcVar6 + 0xc);\n        }\n        return uVar4;\n      }\n      DAT_00014008 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n      if (DAT_00014008 == -1) {\n        ppcVar6 = apcStack_5c;\n        pcVar5 = "bad <sz>\n";\n        goto LAB_00011415;\n      }\n      iVar3 = *(int *)puVar1 + 1;\n      *(int *)puVar1 = iVar3;\n      if (iVar3 < iVar2) {\n        DAT_000140c0 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n        if (DAT_000140c0 == -1) goto LAB_00011432;\n        iVar3 = *(int *)puVar1 + 1;\n        *(int *)puVar1 = iVar3;\n        if (iVar3 < iVar2) {\n          DAT_000140bc = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n          if (DAT_000140bc == -1) {\n            ppcVar6 = apcStack_5c;\n            pcVar5 = "bad [addrd]\n";\n            goto LAB_00011415;\n          }\n          if (*(int *)puVar1 < iVar2) goto LAB_00011331;\n        }\n      }\n    }\n  }\n  pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\n  apcStack_5c[0] = "1.18 20180628";\n  pr2serr("sg_test_rwbuf: version: %s\n");\n  uVar4 = 0;\n  puVar7 = auStack_50;\n  goto LAB_000112ef;\n}" (type_identifier "undefined4") (function_declarator "FUN_00011170(int param_1,int param_2)" (identifier "FUN_00011170") (parameter_list "(int param_1,int param_2)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) () ")"))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  undefined4 uVar4;\n  char *pcVar5;\n  char **ppcVar6;\n  int in_GS_OFFSET;\n  char *apcStack_5c [2];\n  undefined *puStack_54;\n  undefined1 auStack_50 [12];\n  undefined4 *local_44;\n  undefined4 *local_40;\n  undefined **local_3c;\n  char *local_38;\n  int local_34;\n  undefined4 local_28;\n  int local_24;\n  undefined4 *local_18;\n  undefined1 *puVar7;\n  \n  iVar2 = param_1;\n  local_18 = &param_1;\n  puVar7 = auStack_50;\n  local_34 = param_2;\n  local_24 = *(int *)(in_GS_OFFSET + 0x14);\n  local_3c = &PTR_DAT_00014020;\n  local_38 = "hqr:s:t:w:vV";\n  local_44 = (undefined4 *)PTR_optarg_00013ffc;\n  local_40 = local_44;\ncode_r0x000111c3:\n  local_28 = 0;\n  iVar3 = getopt_long(iVar2,local_34,local_38,local_3c,&local_28);\n  puVar1 = PTR_optind_00013fe8;\n  if (iVar3 != -1) {\n    switch(iVar3) {\n    case 0x56:\n    case 0x71:\n      goto code_r0x000111c3;\n    default:\n      goto LAB_00011358;\n    case 0x68:\n      puStack_54 = &UNK_000112ed;\n      FUN_00011cd0();\n      uVar4 = 0;\n      puVar7 = auStack_50;\n      goto LAB_000112ef;\n    case 0x72:\n      DAT_000140bc = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (DAT_000140bc == -1) {\n        pr2serr("bad argument to \'--addrd\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x73:\n      DAT_00014008 = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (DAT_00014008 == -1) {\n        pr2serr("bad argument to \'--size\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x74:\n      iVar3 = sg_get_num(*local_44);\n      if (iVar3 == -1) {\n        pr2serr("bad argument to \'--times\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x76:\n      DAT_000140b8 = DAT_000140b8 + 1;\n      goto code_r0x000111c3;\n    case 0x77:\n      DAT_000140c0 = sg_get_num(*local_40);\n      if (DAT_000140c0 == -1) {\n        pr2serr("bad argument to \'--addwr\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    }\n  }\n  if (*(int *)PTR_optind_00013fe8 < iVar2) {\n    iVar3 = *(int *)PTR_optind_00013fe8 + 1;\n    *(int *)PTR_optind_00013fe8 = iVar3;\n    if (iVar3 < iVar2) {\n      if (DAT_00014008 != -1) {\nLAB_00011331:\n        local_38 = "Unexpected extra argument: %s\n";\n        while (*(int *)puVar1 < iVar2) {\n          apcStack_5c[0] = *(char **)(local_34 + *(int *)puVar1 * 4);\n          pr2serr(local_38);\n          *(int *)puVar1 = *(int *)puVar1 + 1;\n        }\nLAB_00011358:\n        puStack_54 = (undefined *)0x1135d;\n        FUN_00011cd0();\n        uVar4 = 1;\n        puVar7 = auStack_50;\nLAB_000112ef:\n        while (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n          *(undefined4 *)(puVar7 + -4) = 0x11432;\n          FUN_00011dd0();\nLAB_00011432:\n          ppcVar6 = (char **)(puVar7 + -0xc);\n          pcVar5 = "bad [addwr]\n";\nLAB_00011415:\n          *(char **)((int)ppcVar6 + -4) = pcVar5;\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x1141b;\n          pr2serr();\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x11420;\n          FUN_00011cd0();\n          uVar4 = 1;\n          puVar7 = (undefined1 *)((int)ppcVar6 + 0xc);\n        }\n        return uVar4;\n      }\n      DAT_00014008 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n      if (DAT_00014008 == -1) {\n        ppcVar6 = apcStack_5c;\n        pcVar5 = "bad <sz>\n";\n        goto LAB_00011415;\n      }\n      iVar3 = *(int *)puVar1 + 1;\n      *(int *)puVar1 = iVar3;\n      if (iVar3 < iVar2) {\n        DAT_000140c0 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n        if (DAT_000140c0 == -1) goto LAB_00011432;\n        iVar3 = *(int *)puVar1 + 1;\n        *(int *)puVar1 = iVar3;\n        if (iVar3 < iVar2) {\n          DAT_000140bc = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n          if (DAT_000140bc == -1) {\n            ppcVar6 = apcStack_5c;\n            pcVar5 = "bad [addrd]\n";\n            goto LAB_00011415;\n          }\n          if (*(int *)puVar1 < iVar2) goto LAB_00011331;\n        }\n      }\n    }\n  }\n  pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");\n  apcStack_5c[0] = "1.18 20180628";\n  pr2serr("sg_test_rwbuf: version: %s\n");\n  uVar4 = 0;\n  puVar7 = auStack_50;\n  goto LAB_000112ef;\n}" ({ "{") (declaration "undefined *puVar1;" (type_identifier "undefined") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "undefined4 uVar4;" (type_identifier "undefined4") (identifier "uVar4") (; ";")) (declaration "char *pcVar5;" (primitive_type "char") (pointer_declarator "*pcVar5" (* "*") (identifier "pcVar5")) (; ";")) (declaration "char **ppcVar6;" (primitive_type "char") (pointer_declarator "**ppcVar6" (* "*") (pointer_declarator "*ppcVar6" (* "*") (identifier "ppcVar6"))) (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "char *apcStack_5c [2];" (primitive_type "char") (pointer_declarator "*apcStack_5c [2]" (* "*") (array_declarator "apcStack_5c [2]" (identifier "apcStack_5c") ([ "[") (number_literal "2") (] "]"))) (; ";")) (declaration "undefined *puStack_54;" (type_identifier "undefined") (pointer_declarator "*puStack_54" (* "*") (identifier "puStack_54")) (; ";")) (declaration "undefined1 auStack_50 [12];" (type_identifier "undefined1") (array_declarator "auStack_50 [12]" (identifier "auStack_50") ([ "[") (number_literal "12") (] "]")) (; ";")) (declaration "undefined4 *local_44;" (type_identifier "undefined4") (pointer_declarator "*local_44" (* "*") (identifier "local_44")) (; ";")) (declaration "undefined4 *local_40;" (type_identifier "undefined4") (pointer_declarator "*local_40" (* "*") (identifier "local_40")) (; ";")) (declaration "undefined **local_3c;" (type_identifier "undefined") (pointer_declarator "**local_3c" (* "*") (pointer_declarator "*local_3c" (* "*") (identifier "local_3c"))) (; ";")) (declaration "char *local_38;" (primitive_type "char") (pointer_declarator "*local_38" (* "*") (identifier "local_38")) (; ";")) (declaration "int local_34;" (primitive_type "int") (identifier "local_34") (; ";")) (declaration "undefined4 local_28;" (type_identifier "undefined4") (identifier "local_28") (; ";")) (declaration "int local_24;" (primitive_type "int") (identifier "local_24") (; ";")) (declaration "undefined4 *local_18;" (type_identifier "undefined4") (pointer_declarator "*local_18" (* "*") (identifier "local_18")) (; ";")) (declaration "undefined1 *puVar7;" (type_identifier "undefined1") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (expression_statement "iVar2 = param_1;" (assignment_expression "iVar2 = param_1" (identifier "iVar2") (= "=") (identifier "param_1")) (; ";")) (expression_statement "local_18 = &param_1;" (assignment_expression "local_18 = &param_1" (identifier "local_18") (= "=") (pointer_expression "&param_1" (& "&") (identifier "param_1"))) (; ";")) (expression_statement "puVar7 = auStack_50;" (assignment_expression "puVar7 = auStack_50" (identifier "puVar7") (= "=") (identifier "auStack_50")) (; ";")) (expression_statement "local_34 = param_2;" (assignment_expression "local_34 = param_2" (identifier "local_34") (= "=") (identifier "param_2")) (; ";")) (expression_statement "local_24 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_24 = *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_24") (= "=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "local_3c = &PTR_DAT_00014020;" (assignment_expression "local_3c = &PTR_DAT_00014020" (identifier "local_3c") (= "=") (pointer_expression "&PTR_DAT_00014020" (& "&") (identifier "PTR_DAT_00014020"))) (; ";")) (expression_statement "local_38 = "hqr:s:t:w:vV";" (assignment_expression "local_38 = "hqr:s:t:w:vV"" (identifier "local_38") (= "=") (string_literal ""hqr:s:t:w:vV"" (" """) (string_content "hqr:s:t:w:vV") (" """))) (; ";")) (expression_statement "local_44 = (undefined4 *)PTR_optarg_00013ffc;" (assignment_expression "local_44 = (undefined4 *)PTR_optarg_00013ffc" (identifier "local_44") (= "=") (cast_expression "(undefined4 *)PTR_optarg_00013ffc" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_optarg_00013ffc"))) (; ";")) (expression_statement "local_40 = local_44;" (assignment_expression "local_40 = local_44" (identifier "local_40") (= "=") (identifier "local_44")) (; ";")) (labeled_statement "code_r0x000111c3:\n  local_28 = 0;" (statement_identifier "code_r0x000111c3") (: ":") (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" (identifier "local_28") (= "=") (number_literal "0")) (; ";"))) (expression_statement "iVar3 = getopt_long(iVar2,local_34,local_38,local_3c,&local_28);" (assignment_expression "iVar3 = getopt_long(iVar2,local_34,local_38,local_3c,&local_28)" (identifier "iVar3") (= "=") (call_expression "getopt_long(iVar2,local_34,local_38,local_3c,&local_28)" (identifier "getopt_long") (argument_list "(iVar2,local_34,local_38,local_3c,&local_28)" (( "(") (identifier "iVar2") (, ",") (identifier "local_34") (, ",") (identifier "local_38") (, ",") (identifier "local_3c") (, ",") (pointer_expression "&local_28" (& "&") (identifier "local_28")) () ")")))) (; ";")) (expression_statement "puVar1 = PTR_optind_00013fe8;" (assignment_expression "puVar1 = PTR_optind_00013fe8" (identifier "puVar1") (= "=") (identifier "PTR_optind_00013fe8")) (; ";")) (if_statement "if (iVar3 != -1) {\n    switch(iVar3) {\n    case 0x56:\n    case 0x71:\n      goto code_r0x000111c3;\n    default:\n      goto LAB_00011358;\n    case 0x68:\n      puStack_54 = &UNK_000112ed;\n      FUN_00011cd0();\n      uVar4 = 0;\n      puVar7 = auStack_50;\n      goto LAB_000112ef;\n    case 0x72:\n      DAT_000140bc = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (DAT_000140bc == -1) {\n        pr2serr("bad argument to \'--addrd\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x73:\n      DAT_00014008 = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (DAT_00014008 == -1) {\n        pr2serr("bad argument to \'--size\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x74:\n      iVar3 = sg_get_num(*local_44);\n      if (iVar3 == -1) {\n        pr2serr("bad argument to \'--times\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x76:\n      DAT_000140b8 = DAT_000140b8 + 1;\n      goto code_r0x000111c3;\n    case 0x77:\n      DAT_000140c0 = sg_get_num(*local_40);\n      if (DAT_000140c0 == -1) {\n        pr2serr("bad argument to \'--addwr\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    }\n  }" (if "if") (parenthesized_expression "(iVar3 != -1)" (( "(") (binary_expression "iVar3 != -1" (identifier "iVar3") (!= "!=") (number_literal "-1")) () ")")) (compound_statement "{\n    switch(iVar3) {\n    case 0x56:\n    case 0x71:\n      goto code_r0x000111c3;\n    default:\n      goto LAB_00011358;\n    case 0x68:\n      puStack_54 = &UNK_000112ed;\n      FUN_00011cd0();\n      uVar4 = 0;\n      puVar7 = auStack_50;\n      goto LAB_000112ef;\n    case 0x72:\n      DAT_000140bc = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (DAT_000140bc == -1) {\n        pr2serr("bad argument to \'--addrd\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x73:\n      DAT_00014008 = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (DAT_00014008 == -1) {\n        pr2serr("bad argument to \'--size\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x74:\n      iVar3 = sg_get_num(*local_44);\n      if (iVar3 == -1) {\n        pr2serr("bad argument to \'--times\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x76:\n      DAT_000140b8 = DAT_000140b8 + 1;\n      goto code_r0x000111c3;\n    case 0x77:\n      DAT_000140c0 = sg_get_num(*local_40);\n      if (DAT_000140c0 == -1) {\n        pr2serr("bad argument to \'--addwr\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    }\n  }" ({ "{") (switch_statement "switch(iVar3) {\n    case 0x56:\n    case 0x71:\n      goto code_r0x000111c3;\n    default:\n      goto LAB_00011358;\n    case 0x68:\n      puStack_54 = &UNK_000112ed;\n      FUN_00011cd0();\n      uVar4 = 0;\n      puVar7 = auStack_50;\n      goto LAB_000112ef;\n    case 0x72:\n      DAT_000140bc = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (DAT_000140bc == -1) {\n        pr2serr("bad argument to \'--addrd\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x73:\n      DAT_00014008 = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (DAT_00014008 == -1) {\n        pr2serr("bad argument to \'--size\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x74:\n      iVar3 = sg_get_num(*local_44);\n      if (iVar3 == -1) {\n        pr2serr("bad argument to \'--times\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x76:\n      DAT_000140b8 = DAT_000140b8 + 1;\n      goto code_r0x000111c3;\n    case 0x77:\n      DAT_000140c0 = sg_get_num(*local_40);\n      if (DAT_000140c0 == -1) {\n        pr2serr("bad argument to \'--addwr\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    }" (switch "switch") (parenthesized_expression "(iVar3)" (( "(") (identifier "iVar3") () ")")) (compound_statement "{\n    case 0x56:\n    case 0x71:\n      goto code_r0x000111c3;\n    default:\n      goto LAB_00011358;\n    case 0x68:\n      puStack_54 = &UNK_000112ed;\n      FUN_00011cd0();\n      uVar4 = 0;\n      puVar7 = auStack_50;\n      goto LAB_000112ef;\n    case 0x72:\n      DAT_000140bc = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (DAT_000140bc == -1) {\n        pr2serr("bad argument to \'--addrd\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x73:\n      DAT_00014008 = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (DAT_00014008 == -1) {\n        pr2serr("bad argument to \'--size\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x74:\n      iVar3 = sg_get_num(*local_44);\n      if (iVar3 == -1) {\n        pr2serr("bad argument to \'--times\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    case 0x76:\n      DAT_000140b8 = DAT_000140b8 + 1;\n      goto code_r0x000111c3;\n    case 0x77:\n      DAT_000140c0 = sg_get_num(*local_40);\n      if (DAT_000140c0 == -1) {\n        pr2serr("bad argument to \'--addwr\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;\n    }" ({ "{") (case_statement "case 0x56:" (case "case") (number_literal "0x56") (: ":")) (case_statement "case 0x71:\n      goto code_r0x000111c3;" (case "case") (number_literal "0x71") (: ":") (goto_statement "goto code_r0x000111c3;" (goto "goto") (statement_identifier "code_r0x000111c3") (; ";"))) (case_statement "default:\n      goto LAB_00011358;" (default "default") (: ":") (goto_statement "goto LAB_00011358;" (goto "goto") (statement_identifier "LAB_00011358") (; ";"))) (case_statement "case 0x68:\n      puStack_54 = &UNK_000112ed;\n      FUN_00011cd0();\n      uVar4 = 0;\n      puVar7 = auStack_50;\n      goto LAB_000112ef;" (case "case") (number_literal "0x68") (: ":") (expression_statement "puStack_54 = &UNK_000112ed;" (assignment_expression "puStack_54 = &UNK_000112ed" (identifier "puStack_54") (= "=") (pointer_expression "&UNK_000112ed" (& "&") (identifier "UNK_000112ed"))) (; ";")) (expression_statement "FUN_00011cd0();" (call_expression "FUN_00011cd0()" (identifier "FUN_00011cd0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" (identifier "uVar4") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar7 = auStack_50;" (assignment_expression "puVar7 = auStack_50" (identifier "puVar7") (= "=") (identifier "auStack_50")) (; ";")) (goto_statement "goto LAB_000112ef;" (goto "goto") (statement_identifier "LAB_000112ef") (; ";"))) (case_statement "case 0x72:\n      DAT_000140bc = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (DAT_000140bc == -1) {\n        pr2serr("bad argument to \'--addrd\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;" (case "case") (number_literal "0x72") (: ":") (expression_statement "DAT_000140bc = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);" (assignment_expression "DAT_000140bc = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc)" (identifier "DAT_000140bc") (= "=") (call_expression "sg_get_num(*(undefined4 *)PTR_optarg_00013ffc)" (identifier "sg_get_num") (argument_list "(*(undefined4 *)PTR_optarg_00013ffc)" (( "(") (pointer_expression "*(undefined4 *)PTR_optarg_00013ffc" (* "*") (cast_expression "(undefined4 *)PTR_optarg_00013ffc" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_optarg_00013ffc"))) () ")")))) (; ";")) (if_statement "if (DAT_000140bc == -1) {\n        pr2serr("bad argument to \'--addrd\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }" (if "if") (parenthesized_expression "(DAT_000140bc == -1)" (( "(") (binary_expression "DAT_000140bc == -1" (identifier "DAT_000140bc") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n        pr2serr("bad argument to \'--addrd\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }" ({ "{") (expression_statement "pr2serr("bad argument to \'--addrd\'\n");" (call_expression "pr2serr("bad argument to \'--addrd\'\n")" (identifier "pr2serr") (argument_list "("bad argument to \'--addrd\'\n")" (( "(") (string_literal ""bad argument to \'--addrd\'\n"" (" """) (string_content "bad argument to ") (escape_sequence "\'") (string_content "--addrd") (escape_sequence "\'") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" (identifier "uVar4") (= "=") (number_literal "1")) (; ";")) (expression_statement "puVar7 = auStack_50;" (assignment_expression "puVar7 = auStack_50" (identifier "puVar7") (= "=") (identifier "auStack_50")) (; ";")) (goto_statement "goto LAB_000112ef;" (goto "goto") (statement_identifier "LAB_000112ef") (; ";")) (} "}"))) (goto_statement "goto code_r0x000111c3;" (goto "goto") (statement_identifier "code_r0x000111c3") (; ";"))) (case_statement "case 0x73:\n      DAT_00014008 = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);\n      if (DAT_00014008 == -1) {\n        pr2serr("bad argument to \'--size\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;" (case "case") (number_literal "0x73") (: ":") (expression_statement "DAT_00014008 = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);" (assignment_expression "DAT_00014008 = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc)" (identifier "DAT_00014008") (= "=") (call_expression "sg_get_num(*(undefined4 *)PTR_optarg_00013ffc)" (identifier "sg_get_num") (argument_list "(*(undefined4 *)PTR_optarg_00013ffc)" (( "(") (pointer_expression "*(undefined4 *)PTR_optarg_00013ffc" (* "*") (cast_expression "(undefined4 *)PTR_optarg_00013ffc" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_optarg_00013ffc"))) () ")")))) (; ";")) (if_statement "if (DAT_00014008 == -1) {\n        pr2serr("bad argument to \'--size\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }" (if "if") (parenthesized_expression "(DAT_00014008 == -1)" (( "(") (binary_expression "DAT_00014008 == -1" (identifier "DAT_00014008") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n        pr2serr("bad argument to \'--size\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }" ({ "{") (expression_statement "pr2serr("bad argument to \'--size\'\n");" (call_expression "pr2serr("bad argument to \'--size\'\n")" (identifier "pr2serr") (argument_list "("bad argument to \'--size\'\n")" (( "(") (string_literal ""bad argument to \'--size\'\n"" (" """) (string_content "bad argument to ") (escape_sequence "\'") (string_content "--size") (escape_sequence "\'") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" (identifier "uVar4") (= "=") (number_literal "1")) (; ";")) (expression_statement "puVar7 = auStack_50;" (assignment_expression "puVar7 = auStack_50" (identifier "puVar7") (= "=") (identifier "auStack_50")) (; ";")) (goto_statement "goto LAB_000112ef;" (goto "goto") (statement_identifier "LAB_000112ef") (; ";")) (} "}"))) (goto_statement "goto code_r0x000111c3;" (goto "goto") (statement_identifier "code_r0x000111c3") (; ";"))) (case_statement "case 0x74:\n      iVar3 = sg_get_num(*local_44);\n      if (iVar3 == -1) {\n        pr2serr("bad argument to \'--times\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;" (case "case") (number_literal "0x74") (: ":") (expression_statement "iVar3 = sg_get_num(*local_44);" (assignment_expression "iVar3 = sg_get_num(*local_44)" (identifier "iVar3") (= "=") (call_expression "sg_get_num(*local_44)" (identifier "sg_get_num") (argument_list "(*local_44)" (( "(") (pointer_expression "*local_44" (* "*") (identifier "local_44")) () ")")))) (; ";")) (if_statement "if (iVar3 == -1) {\n        pr2serr("bad argument to \'--times\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }" (if "if") (parenthesized_expression "(iVar3 == -1)" (( "(") (binary_expression "iVar3 == -1" (identifier "iVar3") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n        pr2serr("bad argument to \'--times\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }" ({ "{") (expression_statement "pr2serr("bad argument to \'--times\'\n");" (call_expression "pr2serr("bad argument to \'--times\'\n")" (identifier "pr2serr") (argument_list "("bad argument to \'--times\'\n")" (( "(") (string_literal ""bad argument to \'--times\'\n"" (" """) (string_content "bad argument to ") (escape_sequence "\'") (string_content "--times") (escape_sequence "\'") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" (identifier "uVar4") (= "=") (number_literal "1")) (; ";")) (expression_statement "puVar7 = auStack_50;" (assignment_expression "puVar7 = auStack_50" (identifier "puVar7") (= "=") (identifier "auStack_50")) (; ";")) (goto_statement "goto LAB_000112ef;" (goto "goto") (statement_identifier "LAB_000112ef") (; ";")) (} "}"))) (goto_statement "goto code_r0x000111c3;" (goto "goto") (statement_identifier "code_r0x000111c3") (; ";"))) (case_statement "case 0x76:\n      DAT_000140b8 = DAT_000140b8 + 1;\n      goto code_r0x000111c3;" (case "case") (number_literal "0x76") (: ":") (expression_statement "DAT_000140b8 = DAT_000140b8 + 1;" (assignment_expression "DAT_000140b8 = DAT_000140b8 + 1" (identifier "DAT_000140b8") (= "=") (binary_expression "DAT_000140b8 + 1" (identifier "DAT_000140b8") (+ "+") (number_literal "1"))) (; ";")) (goto_statement "goto code_r0x000111c3;" (goto "goto") (statement_identifier "code_r0x000111c3") (; ";"))) (case_statement "case 0x77:\n      DAT_000140c0 = sg_get_num(*local_40);\n      if (DAT_000140c0 == -1) {\n        pr2serr("bad argument to \'--addwr\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }\n      goto code_r0x000111c3;" (case "case") (number_literal "0x77") (: ":") (expression_statement "DAT_000140c0 = sg_get_num(*local_40);" (assignment_expression "DAT_000140c0 = sg_get_num(*local_40)" (identifier "DAT_000140c0") (= "=") (call_expression "sg_get_num(*local_40)" (identifier "sg_get_num") (argument_list "(*local_40)" (( "(") (pointer_expression "*local_40" (* "*") (identifier "local_40")) () ")")))) (; ";")) (if_statement "if (DAT_000140c0 == -1) {\n        pr2serr("bad argument to \'--addwr\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }" (if "if") (parenthesized_expression "(DAT_000140c0 == -1)" (( "(") (binary_expression "DAT_000140c0 == -1" (identifier "DAT_000140c0") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n        pr2serr("bad argument to \'--addwr\'\n");\n        uVar4 = 1;\n        puVar7 = auStack_50;\n        goto LAB_000112ef;\n      }" ({ "{") (expression_statement "pr2serr("bad argument to \'--addwr\'\n");" (call_expression "pr2serr("bad argument to \'--addwr\'\n")" (identifier "pr2serr") (argument_list "("bad argument to \'--addwr\'\n")" (( "(") (string_literal ""bad argument to \'--addwr\'\n"" (" """) (string_content "bad argument to ") (escape_sequence "\'") (string_content "--addwr") (escape_sequence "\'") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" (identifier "uVar4") (= "=") (number_literal "1")) (; ";")) (expression_statement "puVar7 = auStack_50;" (assignment_expression "puVar7 = auStack_50" (identifier "puVar7") (= "=") (identifier "auStack_50")) (; ";")) (goto_statement "goto LAB_000112ef;" (goto "goto") (statement_identifier "LAB_000112ef") (; ";")) (} "}"))) (goto_statement "goto code_r0x000111c3;" (goto "goto") (statement_identifier "code_r0x000111c3") (; ";"))) (} "}"))) (} "}"))) (if_statement "if (*(int *)PTR_optind_00013fe8 < iVar2) {\n    iVar3 = *(int *)PTR_optind_00013fe8 + 1;\n    *(int *)PTR_optind_00013fe8 = iVar3;\n    if (iVar3 < iVar2) {\n      if (DAT_00014008 != -1) {\nLAB_00011331:\n        local_38 = "Unexpected extra argument: %s\n";\n        while (*(int *)puVar1 < iVar2) {\n          apcStack_5c[0] = *(char **)(local_34 + *(int *)puVar1 * 4);\n          pr2serr(local_38);\n          *(int *)puVar1 = *(int *)puVar1 + 1;\n        }\nLAB_00011358:\n        puStack_54 = (undefined *)0x1135d;\n        FUN_00011cd0();\n        uVar4 = 1;\n        puVar7 = auStack_50;\nLAB_000112ef:\n        while (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n          *(undefined4 *)(puVar7 + -4) = 0x11432;\n          FUN_00011dd0();\nLAB_00011432:\n          ppcVar6 = (char **)(puVar7 + -0xc);\n          pcVar5 = "bad [addwr]\n";\nLAB_00011415:\n          *(char **)((int)ppcVar6 + -4) = pcVar5;\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x1141b;\n          pr2serr();\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x11420;\n          FUN_00011cd0();\n          uVar4 = 1;\n          puVar7 = (undefined1 *)((int)ppcVar6 + 0xc);\n        }\n        return uVar4;\n      }\n      DAT_00014008 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n      if (DAT_00014008 == -1) {\n        ppcVar6 = apcStack_5c;\n        pcVar5 = "bad <sz>\n";\n        goto LAB_00011415;\n      }\n      iVar3 = *(int *)puVar1 + 1;\n      *(int *)puVar1 = iVar3;\n      if (iVar3 < iVar2) {\n        DAT_000140c0 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n        if (DAT_000140c0 == -1) goto LAB_00011432;\n        iVar3 = *(int *)puVar1 + 1;\n        *(int *)puVar1 = iVar3;\n        if (iVar3 < iVar2) {\n          DAT_000140bc = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n          if (DAT_000140bc == -1) {\n            ppcVar6 = apcStack_5c;\n            pcVar5 = "bad [addrd]\n";\n            goto LAB_00011415;\n          }\n          if (*(int *)puVar1 < iVar2) goto LAB_00011331;\n        }\n      }\n    }\n  }" (if "if") (parenthesized_expression "(*(int *)PTR_optind_00013fe8 < iVar2)" (( "(") (binary_expression "*(int *)PTR_optind_00013fe8 < iVar2" (pointer_expression "*(int *)PTR_optind_00013fe8" (* "*") (cast_expression "(int *)PTR_optind_00013fe8" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_optind_00013fe8"))) (< "<") (identifier "iVar2")) () ")")) (compound_statement "{\n    iVar3 = *(int *)PTR_optind_00013fe8 + 1;\n    *(int *)PTR_optind_00013fe8 = iVar3;\n    if (iVar3 < iVar2) {\n      if (DAT_00014008 != -1) {\nLAB_00011331:\n        local_38 = "Unexpected extra argument: %s\n";\n        while (*(int *)puVar1 < iVar2) {\n          apcStack_5c[0] = *(char **)(local_34 + *(int *)puVar1 * 4);\n          pr2serr(local_38);\n          *(int *)puVar1 = *(int *)puVar1 + 1;\n        }\nLAB_00011358:\n        puStack_54 = (undefined *)0x1135d;\n        FUN_00011cd0();\n        uVar4 = 1;\n        puVar7 = auStack_50;\nLAB_000112ef:\n        while (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n          *(undefined4 *)(puVar7 + -4) = 0x11432;\n          FUN_00011dd0();\nLAB_00011432:\n          ppcVar6 = (char **)(puVar7 + -0xc);\n          pcVar5 = "bad [addwr]\n";\nLAB_00011415:\n          *(char **)((int)ppcVar6 + -4) = pcVar5;\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x1141b;\n          pr2serr();\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x11420;\n          FUN_00011cd0();\n          uVar4 = 1;\n          puVar7 = (undefined1 *)((int)ppcVar6 + 0xc);\n        }\n        return uVar4;\n      }\n      DAT_00014008 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n      if (DAT_00014008 == -1) {\n        ppcVar6 = apcStack_5c;\n        pcVar5 = "bad <sz>\n";\n        goto LAB_00011415;\n      }\n      iVar3 = *(int *)puVar1 + 1;\n      *(int *)puVar1 = iVar3;\n      if (iVar3 < iVar2) {\n        DAT_000140c0 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n        if (DAT_000140c0 == -1) goto LAB_00011432;\n        iVar3 = *(int *)puVar1 + 1;\n        *(int *)puVar1 = iVar3;\n        if (iVar3 < iVar2) {\n          DAT_000140bc = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n          if (DAT_000140bc == -1) {\n            ppcVar6 = apcStack_5c;\n            pcVar5 = "bad [addrd]\n";\n            goto LAB_00011415;\n          }\n          if (*(int *)puVar1 < iVar2) goto LAB_00011331;\n        }\n      }\n    }\n  }" ({ "{") (expression_statement "iVar3 = *(int *)PTR_optind_00013fe8 + 1;" (assignment_expression "iVar3 = *(int *)PTR_optind_00013fe8 + 1" (identifier "iVar3") (= "=") (binary_expression "*(int *)PTR_optind_00013fe8 + 1" (pointer_expression "*(int *)PTR_optind_00013fe8" (* "*") (cast_expression "(int *)PTR_optind_00013fe8" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_optind_00013fe8"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(int *)PTR_optind_00013fe8 = iVar3;" (assignment_expression "*(int *)PTR_optind_00013fe8 = iVar3" (pointer_expression "*(int *)PTR_optind_00013fe8" (* "*") (cast_expression "(int *)PTR_optind_00013fe8" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_optind_00013fe8"))) (= "=") (identifier "iVar3")) (; ";")) (if_statement "if (iVar3 < iVar2) {\n      if (DAT_00014008 != -1) {\nLAB_00011331:\n        local_38 = "Unexpected extra argument: %s\n";\n        while (*(int *)puVar1 < iVar2) {\n          apcStack_5c[0] = *(char **)(local_34 + *(int *)puVar1 * 4);\n          pr2serr(local_38);\n          *(int *)puVar1 = *(int *)puVar1 + 1;\n        }\nLAB_00011358:\n        puStack_54 = (undefined *)0x1135d;\n        FUN_00011cd0();\n        uVar4 = 1;\n        puVar7 = auStack_50;\nLAB_000112ef:\n        while (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n          *(undefined4 *)(puVar7 + -4) = 0x11432;\n          FUN_00011dd0();\nLAB_00011432:\n          ppcVar6 = (char **)(puVar7 + -0xc);\n          pcVar5 = "bad [addwr]\n";\nLAB_00011415:\n          *(char **)((int)ppcVar6 + -4) = pcVar5;\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x1141b;\n          pr2serr();\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x11420;\n          FUN_00011cd0();\n          uVar4 = 1;\n          puVar7 = (undefined1 *)((int)ppcVar6 + 0xc);\n        }\n        return uVar4;\n      }\n      DAT_00014008 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n      if (DAT_00014008 == -1) {\n        ppcVar6 = apcStack_5c;\n        pcVar5 = "bad <sz>\n";\n        goto LAB_00011415;\n      }\n      iVar3 = *(int *)puVar1 + 1;\n      *(int *)puVar1 = iVar3;\n      if (iVar3 < iVar2) {\n        DAT_000140c0 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n        if (DAT_000140c0 == -1) goto LAB_00011432;\n        iVar3 = *(int *)puVar1 + 1;\n        *(int *)puVar1 = iVar3;\n        if (iVar3 < iVar2) {\n          DAT_000140bc = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n          if (DAT_000140bc == -1) {\n            ppcVar6 = apcStack_5c;\n            pcVar5 = "bad [addrd]\n";\n            goto LAB_00011415;\n          }\n          if (*(int *)puVar1 < iVar2) goto LAB_00011331;\n        }\n      }\n    }" (if "if") (parenthesized_expression "(iVar3 < iVar2)" (( "(") (binary_expression "iVar3 < iVar2" (identifier "iVar3") (< "<") (identifier "iVar2")) () ")")) (compound_statement "{\n      if (DAT_00014008 != -1) {\nLAB_00011331:\n        local_38 = "Unexpected extra argument: %s\n";\n        while (*(int *)puVar1 < iVar2) {\n          apcStack_5c[0] = *(char **)(local_34 + *(int *)puVar1 * 4);\n          pr2serr(local_38);\n          *(int *)puVar1 = *(int *)puVar1 + 1;\n        }\nLAB_00011358:\n        puStack_54 = (undefined *)0x1135d;\n        FUN_00011cd0();\n        uVar4 = 1;\n        puVar7 = auStack_50;\nLAB_000112ef:\n        while (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n          *(undefined4 *)(puVar7 + -4) = 0x11432;\n          FUN_00011dd0();\nLAB_00011432:\n          ppcVar6 = (char **)(puVar7 + -0xc);\n          pcVar5 = "bad [addwr]\n";\nLAB_00011415:\n          *(char **)((int)ppcVar6 + -4) = pcVar5;\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x1141b;\n          pr2serr();\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x11420;\n          FUN_00011cd0();\n          uVar4 = 1;\n          puVar7 = (undefined1 *)((int)ppcVar6 + 0xc);\n        }\n        return uVar4;\n      }\n      DAT_00014008 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n      if (DAT_00014008 == -1) {\n        ppcVar6 = apcStack_5c;\n        pcVar5 = "bad <sz>\n";\n        goto LAB_00011415;\n      }\n      iVar3 = *(int *)puVar1 + 1;\n      *(int *)puVar1 = iVar3;\n      if (iVar3 < iVar2) {\n        DAT_000140c0 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n        if (DAT_000140c0 == -1) goto LAB_00011432;\n        iVar3 = *(int *)puVar1 + 1;\n        *(int *)puVar1 = iVar3;\n        if (iVar3 < iVar2) {\n          DAT_000140bc = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n          if (DAT_000140bc == -1) {\n            ppcVar6 = apcStack_5c;\n            pcVar5 = "bad [addrd]\n";\n            goto LAB_00011415;\n          }\n          if (*(int *)puVar1 < iVar2) goto LAB_00011331;\n        }\n      }\n    }" ({ "{") (if_statement "if (DAT_00014008 != -1) {\nLAB_00011331:\n        local_38 = "Unexpected extra argument: %s\n";\n        while (*(int *)puVar1 < iVar2) {\n          apcStack_5c[0] = *(char **)(local_34 + *(int *)puVar1 * 4);\n          pr2serr(local_38);\n          *(int *)puVar1 = *(int *)puVar1 + 1;\n        }\nLAB_00011358:\n        puStack_54 = (undefined *)0x1135d;\n        FUN_00011cd0();\n        uVar4 = 1;\n        puVar7 = auStack_50;\nLAB_000112ef:\n        while (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n          *(undefined4 *)(puVar7 + -4) = 0x11432;\n          FUN_00011dd0();\nLAB_00011432:\n          ppcVar6 = (char **)(puVar7 + -0xc);\n          pcVar5 = "bad [addwr]\n";\nLAB_00011415:\n          *(char **)((int)ppcVar6 + -4) = pcVar5;\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x1141b;\n          pr2serr();\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x11420;\n          FUN_00011cd0();\n          uVar4 = 1;\n          puVar7 = (undefined1 *)((int)ppcVar6 + 0xc);\n        }\n        return uVar4;\n      }" (if "if") (parenthesized_expression "(DAT_00014008 != -1)" (( "(") (binary_expression "DAT_00014008 != -1" (identifier "DAT_00014008") (!= "!=") (number_literal "-1")) () ")")) (compound_statement "{\nLAB_00011331:\n        local_38 = "Unexpected extra argument: %s\n";\n        while (*(int *)puVar1 < iVar2) {\n          apcStack_5c[0] = *(char **)(local_34 + *(int *)puVar1 * 4);\n          pr2serr(local_38);\n          *(int *)puVar1 = *(int *)puVar1 + 1;\n        }\nLAB_00011358:\n        puStack_54 = (undefined *)0x1135d;\n        FUN_00011cd0();\n        uVar4 = 1;\n        puVar7 = auStack_50;\nLAB_000112ef:\n        while (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n          *(undefined4 *)(puVar7 + -4) = 0x11432;\n          FUN_00011dd0();\nLAB_00011432:\n          ppcVar6 = (char **)(puVar7 + -0xc);\n          pcVar5 = "bad [addwr]\n";\nLAB_00011415:\n          *(char **)((int)ppcVar6 + -4) = pcVar5;\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x1141b;\n          pr2serr();\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x11420;\n          FUN_00011cd0();\n          uVar4 = 1;\n          puVar7 = (undefined1 *)((int)ppcVar6 + 0xc);\n        }\n        return uVar4;\n      }" ({ "{") (labeled_statement "LAB_00011331:\n        local_38 = "Unexpected extra argument: %s\n";" (statement_identifier "LAB_00011331") (: ":") (expression_statement "local_38 = "Unexpected extra argument: %s\n";" (assignment_expression "local_38 = "Unexpected extra argument: %s\n"" (identifier "local_38") (= "=") (string_literal ""Unexpected extra argument: %s\n"" (" """) (string_content "Unexpected extra argument: %s") (escape_sequence "\n") (" """))) (; ";"))) (while_statement "while (*(int *)puVar1 < iVar2) {\n          apcStack_5c[0] = *(char **)(local_34 + *(int *)puVar1 * 4);\n          pr2serr(local_38);\n          *(int *)puVar1 = *(int *)puVar1 + 1;\n        }" (while "while") (parenthesized_expression "(*(int *)puVar1 < iVar2)" (( "(") (binary_expression "*(int *)puVar1 < iVar2" (pointer_expression "*(int *)puVar1" (* "*") (cast_expression "(int *)puVar1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) (< "<") (identifier "iVar2")) () ")")) (compound_statement "{\n          apcStack_5c[0] = *(char **)(local_34 + *(int *)puVar1 * 4);\n          pr2serr(local_38);\n          *(int *)puVar1 = *(int *)puVar1 + 1;\n        }" ({ "{") (expression_statement "apcStack_5c[0] = *(char **)(local_34 + *(int *)puVar1 * 4);" (assignment_expression "apcStack_5c[0] = *(char **)(local_34 + *(int *)puVar1 * 4)" (subscript_expression "apcStack_5c[0]" (identifier "apcStack_5c") ([ "[") (number_literal "0") (] "]")) (= "=") (pointer_expression "*(char **)(local_34 + *(int *)puVar1 * 4)" (* "*") (cast_expression "(char **)(local_34 + *(int *)puVar1 * 4)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_34 + *(int *)puVar1 * 4)" (( "(") (binary_expression "local_34 + *(int *)puVar1 * 4" (identifier "local_34") (+ "+") (binary_expression "*(int *)puVar1 * 4" (pointer_expression "*(int *)puVar1" (* "*") (cast_expression "(int *)puVar1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "pr2serr(local_38);" (call_expression "pr2serr(local_38)" (identifier "pr2serr") (argument_list "(local_38)" (( "(") (identifier "local_38") () ")"))) (; ";")) (expression_statement "*(int *)puVar1 = *(int *)puVar1 + 1;" (assignment_expression "*(int *)puVar1 = *(int *)puVar1 + 1" (pointer_expression "*(int *)puVar1" (* "*") (cast_expression "(int *)puVar1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) (= "=") (binary_expression "*(int *)puVar1 + 1" (pointer_expression "*(int *)puVar1" (* "*") (cast_expression "(int *)puVar1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (labeled_statement "LAB_00011358:\n        puStack_54 = (undefined *)0x1135d;" (statement_identifier "LAB_00011358") (: ":") (expression_statement "puStack_54 = (undefined *)0x1135d;" (assignment_expression "puStack_54 = (undefined *)0x1135d" (identifier "puStack_54") (= "=") (cast_expression "(undefined *)0x1135d" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1135d"))) (; ";"))) (expression_statement "FUN_00011cd0();" (call_expression "FUN_00011cd0()" (identifier "FUN_00011cd0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" (identifier "uVar4") (= "=") (number_literal "1")) (; ";")) (expression_statement "puVar7 = auStack_50;" (assignment_expression "puVar7 = auStack_50" (identifier "puVar7") (= "=") (identifier "auStack_50")) (; ";")) (labeled_statement "LAB_000112ef:\n        while (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n          *(undefined4 *)(puVar7 + -4) = 0x11432;\n          FUN_00011dd0();\nLAB_00011432:\n          ppcVar6 = (char **)(puVar7 + -0xc);\n          pcVar5 = "bad [addwr]\n";\nLAB_00011415:\n          *(char **)((int)ppcVar6 + -4) = pcVar5;\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x1141b;\n          pr2serr();\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x11420;\n          FUN_00011cd0();\n          uVar4 = 1;\n          puVar7 = (undefined1 *)((int)ppcVar6 + 0xc);\n        }" (statement_identifier "LAB_000112ef") (: ":") (while_statement "while (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {\n          *(undefined4 *)(puVar7 + -4) = 0x11432;\n          FUN_00011dd0();\nLAB_00011432:\n          ppcVar6 = (char **)(puVar7 + -0xc);\n          pcVar5 = "bad [addwr]\n";\nLAB_00011415:\n          *(char **)((int)ppcVar6 + -4) = pcVar5;\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x1141b;\n          pr2serr();\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x11420;\n          FUN_00011cd0();\n          uVar4 = 1;\n          puVar7 = (undefined1 *)((int)ppcVar6 + 0xc);\n        }" (while "while") (parenthesized_expression "(local_24 != *(int *)(in_GS_OFFSET + 0x14))" (( "(") (binary_expression "local_24 != *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_24") (!= "!=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (compound_statement "{\n          *(undefined4 *)(puVar7 + -4) = 0x11432;\n          FUN_00011dd0();\nLAB_00011432:\n          ppcVar6 = (char **)(puVar7 + -0xc);\n          pcVar5 = "bad [addwr]\n";\nLAB_00011415:\n          *(char **)((int)ppcVar6 + -4) = pcVar5;\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x1141b;\n          pr2serr();\n          *(undefined4 *)((int)ppcVar6 + -8) = 0x11420;\n          FUN_00011cd0();\n          uVar4 = 1;\n          puVar7 = (undefined1 *)((int)ppcVar6 + 0xc);\n        }" ({ "{") (expression_statement "*(undefined4 *)(puVar7 + -4) = 0x11432;" (assignment_expression "*(undefined4 *)(puVar7 + -4) = 0x11432" (pointer_expression "*(undefined4 *)(puVar7 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar7 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + -4)" (( "(") (binary_expression "puVar7 + -4" (identifier "puVar7") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x11432")) (; ";")) (expression_statement "FUN_00011dd0();" (call_expression "FUN_00011dd0()" (identifier "FUN_00011dd0") (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_00011432:\n          ppcVar6 = (char **)(puVar7 + -0xc);" (statement_identifier "LAB_00011432") (: ":") (expression_statement "ppcVar6 = (char **)(puVar7 + -0xc);" (assignment_expression "ppcVar6 = (char **)(puVar7 + -0xc)" (identifier "ppcVar6") (= "=") (cast_expression "(char **)(puVar7 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + -0xc)" (( "(") (binary_expression "puVar7 + -0xc" (identifier "puVar7") (+ "+") (number_literal "-0xc")) () ")")))) (; ";"))) (expression_statement "pcVar5 = "bad [addwr]\n";" (assignment_expression "pcVar5 = "bad [addwr]\n"" (identifier "pcVar5") (= "=") (string_literal ""bad [addwr]\n"" (" """) (string_content "bad [addwr]") (escape_sequence "\n") (" """))) (; ";")) (labeled_statement "LAB_00011415:\n          *(char **)((int)ppcVar6 + -4) = pcVar5;" (statement_identifier "LAB_00011415") (: ":") (expression_statement "*(char **)((int)ppcVar6 + -4) = pcVar5;" (assignment_expression "*(char **)((int)ppcVar6 + -4) = pcVar5" (pointer_expression "*(char **)((int)ppcVar6 + -4)" (* "*") (cast_expression "(char **)((int)ppcVar6 + -4)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppcVar6 + -4)" (( "(") (binary_expression "(int)ppcVar6 + -4" (cast_expression "(int)ppcVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppcVar6")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "pcVar5")) (; ";"))) (expression_statement "*(undefined4 *)((int)ppcVar6 + -8) = 0x1141b;" (assignment_expression "*(undefined4 *)((int)ppcVar6 + -8) = 0x1141b" (pointer_expression "*(undefined4 *)((int)ppcVar6 + -8)" (* "*") (cast_expression "(undefined4 *)((int)ppcVar6 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppcVar6 + -8)" (( "(") (binary_expression "(int)ppcVar6 + -8" (cast_expression "(int)ppcVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppcVar6")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x1141b")) (; ";")) (expression_statement "pr2serr();" (call_expression "pr2serr()" (identifier "pr2serr") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)((int)ppcVar6 + -8) = 0x11420;" (assignment_expression "*(undefined4 *)((int)ppcVar6 + -8) = 0x11420" (pointer_expression "*(undefined4 *)((int)ppcVar6 + -8)" (* "*") (cast_expression "(undefined4 *)((int)ppcVar6 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppcVar6 + -8)" (( "(") (binary_expression "(int)ppcVar6 + -8" (cast_expression "(int)ppcVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppcVar6")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x11420")) (; ";")) (expression_statement "FUN_00011cd0();" (call_expression "FUN_00011cd0()" (identifier "FUN_00011cd0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" (identifier "uVar4") (= "=") (number_literal "1")) (; ";")) (expression_statement "puVar7 = (undefined1 *)((int)ppcVar6 + 0xc);" (assignment_expression "puVar7 = (undefined1 *)((int)ppcVar6 + 0xc)" (identifier "puVar7") (= "=") (cast_expression "(undefined1 *)((int)ppcVar6 + 0xc)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppcVar6 + 0xc)" (( "(") (binary_expression "(int)ppcVar6 + 0xc" (cast_expression "(int)ppcVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppcVar6")) (+ "+") (number_literal "0xc")) () ")")))) (; ";")) (} "}")))) (return_statement "return uVar4;" (return "return") (identifier "uVar4") (; ";")) (} "}"))) (expression_statement "DAT_00014008 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));" (assignment_expression "DAT_00014008 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4))" (identifier "DAT_00014008") (= "=") (call_expression "sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4))" (identifier "sg_get_num") (argument_list "(*(undefined4 *)(local_34 + iVar3 * 4))" (( "(") (pointer_expression "*(undefined4 *)(local_34 + iVar3 * 4)" (* "*") (cast_expression "(undefined4 *)(local_34 + iVar3 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_34 + iVar3 * 4)" (( "(") (binary_expression "local_34 + iVar3 * 4" (identifier "local_34") (+ "+") (binary_expression "iVar3 * 4" (identifier "iVar3") (* "*") (number_literal "4"))) () ")")))) () ")")))) (; ";")) (if_statement "if (DAT_00014008 == -1) {\n        ppcVar6 = apcStack_5c;\n        pcVar5 = "bad <sz>\n";\n        goto LAB_00011415;\n      }" (if "if") (parenthesized_expression "(DAT_00014008 == -1)" (( "(") (binary_expression "DAT_00014008 == -1" (identifier "DAT_00014008") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n        ppcVar6 = apcStack_5c;\n        pcVar5 = "bad <sz>\n";\n        goto LAB_00011415;\n      }" ({ "{") (expression_statement "ppcVar6 = apcStack_5c;" (assignment_expression "ppcVar6 = apcStack_5c" (identifier "ppcVar6") (= "=") (identifier "apcStack_5c")) (; ";")) (expression_statement "pcVar5 = "bad <sz>\n";" (assignment_expression "pcVar5 = "bad <sz>\n"" (identifier "pcVar5") (= "=") (string_literal ""bad <sz>\n"" (" """) (string_content "bad <sz>") (escape_sequence "\n") (" """))) (; ";")) (goto_statement "goto LAB_00011415;" (goto "goto") (statement_identifier "LAB_00011415") (; ";")) (} "}"))) (expression_statement "iVar3 = *(int *)puVar1 + 1;" (assignment_expression "iVar3 = *(int *)puVar1 + 1" (identifier "iVar3") (= "=") (binary_expression "*(int *)puVar1 + 1" (pointer_expression "*(int *)puVar1" (* "*") (cast_expression "(int *)puVar1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(int *)puVar1 = iVar3;" (assignment_expression "*(int *)puVar1 = iVar3" (pointer_expression "*(int *)puVar1" (* "*") (cast_expression "(int *)puVar1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) (= "=") (identifier "iVar3")) (; ";")) (if_statement "if (iVar3 < iVar2) {\n        DAT_000140c0 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n        if (DAT_000140c0 == -1) goto LAB_00011432;\n        iVar3 = *(int *)puVar1 + 1;\n        *(int *)puVar1 = iVar3;\n        if (iVar3 < iVar2) {\n          DAT_000140bc = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n          if (DAT_000140bc == -1) {\n            ppcVar6 = apcStack_5c;\n            pcVar5 = "bad [addrd]\n";\n            goto LAB_00011415;\n          }\n          if (*(int *)puVar1 < iVar2) goto LAB_00011331;\n        }\n      }" (if "if") (parenthesized_expression "(iVar3 < iVar2)" (( "(") (binary_expression "iVar3 < iVar2" (identifier "iVar3") (< "<") (identifier "iVar2")) () ")")) (compound_statement "{\n        DAT_000140c0 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n        if (DAT_000140c0 == -1) goto LAB_00011432;\n        iVar3 = *(int *)puVar1 + 1;\n        *(int *)puVar1 = iVar3;\n        if (iVar3 < iVar2) {\n          DAT_000140bc = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n          if (DAT_000140bc == -1) {\n            ppcVar6 = apcStack_5c;\n            pcVar5 = "bad [addrd]\n";\n            goto LAB_00011415;\n          }\n          if (*(int *)puVar1 < iVar2) goto LAB_00011331;\n        }\n      }" ({ "{") (expression_statement "DAT_000140c0 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));" (assignment_expression "DAT_000140c0 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4))" (identifier "DAT_000140c0") (= "=") (call_expression "sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4))" (identifier "sg_get_num") (argument_list "(*(undefined4 *)(local_34 + iVar3 * 4))" (( "(") (pointer_expression "*(undefined4 *)(local_34 + iVar3 * 4)" (* "*") (cast_expression "(undefined4 *)(local_34 + iVar3 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_34 + iVar3 * 4)" (( "(") (binary_expression "local_34 + iVar3 * 4" (identifier "local_34") (+ "+") (binary_expression "iVar3 * 4" (identifier "iVar3") (* "*") (number_literal "4"))) () ")")))) () ")")))) (; ";")) (if_statement "if (DAT_000140c0 == -1) goto LAB_00011432;" (if "if") (parenthesized_expression "(DAT_000140c0 == -1)" (( "(") (binary_expression "DAT_000140c0 == -1" (identifier "DAT_000140c0") (== "==") (number_literal "-1")) () ")")) (goto_statement "goto LAB_00011432;" (goto "goto") (statement_identifier "LAB_00011432") (; ";"))) (expression_statement "iVar3 = *(int *)puVar1 + 1;" (assignment_expression "iVar3 = *(int *)puVar1 + 1" (identifier "iVar3") (= "=") (binary_expression "*(int *)puVar1 + 1" (pointer_expression "*(int *)puVar1" (* "*") (cast_expression "(int *)puVar1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(int *)puVar1 = iVar3;" (assignment_expression "*(int *)puVar1 = iVar3" (pointer_expression "*(int *)puVar1" (* "*") (cast_expression "(int *)puVar1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) (= "=") (identifier "iVar3")) (; ";")) (if_statement "if (iVar3 < iVar2) {\n          DAT_000140bc = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n          if (DAT_000140bc == -1) {\n            ppcVar6 = apcStack_5c;\n            pcVar5 = "bad [addrd]\n";\n            goto LAB_00011415;\n          }\n          if (*(int *)puVar1 < iVar2) goto LAB_00011331;\n        }" (if "if") (parenthesized_expression "(iVar3 < iVar2)" (( "(") (binary_expression "iVar3 < iVar2" (identifier "iVar3") (< "<") (identifier "iVar2")) () ")")) (compound_statement "{\n          DAT_000140bc = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));\n          if (DAT_000140bc == -1) {\n            ppcVar6 = apcStack_5c;\n            pcVar5 = "bad [addrd]\n";\n            goto LAB_00011415;\n          }\n          if (*(int *)puVar1 < iVar2) goto LAB_00011331;\n        }" ({ "{") (expression_statement "DAT_000140bc = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));" (assignment_expression "DAT_000140bc = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4))" (identifier "DAT_000140bc") (= "=") (call_expression "sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4))" (identifier "sg_get_num") (argument_list "(*(undefined4 *)(local_34 + iVar3 * 4))" (( "(") (pointer_expression "*(undefined4 *)(local_34 + iVar3 * 4)" (* "*") (cast_expression "(undefined4 *)(local_34 + iVar3 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_34 + iVar3 * 4)" (( "(") (binary_expression "local_34 + iVar3 * 4" (identifier "local_34") (+ "+") (binary_expression "iVar3 * 4" (identifier "iVar3") (* "*") (number_literal "4"))) () ")")))) () ")")))) (; ";")) (if_statement "if (DAT_000140bc == -1) {\n            ppcVar6 = apcStack_5c;\n            pcVar5 = "bad [addrd]\n";\n            goto LAB_00011415;\n          }" (if "if") (parenthesized_expression "(DAT_000140bc == -1)" (( "(") (binary_expression "DAT_000140bc == -1" (identifier "DAT_000140bc") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n            ppcVar6 = apcStack_5c;\n            pcVar5 = "bad [addrd]\n";\n            goto LAB_00011415;\n          }" ({ "{") (expression_statement "ppcVar6 = apcStack_5c;" (assignment_expression "ppcVar6 = apcStack_5c" (identifier "ppcVar6") (= "=") (identifier "apcStack_5c")) (; ";")) (expression_statement "pcVar5 = "bad [addrd]\n";" (assignment_expression "pcVar5 = "bad [addrd]\n"" (identifier "pcVar5") (= "=") (string_literal ""bad [addrd]\n"" (" """) (string_content "bad [addrd]") (escape_sequence "\n") (" """))) (; ";")) (goto_statement "goto LAB_00011415;" (goto "goto") (statement_identifier "LAB_00011415") (; ";")) (} "}"))) (if_statement "if (*(int *)puVar1 < iVar2) goto LAB_00011331;" (if "if") (parenthesized_expression "(*(int *)puVar1 < iVar2)" (( "(") (binary_expression "*(int *)puVar1 < iVar2" (pointer_expression "*(int *)puVar1" (* "*") (cast_expression "(int *)puVar1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) (< "<") (identifier "iVar2")) () ")")) (goto_statement "goto LAB_00011331;" (goto "goto") (statement_identifier "LAB_00011331") (; ";"))) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (expression_statement "pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");" (call_expression "pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n")" (identifier "pr2serr") (argument_list "("Not in DEBUG mode, so \'-vV\' has no special action\n")" (( "(") (string_literal ""Not in DEBUG mode, so \'-vV\' has no special action\n"" (" """) (string_content "Not in DEBUG mode, so ") (escape_sequence "\'") (string_content "-vV") (escape_sequence "\'") (string_content " has no special action") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "apcStack_5c[0] = "1.18 20180628";" (assignment_expression "apcStack_5c[0] = "1.18 20180628"" (subscript_expression "apcStack_5c[0]" (identifier "apcStack_5c") ([ "[") (number_literal "0") (] "]")) (= "=") (string_literal ""1.18 20180628"" (" """) (string_content "1.18 20180628") (" """))) (; ";")) (expression_statement "pr2serr("sg_test_rwbuf: version: %s\n");" (call_expression "pr2serr("sg_test_rwbuf: version: %s\n")" (identifier "pr2serr") (argument_list "("sg_test_rwbuf: version: %s\n")" (( "(") (string_literal ""sg_test_rwbuf: version: %s\n"" (" """) (string_content "sg_test_rwbuf: version: %s") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" (identifier "uVar4") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar7 = auStack_50;" (assignment_expression "puVar7 = auStack_50" (identifier "puVar7") (= "=") (identifier "auStack_50")) (; ";")) (goto_statement "goto LAB_000112ef;" (goto "goto") (statement_identifier "LAB_000112ef") (; ";")) (} "}")))

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

int function_1(int argc,char **argv)

{
  type_1 *puVar1;
  int var_3;
  int var_11;
  char *pcVar4;
  char **ppcVar5;
  int var_1;
  char *apcStack_5c [2];
  type_2 uStack_54;
  type_3 auStack_50 [12];
  type_2 *local_44;
  type_2 *local_40;
  type_4 *local_3c;
  char *local_38;
  char **local_34;
  type_2 local_28;
  int var_12;
  int *local_18;
  type_3 *var_13;
  
  var_11 = argc;
  local_18 = &argc;
  var_13 = auStack_50;
  local_34 = argv;
  var_12 = *(int *)(var_1 + 0x14);
  local_3c = long_options;
  local_38 = "hqr:s:t:w:vV";
  local_44 = (type_2 *)PTR_optarg_00013ffc;
  local_40 = local_44;
_L96:
  local_28 = 0;
  var_3 = var_2(var_11,local_34,local_38,local_3c,&local_28);
  puVar1 = PTR_optind_00013fe8;
  if (var_3 != -1) {
    switch(var_3) {
    case 0x56:
    case 0x71:
      goto _L96;
    default:
      goto _L109;
    case 0x68:
      uStack_54 = 0x112ed;
      var_4();
      var_11 = 0;
      var_13 = auStack_50;
      goto LAB_000112ef;
    case 0x72:
      var_6 = var_5(*(type_2 *)PTR_optarg_00013ffc);
      if (var_6 == -1) {
        var_7("bad argument to \'--addrd\'\n");
        var_11 = 1;
        var_13 = auStack_50;
        goto LAB_000112ef;
      }
      goto _L96;
    case 0x73:
      var_8 = var_5(*(type_2 *)PTR_optarg_00013ffc);
      if (var_8 == -1) {
        var_7("bad argument to \'--size\'\n");
        var_11 = 1;
        var_13 = auStack_50;
        goto LAB_000112ef;
      }
      goto _L96;
    case 0x74:
      var_3 = var_5(*local_44);
      if (var_3 == -1) {
        var_7("bad argument to \'--times\'\n");
        var_11 = 1;
        var_13 = auStack_50;
        goto LAB_000112ef;
      }
      goto _L96;
    case 0x76:
      var_9 = var_9 + 1;
      goto _L96;
    case 0x77:
      var_10 = var_5(*local_40);
      if (var_10 == -1) {
        var_7("bad argument to \'--addwr\'\n");
        var_11 = 1;
        var_13 = auStack_50;
        goto LAB_000112ef;
      }
      goto _L96;
    }
  }
  if (*(int *)PTR_optind_00013fe8 < var_11) {
    var_3 = *(int *)PTR_optind_00013fe8 + 1;
    *(int *)PTR_optind_00013fe8 = var_3;
    if (var_3 < var_11) {
      if (var_8 != -1) {
LAB_00011331:
        local_38 = "Unexpected extra argument: %s\n";
        while (*(int *)puVar1 < var_11) {
          apcStack_5c[0] = local_34[*(int *)puVar1];
          var_7(local_38);
          *(int *)puVar1 = *(int *)puVar1 + 1;
        }
_L109:
        uStack_54 = 0x1135d;
        var_4();
        var_11 = 1;
        var_13 = auStack_50;
LAB_000112ef:
        while (var_12 != *(int *)(var_1 + 0x14)) {
          *(type_2 *)(var_13 + -4) = 0x11432;
          var_14();
LAB_00011432:
          ppcVar5 = (char **)(var_13 + -0xc);
          pcVar4 = "bad [addwr]\n";
LAB_00011415:
          *(char **)((int)ppcVar5 + -4) = pcVar4;
          *(type_2 *)((int)ppcVar5 + -8) = 0x1141b;
          var_7();
          *(type_2 *)((int)ppcVar5 + -8) = 0x11420;
          var_4();
          var_11 = 1;
          var_13 = (type_3 *)((int)ppcVar5 + 0xc);
        }
        return var_11;
      }
      var_8 = var_5(local_34[var_3]);
      if (var_8 == -1) {
        ppcVar5 = apcStack_5c;
        pcVar4 = "bad <sz>\n";
        goto LAB_00011415;
      }
      var_3 = *(int *)puVar1 + 1;
      *(int *)puVar1 = var_3;
      if (var_3 < var_11) {
        var_10 = var_5(local_34[var_3]);
        if (var_10 == -1) goto LAB_00011432;
        var_3 = *(int *)puVar1 + 1;
        *(int *)puVar1 = var_3;
        if (var_3 < var_11) {
          var_6 = var_5(local_34[var_3]);
          if (var_6 == -1) {
            ppcVar5 = apcStack_5c;
            pcVar4 = "bad [addrd]\n";
            goto LAB_00011415;
          }
          if (*(int *)puVar1 < var_11) goto LAB_00011331;
        }
      }
    }
  }
  var_7("Not in DEBUG mode, so \'-vV\' has no special action\n");
  apcStack_5c[0] = "1.18 20180628";
  var_7("sg_test_rwbuf: version: %s\n");
  var_11 = 0;
  var_13 = auStack_50;
  goto LAB_000112ef;
}


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

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

undefined4 MASKED(int param_1,int param_2)

{
  undefined *puVar1;
  int iVar2;
  int iVar3;
  undefined4 uVar4;
  char *pcVar5;
  char **ppcVar6;
  int in_GS_OFFSET;
  char *apcStack_5c [2];
  undefined *puStack_54;
  undefined1 auStack_50 [12];
  undefined4 *local_44;
  undefined4 *local_40;
  undefined **local_3c;
  char *local_38;
  int local_34;
  undefined4 local_28;
  int local_24;
  undefined4 *local_18;
  undefined1 *puVar7;
  
  iVar2 = param_1;
  local_18 = &param_1;
  puVar7 = auStack_50;
  local_34 = param_2;
  local_24 = *(int *)(in_GS_OFFSET + 0x14);
  local_3c = &PTR_DAT_00014020;
  local_38 = "hqr:s:t:w:vV";
  local_44 = (undefined4 *)PTR_optarg_00013ffc;
  local_40 = local_44;
code_r0x000111c3:
  local_28 = 0;
  iVar3 = getopt_long(iVar2,local_34,local_38,local_3c,&local_28);
  puVar1 = PTR_optind_00013fe8;
  if (iVar3 != -1) {
    switch(iVar3) {
    case 0x56:
    case 0x71:
      goto code_r0x000111c3;
    default:
      goto LAB_00011358;
    case 0x68:
      puStack_54 = &UNK_000112ed;
      FUN_00011cd0();
      uVar4 = 0;
      puVar7 = auStack_50;
      goto LAB_000112ef;
    case 0x72:
      DAT_000140bc = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);
      if (DAT_000140bc == -1) {
        pr2serr("bad argument to \'--addrd\'\n");
        uVar4 = 1;
        puVar7 = auStack_50;
        goto LAB_000112ef;
      }
      goto code_r0x000111c3;
    case 0x73:
      DAT_00014008 = sg_get_num(*(undefined4 *)PTR_optarg_00013ffc);
      if (DAT_00014008 == -1) {
        pr2serr("bad argument to \'--size\'\n");
        uVar4 = 1;
        puVar7 = auStack_50;
        goto LAB_000112ef;
      }
      goto code_r0x000111c3;
    case 0x74:
      iVar3 = sg_get_num(*local_44);
      if (iVar3 == -1) {
        pr2serr("bad argument to \'--times\'\n");
        uVar4 = 1;
        puVar7 = auStack_50;
        goto LAB_000112ef;
      }
      goto code_r0x000111c3;
    case 0x76:
      DAT_000140b8 = DAT_000140b8 + 1;
      goto code_r0x000111c3;
    case 0x77:
      DAT_000140c0 = sg_get_num(*local_40);
      if (DAT_000140c0 == -1) {
        pr2serr("bad argument to \'--addwr\'\n");
        uVar4 = 1;
        puVar7 = auStack_50;
        goto LAB_000112ef;
      }
      goto code_r0x000111c3;
    }
  }
  if (*(int *)PTR_optind_00013fe8 < iVar2) {
    iVar3 = *(int *)PTR_optind_00013fe8 + 1;
    *(int *)PTR_optind_00013fe8 = iVar3;
    if (iVar3 < iVar2) {
      if (DAT_00014008 != -1) {
LAB_00011331:
        local_38 = "Unexpected extra argument: %s\n";
        while (*(int *)puVar1 < iVar2) {
          apcStack_5c[0] = *(char **)(local_34 + *(int *)puVar1 * 4);
          pr2serr(local_38);
          *(int *)puVar1 = *(int *)puVar1 + 1;
        }
LAB_00011358:
        puStack_54 = (undefined *)0x1135d;
        FUN_00011cd0();
        uVar4 = 1;
        puVar7 = auStack_50;
LAB_000112ef:
        while (local_24 != *(int *)(in_GS_OFFSET + 0x14)) {
          *(undefined4 *)(puVar7 + -4) = 0x11432;
          FUN_00011dd0();
LAB_00011432:
          ppcVar6 = (char **)(puVar7 + -0xc);
          pcVar5 = "bad [addwr]\n";
LAB_00011415:
          *(char **)((int)ppcVar6 + -4) = pcVar5;
          *(undefined4 *)((int)ppcVar6 + -8) = 0x1141b;
          pr2serr();
          *(undefined4 *)((int)ppcVar6 + -8) = 0x11420;
          FUN_00011cd0();
          uVar4 = 1;
          puVar7 = (undefined1 *)((int)ppcVar6 + 0xc);
        }
        return uVar4;
      }
      DAT_00014008 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));
      if (DAT_00014008 == -1) {
        ppcVar6 = apcStack_5c;
        pcVar5 = "bad <sz>\n";
        goto LAB_00011415;
      }
      iVar3 = *(int *)puVar1 + 1;
      *(int *)puVar1 = iVar3;
      if (iVar3 < iVar2) {
        DAT_000140c0 = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));
        if (DAT_000140c0 == -1) goto LAB_00011432;
        iVar3 = *(int *)puVar1 + 1;
        *(int *)puVar1 = iVar3;
        if (iVar3 < iVar2) {
          DAT_000140bc = sg_get_num(*(undefined4 *)(local_34 + iVar3 * 4));
          if (DAT_000140bc == -1) {
            ppcVar6 = apcStack_5c;
            pcVar5 = "bad [addrd]\n";
            goto LAB_00011415;
          }
          if (*(int *)puVar1 < iVar2) goto LAB_00011331;
        }
      }
    }
  }
  pr2serr("Not in DEBUG mode, so \'-vV\' has no special action\n");
  apcStack_5c[0] = "1.18 20180628";
  pr2serr("sg_test_rwbuf: version: %s\n");
  uVar4 = 0;
  puVar7 = auStack_50;
  goto LAB_000112ef;
}

