
/* WARNING: Function: __x86.get_pc_thunk.bp replaced with injection: get_pc_thunk.bp */

int __regparm3 yysyntax_error(uint *yymsg_alloc,char **yymsg,yytype_int16 *yyssp,int yytoken)

{
  int iVar1;
  char **ppcVar2;
  char cVar3;
  char cVar4;
  int iVar5;
  uint uVar6;
  uint uVar7;
  int iVar8;
  char *pcVar9;
  char *yyres;
  int iVar10;
  int iVar11;
  bool bVar12;
  uint local_50;
  uint local_48;
  char *yyarg [5];
  
  pcVar9 = yytname[yytoken];
  local_48 = yytnamerr((char *)0x0,pcVar9);
  if (yytoken == -2) {
    uVar6 = 0xc;
    iVar11 = 0;
    pcVar9 = "syntax error";
  }
  else {
    yyarg[0] = pcVar9;
    iVar5 = (int)yypact[*yyssp];
    if (iVar5 != -0x1a7) {
      iVar8 = -iVar5;
      if (-1 < iVar5) {
        iVar8 = 0;
      }
      iVar10 = 0x5ba - iVar5;
      if (0x82 < iVar10) {
        iVar10 = 0x82;
      }
      if (iVar8 < iVar10) {
        iVar11 = 1;
        local_50 = local_48;
        do {
          while ((yycheck[iVar5 + iVar8] == iVar8 && (iVar8 != 1))) {
            if (iVar11 == 5) goto LAB_00191bc8;
            iVar1 = iVar11 + 1;
            pcVar9 = yytname[iVar8];
            yyarg[iVar11] = pcVar9;
            uVar6 = yytnamerr((char *)0x0,pcVar9);
            bVar12 = CARRY4(uVar6,local_50);
            local_50 = uVar6 + local_50;
            if (bVar12) {
              return 2;
            }
            iVar8 = iVar8 + 1;
            iVar11 = iVar1;
            if (iVar10 == iVar8) goto LAB_00191bad;
          }
          iVar8 = iVar8 + 1;
        } while (iVar10 != iVar8);
LAB_00191bad:
        switch(iVar11) {
        default:
          uVar6 = strlen((char *)0x0);
          local_48 = local_50;
          pcVar9 = (char *)0x0;
          break;
        case 1:
          pcVar9 = "syntax error, unexpected %s";
          local_48 = local_50;
          uVar6 = 0x1b;
          break;
        case 2:
          pcVar9 = "syntax error, unexpected %s, expecting %s";
          local_48 = local_50;
          uVar6 = 0x29;
          break;
        case 3:
          pcVar9 = "syntax error, unexpected %s, expecting %s or %s";
          local_48 = local_50;
          uVar6 = 0x2f;
          break;
        case 4:
          pcVar9 = "syntax error, unexpected %s, expecting %s or %s or %s";
          local_48 = local_50;
          uVar6 = 0x35;
          break;
        case 5:
          pcVar9 = "syntax error, unexpected %s, expecting %s or %s or %s or %s";
          local_48 = local_50;
          uVar6 = 0x3b;
        }
        goto LAB_00191bd8;
      }
    }
LAB_00191bc8:
    uVar6 = 0x1b;
    iVar11 = 1;
    pcVar9 = "syntax error, unexpected %s";
  }
LAB_00191bd8:
  uVar7 = uVar6 + local_48;
  if (CARRY4(uVar6,local_48)) {
    return 2;
  }
  if (uVar7 <= *yymsg_alloc) {
    iVar5 = 0;
    yyres = *yymsg;
    cVar3 = *pcVar9;
    do {
      *yyres = cVar3;
      cVar4 = cVar3;
      if (cVar3 == '\0') {
        return 0;
      }
      while (((cVar3 = pcVar9[1], cVar4 == '%' && (cVar3 == 's')) && (iVar5 < iVar11))) {
        ppcVar2 = yyarg + iVar5;
        iVar5 = iVar5 + 1;
        pcVar9 = pcVar9 + 2;
        uVar6 = yytnamerr(yyres,*ppcVar2);
        yyres = yyres + uVar6;
        cVar4 = *pcVar9;
        *yyres = cVar4;
        if (cVar4 == '\0') {
          return 0;
        }
      }
      yyres = yyres + 1;
      pcVar9 = pcVar9 + 1;
    } while( true );
  }
  if (uVar7 <= uVar7 * 2) {
    *yymsg_alloc = uVar7 * 2;
    return 1;
  }
  *yymsg_alloc = 0xffffffff;
  return 1;
}



undefined4 FUN_00191ac0(int param_1)

{
  char cVar1;
  char cVar2;
  uint *puVar3;
  int iVar4;
  uint uVar5;
  undefined4 uVar6;
  uint uVar7;
  uint uVar8;
  short *extraout_ECX;
  int iVar9;
  char *pcVar10;
  int unaff_EBP;
  char *pcVar11;
  int iVar12;
  bool bVar13;
  undefined8 uVar14;
  uint local_50;
  uint local_48;
  undefined4 local_30 [8];
  
  uVar14 = FUN_000559f2();
  puVar3 = (uint *)uVar14;
  uVar6 = *(undefined4 *)(unaff_EBP + 0x1f3a5a + param_1 * 4);
  local_48 = FUN_00191a20();
  if (param_1 == -2) {
    uVar8 = 0xc;
    uVar5 = 0;
    pcVar10 = (char *)(unaff_EBP + 0x108e23);
  }
  else {
    iVar4 = (int)*(short *)(unaff_EBP + 0x10b49a + *extraout_ECX * 2);
    local_30[0] = uVar6;
    if (iVar4 != -0x1a7) {
      iVar9 = -iVar4;
      if (-1 < iVar4) {
        iVar9 = 0;
      }
      iVar12 = 0x5ba - iVar4;
      if (0x82 < iVar12) {
        iVar12 = 0x82;
      }
      if (iVar9 < iVar12) {
        uVar5 = 1;
        local_50 = local_48;
        do {
          while ((*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2) != iVar9 || (iVar9 == 1))
                ) {
            iVar9 = iVar9 + 1;
            if (iVar12 == iVar9) goto LAB_00191bad;
          }
          if (uVar5 == 5) goto LAB_00191bc8;
          uVar8 = uVar5 + 1;
          local_30[uVar5] = *(undefined4 *)(unaff_EBP + 0x1f3a5a + iVar9 * 4);
          uVar5 = FUN_00191a20();
          bVar13 = CARRY4(uVar5,local_50);
          local_50 = uVar5 + local_50;
          if (bVar13) {
            return 2;
          }
          iVar9 = iVar9 + 1;
          uVar5 = uVar8;
        } while (iVar12 != iVar9);
LAB_00191bad:
        if (uVar5 < 6) {
                    /* WARNING: Could not recover jumptable at 0x00191bc1. Too many branches */
                    /* WARNING: Treating indirect jump as call */
          uVar6 = (*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a))();
          return uVar6;
        }
        uVar8 = strlen((char *)0x0);
        local_48 = local_50;
        pcVar10 = (char *)0x0;
        goto LAB_00191bd8;
      }
    }
LAB_00191bc8:
    uVar8 = 0x1b;
    uVar5 = 1;
    pcVar10 = (char *)(unaff_EBP + 0x108e01);
  }
LAB_00191bd8:
  uVar7 = uVar8 + local_48;
  if (CARRY4(uVar8,local_48)) {
    return 2;
  }
  if (uVar7 <= *puVar3) {
    iVar4 = 0;
    pcVar11 = (char *)*(undefined4 *)((ulonglong)uVar14 >> 0x20);
    cVar1 = *pcVar10;
    do {
      *pcVar11 = cVar1;
      cVar2 = cVar1;
      if (cVar1 == '\0') {
        return 0;
      }
      while (((cVar1 = pcVar10[1], cVar2 == '%' && (cVar1 == 's')) && (iVar4 < (int)uVar5))) {
        iVar4 = iVar4 + 1;
        pcVar10 = pcVar10 + 2;
        iVar9 = FUN_00191a20();
        pcVar11 = pcVar11 + iVar9;
        cVar2 = *pcVar10;
        *pcVar11 = cVar2;
        if (cVar2 == '\0') {
          return 0;
        }
      }
      pcVar11 = pcVar11 + 1;
      pcVar10 = pcVar10 + 1;
    } while( true );
  }
  if (uVar7 <= uVar7 * 2) {
    *puVar3 = uVar7 * 2;
    return 1;
  }
  *puVar3 = 0xffffffff;
  return 1;
}


PUSH EBP
CALL 0x000559f2
ADD EBP,0x1fd53a
PUSH EDI
MOV EDI,ECX
PUSH ESI
PUSH EBX
SUB ESP,0x4c
MOV EBX,dword ptr [ESP + 0x60]
MOV dword ptr [ESP + 0x18],EAX
XOR EAX,EAX
MOV dword ptr [ESP + 0x1c],EDX
MOV ESI,dword ptr [EBP + EBX*0x4 + 0xffff6520]
MOV EDX,ESI
CALL 0x00191a20
MOV dword ptr [ESP + 0x14],EAX
CMP EBX,-0x2
JZ 0x00191c50
MOVSX EAX,word ptr [EDI]
MOV dword ptr [ESP + 0x2c],ESI
MOVSX EAX,word ptr [EBP + EAX*0x2 + 0xfff0df60]
CMP EAX,0xfffffe59
JZ 0x00191bc8
MOV EBX,EAX
MOV EDX,0x0
MOV ESI,0x5ba
NEG EBX
TEST EAX,EAX
CMOVNS EBX,EDX
SUB ESI,EAX
MOV EDX,0x82
CMP ESI,0x82
CMOVG ESI,EDX
CMP EBX,ESI
JGE 0x00191bc8
LEA ECX,[EBP + EAX*0x2 + 0xfff0c4e0]
MOV EAX,dword ptr [ESP + 0x14]
MOV EDI,0x1
MOV EDX,EDI
MOV EDI,ESI
MOV ESI,ECX
MOV dword ptr [ESP + 0xc],EAX
JMP 0x00191b67
ADD EBX,0x1
CMP EDI,EBX
JZ 0x00191bad
MOVSX EAX,word ptr [ESI + EBX*0x2]
CMP EAX,EBX
JNZ 0x00191b60
CMP EBX,0x1
JZ 0x00191b60
CMP EDX,0x5
JZ 0x00191bc8
LEA EAX,[EDX + 0x1]
MOV dword ptr [ESP + 0x10],EAX
MOV EAX,dword ptr [EBP + EBX*0x4 + 0xffff6520]
MOV dword ptr [ESP + EDX*0x4 + 0x2c],EAX
MOV EDX,EAX
XOR EAX,EAX
CALL 0x00191a20
ADD EAX,dword ptr [ESP + 0xc]
MOV dword ptr [ESP + 0xc],EAX
JC 0x00191c62
ADD EBX,0x1
MOV EDX,dword ptr [ESP + 0x10]
CMP EDI,EBX
JNZ 0x00191b67
MOV EDI,EDX
CMP EDX,0x5
JA 0x00191cff
MOV EAX,dword ptr [EBP + EDX*0x4 + 0xfff0bf20]
ADD EAX,EBP
JMP EAX
MOV EAX,0x1b
MOV EDI,0x1
LEA EBX,[EBP + 0xfff0b8c7]
ADD EAX,dword ptr [ESP + 0x14]
JC 0x00191c62
MOV ECX,dword ptr [ESP + 0x18]
CMP dword ptr [ECX],EAX
JC 0x00191c70
MOV EAX,dword ptr [ESP + 0x1c]
XOR ECX,ECX
MOV EBP,dword ptr [EAX]
MOVZX EAX,byte ptr [EBX]
JMP 0x00191c08
ADD EBP,0x1
ADD EBX,0x1
MOV EAX,EDX
MOV byte ptr [EBP],AL
TEST AL,AL
JZ 0x00191c3f
MOVZX EDX,byte ptr [EBX + 0x1]
CMP AL,0x25
JNZ 0x00191c00
CMP DL,0x73
JNZ 0x00191c00
CMP ECX,EDI
JGE 0x00191c00
MOV EDX,dword ptr [ESP + ECX*0x4 + 0x2c]
MOV EAX,EBP
LEA ESI,[ECX + 0x1]
ADD EBX,0x2
CALL 0x00191a20
MOV ECX,ESI
ADD EBP,EAX
MOVZX EAX,byte ptr [EBX]
MOV byte ptr [EBP],AL
TEST AL,AL
JNZ 0x00191c0f
ADD ESP,0x4c
XOR EAX,EAX
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EAX,0xc
XOR EDI,EDI
LEA EBX,[EBP + 0xfff0b8e9]
JMP 0x00191bd8
ADD ESP,0x4c
MOV EAX,0x2
POP EBX
POP ESI
POP EDI
POP EBP
RET
LEA EDX,[EAX + EAX*0x1]
CMP EDX,EAX
JNC 0x00191c90
MOV EAX,dword ptr [ESP + 0x18]
MOV dword ptr [EAX],0xffffffff
ADD ESP,0x4c
MOV EAX,0x1
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV dword ptr [ECX],EDX
ADD ESP,0x4c
MOV EAX,0x1
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0xc
MOV EBX,EBP
PUSH 0x0
CALL 0x000295f0
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0xc]
XOR EBX,EBX
MOV dword ptr [ESP + 0x14],ECX
JMP 0x00191bd8
(translation_unit "undefined4 FUN_00191ac0(int param_1)\n\n{\n  char cVar1;\n  char cVar2;\n  uint *puVar3;\n  int iVar4;\n  uint uVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  uint uVar8;\n  short *extraout_ECX;\n  int iVar9;\n  char *pcVar10;\n  int unaff_EBP;\n  char *pcVar11;\n  int iVar12;\n  bool bVar13;\n  undefined8 uVar14;\n  uint local_50;\n  uint local_48;\n  undefined4 local_30 [8];\n  \n  uVar14 = FUN_000559f2();\n  puVar3 = (uint *)uVar14;\n  uVar6 = *(undefined4 *)(unaff_EBP + 0x1f3a5a + param_1 * 4);\n  local_48 = FUN_00191a20();\n  if (param_1 == -2) {\n    uVar8 = 0xc;\n    uVar5 = 0;\n    pcVar10 = (char *)(unaff_EBP + 0x108e23);\n  }\n  else {\n    iVar4 = (int)*(short *)(unaff_EBP + 0x10b49a + *extraout_ECX * 2);\n    local_30[0] = uVar6;\n    if (iVar4 != -0x1a7) {\n      iVar9 = -iVar4;\n      if (-1 < iVar4) {\n        iVar9 = 0;\n      }\n      iVar12 = 0x5ba - iVar4;\n      if (0x82 < iVar12) {\n        iVar12 = 0x82;\n      }\n      if (iVar9 < iVar12) {\n        uVar5 = 1;\n        local_50 = local_48;\n        do {\n          while ((*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2) != iVar9 || (iVar9 == 1))\n                ) {\n            iVar9 = iVar9 + 1;\n            if (iVar12 == iVar9) goto LAB_00191bad;\n          }\n          if (uVar5 == 5) goto LAB_00191bc8;\n          uVar8 = uVar5 + 1;\n          local_30[uVar5] = *(undefined4 *)(unaff_EBP + 0x1f3a5a + iVar9 * 4);\n          uVar5 = FUN_00191a20();\n          bVar13 = CARRY4(uVar5,local_50);\n          local_50 = uVar5 + local_50;\n          if (bVar13) {\n            return 2;\n          }\n          iVar9 = iVar9 + 1;\n          uVar5 = uVar8;\n        } while (iVar12 != iVar9);\nLAB_00191bad:\n        if (uVar5 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x00191bc1. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          uVar6 = (*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a))();\n          return uVar6;\n        }\n        uVar8 = strlen((char *)0x0);\n        local_48 = local_50;\n        pcVar10 = (char *)0x0;\n        goto LAB_00191bd8;\n      }\n    }\nLAB_00191bc8:\n    uVar8 = 0x1b;\n    uVar5 = 1;\n    pcVar10 = (char *)(unaff_EBP + 0x108e01);\n  }\nLAB_00191bd8:\n  uVar7 = uVar8 + local_48;\n  if (CARRY4(uVar8,local_48)) {\n    return 2;\n  }\n  if (uVar7 <= *puVar3) {\n    iVar4 = 0;\n    pcVar11 = (char *)*(undefined4 *)((ulonglong)uVar14 >> 0x20);\n    cVar1 = *pcVar10;\n    do {\n      *pcVar11 = cVar1;\n      cVar2 = cVar1;\n      if (cVar1 == '\0') {\n        return 0;\n      }\n      while (((cVar1 = pcVar10[1], cVar2 == '%' && (cVar1 == 's')) && (iVar4 < (int)uVar5))) {\n        iVar4 = iVar4 + 1;\n        pcVar10 = pcVar10 + 2;\n        iVar9 = FUN_00191a20();\n        pcVar11 = pcVar11 + iVar9;\n        cVar2 = *pcVar10;\n        *pcVar11 = cVar2;\n        if (cVar2 == '\0') {\n          return 0;\n        }\n      }\n      pcVar11 = pcVar11 + 1;\n      pcVar10 = pcVar10 + 1;\n    } while( true );\n  }\n  if (uVar7 <= uVar7 * 2) {\n    *puVar3 = uVar7 * 2;\n    return 1;\n  }\n  *puVar3 = 0xffffffff;\n  return 1;\n}\n\n" (function_definition "undefined4 FUN_00191ac0(int param_1)\n\n{\n  char cVar1;\n  char cVar2;\n  uint *puVar3;\n  int iVar4;\n  uint uVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  uint uVar8;\n  short *extraout_ECX;\n  int iVar9;\n  char *pcVar10;\n  int unaff_EBP;\n  char *pcVar11;\n  int iVar12;\n  bool bVar13;\n  undefined8 uVar14;\n  uint local_50;\n  uint local_48;\n  undefined4 local_30 [8];\n  \n  uVar14 = FUN_000559f2();\n  puVar3 = (uint *)uVar14;\n  uVar6 = *(undefined4 *)(unaff_EBP + 0x1f3a5a + param_1 * 4);\n  local_48 = FUN_00191a20();\n  if (param_1 == -2) {\n    uVar8 = 0xc;\n    uVar5 = 0;\n    pcVar10 = (char *)(unaff_EBP + 0x108e23);\n  }\n  else {\n    iVar4 = (int)*(short *)(unaff_EBP + 0x10b49a + *extraout_ECX * 2);\n    local_30[0] = uVar6;\n    if (iVar4 != -0x1a7) {\n      iVar9 = -iVar4;\n      if (-1 < iVar4) {\n        iVar9 = 0;\n      }\n      iVar12 = 0x5ba - iVar4;\n      if (0x82 < iVar12) {\n        iVar12 = 0x82;\n      }\n      if (iVar9 < iVar12) {\n        uVar5 = 1;\n        local_50 = local_48;\n        do {\n          while ((*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2) != iVar9 || (iVar9 == 1))\n                ) {\n            iVar9 = iVar9 + 1;\n            if (iVar12 == iVar9) goto LAB_00191bad;\n          }\n          if (uVar5 == 5) goto LAB_00191bc8;\n          uVar8 = uVar5 + 1;\n          local_30[uVar5] = *(undefined4 *)(unaff_EBP + 0x1f3a5a + iVar9 * 4);\n          uVar5 = FUN_00191a20();\n          bVar13 = CARRY4(uVar5,local_50);\n          local_50 = uVar5 + local_50;\n          if (bVar13) {\n            return 2;\n          }\n          iVar9 = iVar9 + 1;\n          uVar5 = uVar8;\n        } while (iVar12 != iVar9);\nLAB_00191bad:\n        if (uVar5 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x00191bc1. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          uVar6 = (*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a))();\n          return uVar6;\n        }\n        uVar8 = strlen((char *)0x0);\n        local_48 = local_50;\n        pcVar10 = (char *)0x0;\n        goto LAB_00191bd8;\n      }\n    }\nLAB_00191bc8:\n    uVar8 = 0x1b;\n    uVar5 = 1;\n    pcVar10 = (char *)(unaff_EBP + 0x108e01);\n  }\nLAB_00191bd8:\n  uVar7 = uVar8 + local_48;\n  if (CARRY4(uVar8,local_48)) {\n    return 2;\n  }\n  if (uVar7 <= *puVar3) {\n    iVar4 = 0;\n    pcVar11 = (char *)*(undefined4 *)((ulonglong)uVar14 >> 0x20);\n    cVar1 = *pcVar10;\n    do {\n      *pcVar11 = cVar1;\n      cVar2 = cVar1;\n      if (cVar1 == '\0') {\n        return 0;\n      }\n      while (((cVar1 = pcVar10[1], cVar2 == '%' && (cVar1 == 's')) && (iVar4 < (int)uVar5))) {\n        iVar4 = iVar4 + 1;\n        pcVar10 = pcVar10 + 2;\n        iVar9 = FUN_00191a20();\n        pcVar11 = pcVar11 + iVar9;\n        cVar2 = *pcVar10;\n        *pcVar11 = cVar2;\n        if (cVar2 == '\0') {\n          return 0;\n        }\n      }\n      pcVar11 = pcVar11 + 1;\n      pcVar10 = pcVar10 + 1;\n    } while( true );\n  }\n  if (uVar7 <= uVar7 * 2) {\n    *puVar3 = uVar7 * 2;\n    return 1;\n  }\n  *puVar3 = 0xffffffff;\n  return 1;\n}" type_identifier (function_declarator "FUN_00191ac0(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  char cVar1;\n  char cVar2;\n  uint *puVar3;\n  int iVar4;\n  uint uVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  uint uVar8;\n  short *extraout_ECX;\n  int iVar9;\n  char *pcVar10;\n  int unaff_EBP;\n  char *pcVar11;\n  int iVar12;\n  bool bVar13;\n  undefined8 uVar14;\n  uint local_50;\n  uint local_48;\n  undefined4 local_30 [8];\n  \n  uVar14 = FUN_000559f2();\n  puVar3 = (uint *)uVar14;\n  uVar6 = *(undefined4 *)(unaff_EBP + 0x1f3a5a + param_1 * 4);\n  local_48 = FUN_00191a20();\n  if (param_1 == -2) {\n    uVar8 = 0xc;\n    uVar5 = 0;\n    pcVar10 = (char *)(unaff_EBP + 0x108e23);\n  }\n  else {\n    iVar4 = (int)*(short *)(unaff_EBP + 0x10b49a + *extraout_ECX * 2);\n    local_30[0] = uVar6;\n    if (iVar4 != -0x1a7) {\n      iVar9 = -iVar4;\n      if (-1 < iVar4) {\n        iVar9 = 0;\n      }\n      iVar12 = 0x5ba - iVar4;\n      if (0x82 < iVar12) {\n        iVar12 = 0x82;\n      }\n      if (iVar9 < iVar12) {\n        uVar5 = 1;\n        local_50 = local_48;\n        do {\n          while ((*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2) != iVar9 || (iVar9 == 1))\n                ) {\n            iVar9 = iVar9 + 1;\n            if (iVar12 == iVar9) goto LAB_00191bad;\n          }\n          if (uVar5 == 5) goto LAB_00191bc8;\n          uVar8 = uVar5 + 1;\n          local_30[uVar5] = *(undefined4 *)(unaff_EBP + 0x1f3a5a + iVar9 * 4);\n          uVar5 = FUN_00191a20();\n          bVar13 = CARRY4(uVar5,local_50);\n          local_50 = uVar5 + local_50;\n          if (bVar13) {\n            return 2;\n          }\n          iVar9 = iVar9 + 1;\n          uVar5 = uVar8;\n        } while (iVar12 != iVar9);\nLAB_00191bad:\n        if (uVar5 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x00191bc1. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          uVar6 = (*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a))();\n          return uVar6;\n        }\n        uVar8 = strlen((char *)0x0);\n        local_48 = local_50;\n        pcVar10 = (char *)0x0;\n        goto LAB_00191bd8;\n      }\n    }\nLAB_00191bc8:\n    uVar8 = 0x1b;\n    uVar5 = 1;\n    pcVar10 = (char *)(unaff_EBP + 0x108e01);\n  }\nLAB_00191bd8:\n  uVar7 = uVar8 + local_48;\n  if (CARRY4(uVar8,local_48)) {\n    return 2;\n  }\n  if (uVar7 <= *puVar3) {\n    iVar4 = 0;\n    pcVar11 = (char *)*(undefined4 *)((ulonglong)uVar14 >> 0x20);\n    cVar1 = *pcVar10;\n    do {\n      *pcVar11 = cVar1;\n      cVar2 = cVar1;\n      if (cVar1 == '\0') {\n        return 0;\n      }\n      while (((cVar1 = pcVar10[1], cVar2 == '%' && (cVar1 == 's')) && (iVar4 < (int)uVar5))) {\n        iVar4 = iVar4 + 1;\n        pcVar10 = pcVar10 + 2;\n        iVar9 = FUN_00191a20();\n        pcVar11 = pcVar11 + iVar9;\n        cVar2 = *pcVar10;\n        *pcVar11 = cVar2;\n        if (cVar2 == '\0') {\n          return 0;\n        }\n      }\n      pcVar11 = pcVar11 + 1;\n      pcVar10 = pcVar10 + 1;\n    } while( true );\n  }\n  if (uVar7 <= uVar7 * 2) {\n    *puVar3 = uVar7 * 2;\n    return 1;\n  }\n  *puVar3 = 0xffffffff;\n  return 1;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "uint *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "short *extraout_ECX;" (sized_type_specifier "short" short) (pointer_declarator "*extraout_ECX" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "char *pcVar10;" primitive_type (pointer_declarator "*pcVar10" * identifier) ;) (declaration "int unaff_EBP;" primitive_type identifier ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "bool bVar13;" primitive_type identifier ;) (declaration "undefined8 uVar14;" type_identifier identifier ;) (declaration "uint local_50;" type_identifier identifier ;) (declaration "uint local_48;" type_identifier identifier ;) (declaration "undefined4 local_30 [8];" type_identifier (array_declarator "local_30 [8]" identifier [ number_literal ]) ;) (expression_statement "uVar14 = FUN_000559f2();" (assignment_expression "uVar14 = FUN_000559f2()" identifier = (call_expression "FUN_000559f2()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar3 = (uint *)uVar14;" (assignment_expression "puVar3 = (uint *)uVar14" identifier = (cast_expression "(uint *)uVar14" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "uVar6 = *(undefined4 *)(unaff_EBP + 0x1f3a5a + param_1 * 4);" (assignment_expression "uVar6 = *(undefined4 *)(unaff_EBP + 0x1f3a5a + param_1 * 4)" identifier = (pointer_expression "*(undefined4 *)(unaff_EBP + 0x1f3a5a + param_1 * 4)" * (cast_expression "(undefined4 *)(unaff_EBP + 0x1f3a5a + param_1 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1f3a5a + param_1 * 4)" ( (binary_expression "unaff_EBP + 0x1f3a5a + param_1 * 4" (binary_expression "unaff_EBP + 0x1f3a5a" identifier + number_literal) + (binary_expression "param_1 * 4" identifier * number_literal)) ))))) ;) (expression_statement "local_48 = FUN_00191a20();" (assignment_expression "local_48 = FUN_00191a20()" identifier = (call_expression "FUN_00191a20()" identifier (argument_list "()" ( )))) ;) (if_statement "if (param_1 == -2) {\n    uVar8 = 0xc;\n    uVar5 = 0;\n    pcVar10 = (char *)(unaff_EBP + 0x108e23);\n  }\n  else {\n    iVar4 = (int)*(short *)(unaff_EBP + 0x10b49a + *extraout_ECX * 2);\n    local_30[0] = uVar6;\n    if (iVar4 != -0x1a7) {\n      iVar9 = -iVar4;\n      if (-1 < iVar4) {\n        iVar9 = 0;\n      }\n      iVar12 = 0x5ba - iVar4;\n      if (0x82 < iVar12) {\n        iVar12 = 0x82;\n      }\n      if (iVar9 < iVar12) {\n        uVar5 = 1;\n        local_50 = local_48;\n        do {\n          while ((*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2) != iVar9 || (iVar9 == 1))\n                ) {\n            iVar9 = iVar9 + 1;\n            if (iVar12 == iVar9) goto LAB_00191bad;\n          }\n          if (uVar5 == 5) goto LAB_00191bc8;\n          uVar8 = uVar5 + 1;\n          local_30[uVar5] = *(undefined4 *)(unaff_EBP + 0x1f3a5a + iVar9 * 4);\n          uVar5 = FUN_00191a20();\n          bVar13 = CARRY4(uVar5,local_50);\n          local_50 = uVar5 + local_50;\n          if (bVar13) {\n            return 2;\n          }\n          iVar9 = iVar9 + 1;\n          uVar5 = uVar8;\n        } while (iVar12 != iVar9);\nLAB_00191bad:\n        if (uVar5 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x00191bc1. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          uVar6 = (*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a))();\n          return uVar6;\n        }\n        uVar8 = strlen((char *)0x0);\n        local_48 = local_50;\n        pcVar10 = (char *)0x0;\n        goto LAB_00191bd8;\n      }\n    }\nLAB_00191bc8:\n    uVar8 = 0x1b;\n    uVar5 = 1;\n    pcVar10 = (char *)(unaff_EBP + 0x108e01);\n  }" if (parenthesized_expression "(param_1 == -2)" ( (binary_expression "param_1 == -2" identifier == number_literal) )) (compound_statement "{\n    uVar8 = 0xc;\n    uVar5 = 0;\n    pcVar10 = (char *)(unaff_EBP + 0x108e23);\n  }" { (expression_statement "uVar8 = 0xc;" (assignment_expression "uVar8 = 0xc" identifier = number_literal) ;) (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" identifier = number_literal) ;) (expression_statement "pcVar10 = (char *)(unaff_EBP + 0x108e23);" (assignment_expression "pcVar10 = (char *)(unaff_EBP + 0x108e23)" identifier = (cast_expression "(char *)(unaff_EBP + 0x108e23)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x108e23)" ( (binary_expression "unaff_EBP + 0x108e23" identifier + number_literal) )))) ;) }) (else_clause "else {\n    iVar4 = (int)*(short *)(unaff_EBP + 0x10b49a + *extraout_ECX * 2);\n    local_30[0] = uVar6;\n    if (iVar4 != -0x1a7) {\n      iVar9 = -iVar4;\n      if (-1 < iVar4) {\n        iVar9 = 0;\n      }\n      iVar12 = 0x5ba - iVar4;\n      if (0x82 < iVar12) {\n        iVar12 = 0x82;\n      }\n      if (iVar9 < iVar12) {\n        uVar5 = 1;\n        local_50 = local_48;\n        do {\n          while ((*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2) != iVar9 || (iVar9 == 1))\n                ) {\n            iVar9 = iVar9 + 1;\n            if (iVar12 == iVar9) goto LAB_00191bad;\n          }\n          if (uVar5 == 5) goto LAB_00191bc8;\n          uVar8 = uVar5 + 1;\n          local_30[uVar5] = *(undefined4 *)(unaff_EBP + 0x1f3a5a + iVar9 * 4);\n          uVar5 = FUN_00191a20();\n          bVar13 = CARRY4(uVar5,local_50);\n          local_50 = uVar5 + local_50;\n          if (bVar13) {\n            return 2;\n          }\n          iVar9 = iVar9 + 1;\n          uVar5 = uVar8;\n        } while (iVar12 != iVar9);\nLAB_00191bad:\n        if (uVar5 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x00191bc1. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          uVar6 = (*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a))();\n          return uVar6;\n        }\n        uVar8 = strlen((char *)0x0);\n        local_48 = local_50;\n        pcVar10 = (char *)0x0;\n        goto LAB_00191bd8;\n      }\n    }\nLAB_00191bc8:\n    uVar8 = 0x1b;\n    uVar5 = 1;\n    pcVar10 = (char *)(unaff_EBP + 0x108e01);\n  }" else (compound_statement "{\n    iVar4 = (int)*(short *)(unaff_EBP + 0x10b49a + *extraout_ECX * 2);\n    local_30[0] = uVar6;\n    if (iVar4 != -0x1a7) {\n      iVar9 = -iVar4;\n      if (-1 < iVar4) {\n        iVar9 = 0;\n      }\n      iVar12 = 0x5ba - iVar4;\n      if (0x82 < iVar12) {\n        iVar12 = 0x82;\n      }\n      if (iVar9 < iVar12) {\n        uVar5 = 1;\n        local_50 = local_48;\n        do {\n          while ((*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2) != iVar9 || (iVar9 == 1))\n                ) {\n            iVar9 = iVar9 + 1;\n            if (iVar12 == iVar9) goto LAB_00191bad;\n          }\n          if (uVar5 == 5) goto LAB_00191bc8;\n          uVar8 = uVar5 + 1;\n          local_30[uVar5] = *(undefined4 *)(unaff_EBP + 0x1f3a5a + iVar9 * 4);\n          uVar5 = FUN_00191a20();\n          bVar13 = CARRY4(uVar5,local_50);\n          local_50 = uVar5 + local_50;\n          if (bVar13) {\n            return 2;\n          }\n          iVar9 = iVar9 + 1;\n          uVar5 = uVar8;\n        } while (iVar12 != iVar9);\nLAB_00191bad:\n        if (uVar5 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x00191bc1. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          uVar6 = (*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a))();\n          return uVar6;\n        }\n        uVar8 = strlen((char *)0x0);\n        local_48 = local_50;\n        pcVar10 = (char *)0x0;\n        goto LAB_00191bd8;\n      }\n    }\nLAB_00191bc8:\n    uVar8 = 0x1b;\n    uVar5 = 1;\n    pcVar10 = (char *)(unaff_EBP + 0x108e01);\n  }" { (expression_statement "iVar4 = (int)*(short *)(unaff_EBP + 0x10b49a + *extraout_ECX * 2);" (assignment_expression "iVar4 = (int)*(short *)(unaff_EBP + 0x10b49a + *extraout_ECX * 2)" identifier = (cast_expression "(int)*(short *)(unaff_EBP + 0x10b49a + *extraout_ECX * 2)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(unaff_EBP + 0x10b49a + *extraout_ECX * 2)" * (cast_expression "(short *)(unaff_EBP + 0x10b49a + *extraout_ECX * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x10b49a + *extraout_ECX * 2)" ( (binary_expression "unaff_EBP + 0x10b49a + *extraout_ECX * 2" (binary_expression "unaff_EBP + 0x10b49a" identifier + number_literal) + (binary_expression "*extraout_ECX * 2" (pointer_expression "*extraout_ECX" * identifier) * number_literal)) )))))) ;) (expression_statement "local_30[0] = uVar6;" (assignment_expression "local_30[0] = uVar6" (subscript_expression "local_30[0]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar4 != -0x1a7) {\n      iVar9 = -iVar4;\n      if (-1 < iVar4) {\n        iVar9 = 0;\n      }\n      iVar12 = 0x5ba - iVar4;\n      if (0x82 < iVar12) {\n        iVar12 = 0x82;\n      }\n      if (iVar9 < iVar12) {\n        uVar5 = 1;\n        local_50 = local_48;\n        do {\n          while ((*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2) != iVar9 || (iVar9 == 1))\n                ) {\n            iVar9 = iVar9 + 1;\n            if (iVar12 == iVar9) goto LAB_00191bad;\n          }\n          if (uVar5 == 5) goto LAB_00191bc8;\n          uVar8 = uVar5 + 1;\n          local_30[uVar5] = *(undefined4 *)(unaff_EBP + 0x1f3a5a + iVar9 * 4);\n          uVar5 = FUN_00191a20();\n          bVar13 = CARRY4(uVar5,local_50);\n          local_50 = uVar5 + local_50;\n          if (bVar13) {\n            return 2;\n          }\n          iVar9 = iVar9 + 1;\n          uVar5 = uVar8;\n        } while (iVar12 != iVar9);\nLAB_00191bad:\n        if (uVar5 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x00191bc1. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          uVar6 = (*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a))();\n          return uVar6;\n        }\n        uVar8 = strlen((char *)0x0);\n        local_48 = local_50;\n        pcVar10 = (char *)0x0;\n        goto LAB_00191bd8;\n      }\n    }" if (parenthesized_expression "(iVar4 != -0x1a7)" ( (binary_expression "iVar4 != -0x1a7" identifier != number_literal) )) (compound_statement "{\n      iVar9 = -iVar4;\n      if (-1 < iVar4) {\n        iVar9 = 0;\n      }\n      iVar12 = 0x5ba - iVar4;\n      if (0x82 < iVar12) {\n        iVar12 = 0x82;\n      }\n      if (iVar9 < iVar12) {\n        uVar5 = 1;\n        local_50 = local_48;\n        do {\n          while ((*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2) != iVar9 || (iVar9 == 1))\n                ) {\n            iVar9 = iVar9 + 1;\n            if (iVar12 == iVar9) goto LAB_00191bad;\n          }\n          if (uVar5 == 5) goto LAB_00191bc8;\n          uVar8 = uVar5 + 1;\n          local_30[uVar5] = *(undefined4 *)(unaff_EBP + 0x1f3a5a + iVar9 * 4);\n          uVar5 = FUN_00191a20();\n          bVar13 = CARRY4(uVar5,local_50);\n          local_50 = uVar5 + local_50;\n          if (bVar13) {\n            return 2;\n          }\n          iVar9 = iVar9 + 1;\n          uVar5 = uVar8;\n        } while (iVar12 != iVar9);\nLAB_00191bad:\n        if (uVar5 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x00191bc1. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          uVar6 = (*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a))();\n          return uVar6;\n        }\n        uVar8 = strlen((char *)0x0);\n        local_48 = local_50;\n        pcVar10 = (char *)0x0;\n        goto LAB_00191bd8;\n      }\n    }" { (expression_statement "iVar9 = -iVar4;" (assignment_expression "iVar9 = -iVar4" identifier = (unary_expression "-iVar4" - identifier)) ;) (if_statement "if (-1 < iVar4) {\n        iVar9 = 0;\n      }" if (parenthesized_expression "(-1 < iVar4)" ( (binary_expression "-1 < iVar4" number_literal < identifier) )) (compound_statement "{\n        iVar9 = 0;\n      }" { (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) })) (expression_statement "iVar12 = 0x5ba - iVar4;" (assignment_expression "iVar12 = 0x5ba - iVar4" identifier = (binary_expression "0x5ba - iVar4" number_literal - identifier)) ;) (if_statement "if (0x82 < iVar12) {\n        iVar12 = 0x82;\n      }" if (parenthesized_expression "(0x82 < iVar12)" ( (binary_expression "0x82 < iVar12" number_literal < identifier) )) (compound_statement "{\n        iVar12 = 0x82;\n      }" { (expression_statement "iVar12 = 0x82;" (assignment_expression "iVar12 = 0x82" identifier = number_literal) ;) })) (if_statement "if (iVar9 < iVar12) {\n        uVar5 = 1;\n        local_50 = local_48;\n        do {\n          while ((*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2) != iVar9 || (iVar9 == 1))\n                ) {\n            iVar9 = iVar9 + 1;\n            if (iVar12 == iVar9) goto LAB_00191bad;\n          }\n          if (uVar5 == 5) goto LAB_00191bc8;\n          uVar8 = uVar5 + 1;\n          local_30[uVar5] = *(undefined4 *)(unaff_EBP + 0x1f3a5a + iVar9 * 4);\n          uVar5 = FUN_00191a20();\n          bVar13 = CARRY4(uVar5,local_50);\n          local_50 = uVar5 + local_50;\n          if (bVar13) {\n            return 2;\n          }\n          iVar9 = iVar9 + 1;\n          uVar5 = uVar8;\n        } while (iVar12 != iVar9);\nLAB_00191bad:\n        if (uVar5 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x00191bc1. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          uVar6 = (*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a))();\n          return uVar6;\n        }\n        uVar8 = strlen((char *)0x0);\n        local_48 = local_50;\n        pcVar10 = (char *)0x0;\n        goto LAB_00191bd8;\n      }" if (parenthesized_expression "(iVar9 < iVar12)" ( (binary_expression "iVar9 < iVar12" identifier < identifier) )) (compound_statement "{\n        uVar5 = 1;\n        local_50 = local_48;\n        do {\n          while ((*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2) != iVar9 || (iVar9 == 1))\n                ) {\n            iVar9 = iVar9 + 1;\n            if (iVar12 == iVar9) goto LAB_00191bad;\n          }\n          if (uVar5 == 5) goto LAB_00191bc8;\n          uVar8 = uVar5 + 1;\n          local_30[uVar5] = *(undefined4 *)(unaff_EBP + 0x1f3a5a + iVar9 * 4);\n          uVar5 = FUN_00191a20();\n          bVar13 = CARRY4(uVar5,local_50);\n          local_50 = uVar5 + local_50;\n          if (bVar13) {\n            return 2;\n          }\n          iVar9 = iVar9 + 1;\n          uVar5 = uVar8;\n        } while (iVar12 != iVar9);\nLAB_00191bad:\n        if (uVar5 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x00191bc1. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          uVar6 = (*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a))();\n          return uVar6;\n        }\n        uVar8 = strlen((char *)0x0);\n        local_48 = local_50;\n        pcVar10 = (char *)0x0;\n        goto LAB_00191bd8;\n      }" { (expression_statement "uVar5 = 1;" (assignment_expression "uVar5 = 1" identifier = number_literal) ;) (expression_statement "local_50 = local_48;" (assignment_expression "local_50 = local_48" identifier = identifier) ;) (do_statement "do {\n          while ((*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2) != iVar9 || (iVar9 == 1))\n                ) {\n            iVar9 = iVar9 + 1;\n            if (iVar12 == iVar9) goto LAB_00191bad;\n          }\n          if (uVar5 == 5) goto LAB_00191bc8;\n          uVar8 = uVar5 + 1;\n          local_30[uVar5] = *(undefined4 *)(unaff_EBP + 0x1f3a5a + iVar9 * 4);\n          uVar5 = FUN_00191a20();\n          bVar13 = CARRY4(uVar5,local_50);\n          local_50 = uVar5 + local_50;\n          if (bVar13) {\n            return 2;\n          }\n          iVar9 = iVar9 + 1;\n          uVar5 = uVar8;\n        } while (iVar12 != iVar9);" do (compound_statement "{\n          while ((*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2) != iVar9 || (iVar9 == 1))\n                ) {\n            iVar9 = iVar9 + 1;\n            if (iVar12 == iVar9) goto LAB_00191bad;\n          }\n          if (uVar5 == 5) goto LAB_00191bc8;\n          uVar8 = uVar5 + 1;\n          local_30[uVar5] = *(undefined4 *)(unaff_EBP + 0x1f3a5a + iVar9 * 4);\n          uVar5 = FUN_00191a20();\n          bVar13 = CARRY4(uVar5,local_50);\n          local_50 = uVar5 + local_50;\n          if (bVar13) {\n            return 2;\n          }\n          iVar9 = iVar9 + 1;\n          uVar5 = uVar8;\n        }" { (while_statement "while ((*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2) != iVar9 || (iVar9 == 1))\n                ) {\n            iVar9 = iVar9 + 1;\n            if (iVar12 == iVar9) goto LAB_00191bad;\n          }" while (parenthesized_expression "((*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2) != iVar9 || (iVar9 == 1))\n                )" ( (parenthesized_expression "(*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2) != iVar9 || (iVar9 == 1))" ( (binary_expression "*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2) != iVar9 || (iVar9 == 1)" (binary_expression "*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2) != iVar9" (pointer_expression "*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2)" * (cast_expression "(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2)" ( (binary_expression "unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2" (binary_expression "unaff_EBP + 0x109a1a + iVar4 * 2" (binary_expression "unaff_EBP + 0x109a1a" identifier + number_literal) + (binary_expression "iVar4 * 2" identifier * number_literal)) + (binary_expression "iVar9 * 2" identifier * number_literal)) )))) != identifier) || (parenthesized_expression "(iVar9 == 1)" ( (binary_expression "iVar9 == 1" identifier == number_literal) ))) )) )) (compound_statement "{\n            iVar9 = iVar9 + 1;\n            if (iVar12 == iVar9) goto LAB_00191bad;\n          }" { (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (if_statement "if (iVar12 == iVar9) goto LAB_00191bad;" if (parenthesized_expression "(iVar12 == iVar9)" ( (binary_expression "iVar12 == iVar9" identifier == identifier) )) (goto_statement "goto LAB_00191bad;" goto statement_identifier ;)) })) (if_statement "if (uVar5 == 5) goto LAB_00191bc8;" if (parenthesized_expression "(uVar5 == 5)" ( (binary_expression "uVar5 == 5" identifier == number_literal) )) (goto_statement "goto LAB_00191bc8;" goto statement_identifier ;)) (expression_statement "uVar8 = uVar5 + 1;" (assignment_expression "uVar8 = uVar5 + 1" identifier = (binary_expression "uVar5 + 1" identifier + number_literal)) ;) (expression_statement "local_30[uVar5] = *(undefined4 *)(unaff_EBP + 0x1f3a5a + iVar9 * 4);" (assignment_expression "local_30[uVar5] = *(undefined4 *)(unaff_EBP + 0x1f3a5a + iVar9 * 4)" (subscript_expression "local_30[uVar5]" identifier [ identifier ]) = (pointer_expression "*(undefined4 *)(unaff_EBP + 0x1f3a5a + iVar9 * 4)" * (cast_expression "(undefined4 *)(unaff_EBP + 0x1f3a5a + iVar9 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1f3a5a + iVar9 * 4)" ( (binary_expression "unaff_EBP + 0x1f3a5a + iVar9 * 4" (binary_expression "unaff_EBP + 0x1f3a5a" identifier + number_literal) + (binary_expression "iVar9 * 4" identifier * number_literal)) ))))) ;) (expression_statement "uVar5 = FUN_00191a20();" (assignment_expression "uVar5 = FUN_00191a20()" identifier = (call_expression "FUN_00191a20()" identifier (argument_list "()" ( )))) ;) (expression_statement "bVar13 = CARRY4(uVar5,local_50);" (assignment_expression "bVar13 = CARRY4(uVar5,local_50)" identifier = (call_expression "CARRY4(uVar5,local_50)" identifier (argument_list "(uVar5,local_50)" ( identifier , identifier )))) ;) (expression_statement "local_50 = uVar5 + local_50;" (assignment_expression "local_50 = uVar5 + local_50" identifier = (binary_expression "uVar5 + local_50" identifier + identifier)) ;) (if_statement "if (bVar13) {\n            return 2;\n          }" if (parenthesized_expression "(bVar13)" ( identifier )) (compound_statement "{\n            return 2;\n          }" { (return_statement "return 2;" return number_literal ;) })) (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (expression_statement "uVar5 = uVar8;" (assignment_expression "uVar5 = uVar8" identifier = identifier) ;) }) while (parenthesized_expression "(iVar12 != iVar9)" ( (binary_expression "iVar12 != iVar9" identifier != identifier) )) ;) (labeled_statement "LAB_00191bad:\n        if (uVar5 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x00191bc1. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          uVar6 = (*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a))();\n          return uVar6;\n        }" statement_identifier : (if_statement "if (uVar5 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x00191bc1. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          uVar6 = (*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a))();\n          return uVar6;\n        }" if (parenthesized_expression "(uVar5 < 6)" ( (binary_expression "uVar5 < 6" identifier < number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x00191bc1. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          uVar6 = (*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a))();\n          return uVar6;\n        }" { comment comment (expression_statement "uVar6 = (*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a))();" (assignment_expression "uVar6 = (*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a))()" identifier = (call_expression "(*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a))()" (parenthesized_expression "(*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a))" ( (pointer_expression "*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a)" * (cast_expression "(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a)" ( (binary_expression "*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a" (binary_expression "*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP" (pointer_expression "*(int *)(unaff_EBP + 0x10945a + uVar5 * 4)" * (cast_expression "(int *)(unaff_EBP + 0x10945a + uVar5 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x10945a + uVar5 * 4)" ( (binary_expression "unaff_EBP + 0x10945a + uVar5 * 4" (binary_expression "unaff_EBP + 0x10945a" identifier + number_literal) + (binary_expression "uVar5 * 4" identifier * number_literal)) )))) + identifier) + number_literal) )))) )) (argument_list "()" ( )))) ;) (return_statement "return uVar6;" return identifier ;) }))) (expression_statement "uVar8 = strlen((char *)0x0);" (assignment_expression "uVar8 = strlen((char *)0x0)" identifier = (call_expression "strlen((char *)0x0)" identifier (argument_list "((char *)0x0)" ( (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;) (expression_statement "local_48 = local_50;" (assignment_expression "local_48 = local_50" identifier = identifier) ;) (expression_statement "pcVar10 = (char *)0x0;" (assignment_expression "pcVar10 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00191bd8;" goto statement_identifier ;) })) })) (labeled_statement "LAB_00191bc8:\n    uVar8 = 0x1b;" statement_identifier : (expression_statement "uVar8 = 0x1b;" (assignment_expression "uVar8 = 0x1b" identifier = number_literal) ;)) (expression_statement "uVar5 = 1;" (assignment_expression "uVar5 = 1" identifier = number_literal) ;) (expression_statement "pcVar10 = (char *)(unaff_EBP + 0x108e01);" (assignment_expression "pcVar10 = (char *)(unaff_EBP + 0x108e01)" identifier = (cast_expression "(char *)(unaff_EBP + 0x108e01)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x108e01)" ( (binary_expression "unaff_EBP + 0x108e01" identifier + number_literal) )))) ;) }))) (labeled_statement "LAB_00191bd8:\n  uVar7 = uVar8 + local_48;" statement_identifier : (expression_statement "uVar7 = uVar8 + local_48;" (assignment_expression "uVar7 = uVar8 + local_48" identifier = (binary_expression "uVar8 + local_48" identifier + identifier)) ;)) (if_statement "if (CARRY4(uVar8,local_48)) {\n    return 2;\n  }" if (parenthesized_expression "(CARRY4(uVar8,local_48))" ( (call_expression "CARRY4(uVar8,local_48)" identifier (argument_list "(uVar8,local_48)" ( identifier , identifier ))) )) (compound_statement "{\n    return 2;\n  }" { (return_statement "return 2;" return number_literal ;) })) (if_statement "if (uVar7 <= *puVar3) {\n    iVar4 = 0;\n    pcVar11 = (char *)*(undefined4 *)((ulonglong)uVar14 >> 0x20);\n    cVar1 = *pcVar10;\n    do {\n      *pcVar11 = cVar1;\n      cVar2 = cVar1;\n      if (cVar1 == '\0') {\n        return 0;\n      }\n      while (((cVar1 = pcVar10[1], cVar2 == '%' && (cVar1 == 's')) && (iVar4 < (int)uVar5))) {\n        iVar4 = iVar4 + 1;\n        pcVar10 = pcVar10 + 2;\n        iVar9 = FUN_00191a20();\n        pcVar11 = pcVar11 + iVar9;\n        cVar2 = *pcVar10;\n        *pcVar11 = cVar2;\n        if (cVar2 == '\0') {\n          return 0;\n        }\n      }\n      pcVar11 = pcVar11 + 1;\n      pcVar10 = pcVar10 + 1;\n    } while( true );\n  }" if (parenthesized_expression "(uVar7 <= *puVar3)" ( (binary_expression "uVar7 <= *puVar3" identifier <= (pointer_expression "*puVar3" * identifier)) )) (compound_statement "{\n    iVar4 = 0;\n    pcVar11 = (char *)*(undefined4 *)((ulonglong)uVar14 >> 0x20);\n    cVar1 = *pcVar10;\n    do {\n      *pcVar11 = cVar1;\n      cVar2 = cVar1;\n      if (cVar1 == '\0') {\n        return 0;\n      }\n      while (((cVar1 = pcVar10[1], cVar2 == '%' && (cVar1 == 's')) && (iVar4 < (int)uVar5))) {\n        iVar4 = iVar4 + 1;\n        pcVar10 = pcVar10 + 2;\n        iVar9 = FUN_00191a20();\n        pcVar11 = pcVar11 + iVar9;\n        cVar2 = *pcVar10;\n        *pcVar11 = cVar2;\n        if (cVar2 == '\0') {\n          return 0;\n        }\n      }\n      pcVar11 = pcVar11 + 1;\n      pcVar10 = pcVar10 + 1;\n    } while( true );\n  }" { (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (expression_statement "pcVar11 = (char *)*(undefined4 *)((ulonglong)uVar14 >> 0x20);" (assignment_expression "pcVar11 = (char *)*(undefined4 *)((ulonglong)uVar14 >> 0x20)" identifier = (cast_expression "(char *)*(undefined4 *)((ulonglong)uVar14 >> 0x20)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*(undefined4 *)((ulonglong)uVar14 >> 0x20)" * (cast_expression "(undefined4 *)((ulonglong)uVar14 >> 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar14 >> 0x20)" ( (binary_expression "(ulonglong)uVar14 >> 0x20" (cast_expression "(ulonglong)uVar14" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))))) ;) (expression_statement "cVar1 = *pcVar10;" (assignment_expression "cVar1 = *pcVar10" identifier = (pointer_expression "*pcVar10" * identifier)) ;) (do_statement "do {\n      *pcVar11 = cVar1;\n      cVar2 = cVar1;\n      if (cVar1 == '\0') {\n        return 0;\n      }\n      while (((cVar1 = pcVar10[1], cVar2 == '%' && (cVar1 == 's')) && (iVar4 < (int)uVar5))) {\n        iVar4 = iVar4 + 1;\n        pcVar10 = pcVar10 + 2;\n        iVar9 = FUN_00191a20();\n        pcVar11 = pcVar11 + iVar9;\n        cVar2 = *pcVar10;\n        *pcVar11 = cVar2;\n        if (cVar2 == '\0') {\n          return 0;\n        }\n      }\n      pcVar11 = pcVar11 + 1;\n      pcVar10 = pcVar10 + 1;\n    } while( true );" do (compound_statement "{\n      *pcVar11 = cVar1;\n      cVar2 = cVar1;\n      if (cVar1 == '\0') {\n        return 0;\n      }\n      while (((cVar1 = pcVar10[1], cVar2 == '%' && (cVar1 == 's')) && (iVar4 < (int)uVar5))) {\n        iVar4 = iVar4 + 1;\n        pcVar10 = pcVar10 + 2;\n        iVar9 = FUN_00191a20();\n        pcVar11 = pcVar11 + iVar9;\n        cVar2 = *pcVar10;\n        *pcVar11 = cVar2;\n        if (cVar2 == '\0') {\n          return 0;\n        }\n      }\n      pcVar11 = pcVar11 + 1;\n      pcVar10 = pcVar10 + 1;\n    }" { (expression_statement "*pcVar11 = cVar1;" (assignment_expression "*pcVar11 = cVar1" (pointer_expression "*pcVar11" * identifier) = identifier) ;) (expression_statement "cVar2 = cVar1;" (assignment_expression "cVar2 = cVar1" identifier = identifier) ;) (if_statement "if (cVar1 == '\0') {\n        return 0;\n      }" if (parenthesized_expression "(cVar1 == '\0')" ( (binary_expression "cVar1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) })) (while_statement "while (((cVar1 = pcVar10[1], cVar2 == '%' && (cVar1 == 's')) && (iVar4 < (int)uVar5))) {\n        iVar4 = iVar4 + 1;\n        pcVar10 = pcVar10 + 2;\n        iVar9 = FUN_00191a20();\n        pcVar11 = pcVar11 + iVar9;\n        cVar2 = *pcVar10;\n        *pcVar11 = cVar2;\n        if (cVar2 == '\0') {\n          return 0;\n        }\n      }" while (parenthesized_expression "(((cVar1 = pcVar10[1], cVar2 == '%' && (cVar1 == 's')) && (iVar4 < (int)uVar5)))" ( (parenthesized_expression "((cVar1 = pcVar10[1], cVar2 == '%' && (cVar1 == 's')) && (iVar4 < (int)uVar5))" ( (binary_expression "(cVar1 = pcVar10[1], cVar2 == '%' && (cVar1 == 's')) && (iVar4 < (int)uVar5)" (parenthesized_expression "(cVar1 = pcVar10[1], cVar2 == '%' && (cVar1 == 's'))" ( (comma_expression "cVar1 = pcVar10[1], cVar2 == '%' && (cVar1 == 's')" (assignment_expression "cVar1 = pcVar10[1]" identifier = (subscript_expression "pcVar10[1]" identifier [ number_literal ])) , (binary_expression "cVar2 == '%' && (cVar1 == 's')" (binary_expression "cVar2 == '%'" identifier == (char_literal "'%'" ' character ')) && (parenthesized_expression "(cVar1 == 's')" ( (binary_expression "cVar1 == 's'" identifier == (char_literal "'s'" ' character ')) )))) )) && (parenthesized_expression "(iVar4 < (int)uVar5)" ( (binary_expression "iVar4 < (int)uVar5" identifier < (cast_expression "(int)uVar5" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) )) (compound_statement "{\n        iVar4 = iVar4 + 1;\n        pcVar10 = pcVar10 + 2;\n        iVar9 = FUN_00191a20();\n        pcVar11 = pcVar11 + iVar9;\n        cVar2 = *pcVar10;\n        *pcVar11 = cVar2;\n        if (cVar2 == '\0') {\n          return 0;\n        }\n      }" { (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) (expression_statement "pcVar10 = pcVar10 + 2;" (assignment_expression "pcVar10 = pcVar10 + 2" identifier = (binary_expression "pcVar10 + 2" identifier + number_literal)) ;) (expression_statement "iVar9 = FUN_00191a20();" (assignment_expression "iVar9 = FUN_00191a20()" identifier = (call_expression "FUN_00191a20()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar11 = pcVar11 + iVar9;" (assignment_expression "pcVar11 = pcVar11 + iVar9" identifier = (binary_expression "pcVar11 + iVar9" identifier + identifier)) ;) (expression_statement "cVar2 = *pcVar10;" (assignment_expression "cVar2 = *pcVar10" identifier = (pointer_expression "*pcVar10" * identifier)) ;) (expression_statement "*pcVar11 = cVar2;" (assignment_expression "*pcVar11 = cVar2" (pointer_expression "*pcVar11" * identifier) = identifier) ;) (if_statement "if (cVar2 == '\0') {\n          return 0;\n        }" if (parenthesized_expression "(cVar2 == '\0')" ( (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          return 0;\n        }" { (return_statement "return 0;" return number_literal ;) })) })) (expression_statement "pcVar11 = pcVar11 + 1;" (assignment_expression "pcVar11 = pcVar11 + 1" identifier = (binary_expression "pcVar11 + 1" identifier + number_literal)) ;) (expression_statement "pcVar10 = pcVar10 + 1;" (assignment_expression "pcVar10 = pcVar10 + 1" identifier = (binary_expression "pcVar10 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (if_statement "if (uVar7 <= uVar7 * 2) {\n    *puVar3 = uVar7 * 2;\n    return 1;\n  }" if (parenthesized_expression "(uVar7 <= uVar7 * 2)" ( (binary_expression "uVar7 <= uVar7 * 2" identifier <= (binary_expression "uVar7 * 2" identifier * number_literal)) )) (compound_statement "{\n    *puVar3 = uVar7 * 2;\n    return 1;\n  }" { (expression_statement "*puVar3 = uVar7 * 2;" (assignment_expression "*puVar3 = uVar7 * 2" (pointer_expression "*puVar3" * identifier) = (binary_expression "uVar7 * 2" identifier * number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "*puVar3 = 0xffffffff;" (assignment_expression "*puVar3 = 0xffffffff" (pointer_expression "*puVar3" * identifier) = number_literal) ;) (return_statement "return 1;" return number_literal ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bp replaced with injection: get_pc_thunk.bp */\n\nint __regparm3 yysyntax_error(uint *yymsg_alloc,char **yymsg,yytype_int16 *yyssp,int yytoken)\n\n{\n  int iVar1;\n  char **ppcVar2;\n  char cVar3;\n  char cVar4;\n  int iVar5;\n  uint uVar6;\n  uint uVar7;\n  int iVar8;\n  char *pcVar9;\n  char *yyres;\n  int iVar10;\n  int iVar11;\n  bool bVar12;\n  uint local_50;\n  uint local_48;\n  char *yyarg [5];\n  \n  pcVar9 = yytname[yytoken];\n  local_48 = yytnamerr((char *)0x0,pcVar9);\n  if (yytoken == -2) {\n    uVar6 = 0xc;\n    iVar11 = 0;\n    pcVar9 = "syntax error";\n  }\n  else {\n    yyarg[0] = pcVar9;\n    iVar5 = (int)yypact[*yyssp];\n    if (iVar5 != -0x1a7) {\n      iVar8 = -iVar5;\n      if (-1 < iVar5) {\n        iVar8 = 0;\n      }\n      iVar10 = 0x5ba - iVar5;\n      if (0x82 < iVar10) {\n        iVar10 = 0x82;\n      }\n      if (iVar8 < iVar10) {\n        iVar11 = 1;\n        local_50 = local_48;\n        do {\n          while ((yycheck[iVar5 + iVar8] == iVar8 && (iVar8 != 1))) {\n            if (iVar11 == 5) goto LAB_00191bc8;\n            iVar1 = iVar11 + 1;\n            pcVar9 = yytname[iVar8];\n            yyarg[iVar11] = pcVar9;\n            uVar6 = yytnamerr((char *)0x0,pcVar9);\n            bVar12 = CARRY4(uVar6,local_50);\n            local_50 = uVar6 + local_50;\n            if (bVar12) {\n              return 2;\n            }\n            iVar8 = iVar8 + 1;\n            iVar11 = iVar1;\n            if (iVar10 == iVar8) goto LAB_00191bad;\n          }\n          iVar8 = iVar8 + 1;\n        } while (iVar10 != iVar8);\nLAB_00191bad:\n        switch(iVar11) {\n        default:\n          uVar6 = strlen((char *)0x0);\n          local_48 = local_50;\n          pcVar9 = (char *)0x0;\n          break;\n        case 1:\n          pcVar9 = "syntax error, unexpected %s";\n          local_48 = local_50;\n          uVar6 = 0x1b;\n          break;\n        case 2:\n          pcVar9 = "syntax error, unexpected %s, expecting %s";\n          local_48 = local_50;\n          uVar6 = 0x29;\n          break;\n        case 3:\n          pcVar9 = "syntax error, unexpected %s, expecting %s or %s";\n          local_48 = local_50;\n          uVar6 = 0x2f;\n          break;\n        case 4:\n          pcVar9 = "syntax error, unexpected %s, expecting %s or %s or %s";\n          local_48 = local_50;\n          uVar6 = 0x35;\n          break;\n        case 5:\n          pcVar9 = "syntax error, unexpected %s, expecting %s or %s or %s or %s";\n          local_48 = local_50;\n          uVar6 = 0x3b;\n        }\n        goto LAB_00191bd8;\n      }\n    }\nLAB_00191bc8:\n    uVar6 = 0x1b;\n    iVar11 = 1;\n    pcVar9 = "syntax error, unexpected %s";\n  }\nLAB_00191bd8:\n  uVar7 = uVar6 + local_48;\n  if (CARRY4(uVar6,local_48)) {\n    return 2;\n  }\n  if (uVar7 <= *yymsg_alloc) {\n    iVar5 = 0;\n    yyres = *yymsg;\n    cVar3 = *pcVar9;\n    do {\n      *yyres = cVar3;\n      cVar4 = cVar3;\n      if (cVar3 == '\0') {\n        return 0;\n      }\n      while (((cVar3 = pcVar9[1], cVar4 == '%' && (cVar3 == 's')) && (iVar5 < iVar11))) {\n        ppcVar2 = yyarg + iVar5;\n        iVar5 = iVar5 + 1;\n        pcVar9 = pcVar9 + 2;\n        uVar6 = yytnamerr(yyres,*ppcVar2);\n        yyres = yyres + uVar6;\n        cVar4 = *pcVar9;\n        *yyres = cVar4;\n        if (cVar4 == '\0') {\n          return 0;\n        }\n      }\n      yyres = yyres + 1;\n      pcVar9 = pcVar9 + 1;\n    } while( true );\n  }\n  if (uVar7 <= uVar7 * 2) {\n    *yymsg_alloc = uVar7 * 2;\n    return 1;\n  }\n  *yymsg_alloc = 0xffffffff;\n  return 1;\n}\n\n" comment (function_definition "int __regparm3 yysyntax_error(uint *yymsg_alloc,char **yymsg,yytype_int16 *yyssp,int yytoken)\n\n{\n  int iVar1;\n  char **ppcVar2;\n  char cVar3;\n  char cVar4;\n  int iVar5;\n  uint uVar6;\n  uint uVar7;\n  int iVar8;\n  char *pcVar9;\n  char *yyres;\n  int iVar10;\n  int iVar11;\n  bool bVar12;\n  uint local_50;\n  uint local_48;\n  char *yyarg [5];\n  \n  pcVar9 = yytname[yytoken];\n  local_48 = yytnamerr((char *)0x0,pcVar9);\n  if (yytoken == -2) {\n    uVar6 = 0xc;\n    iVar11 = 0;\n    pcVar9 = "syntax error";\n  }\n  else {\n    yyarg[0] = pcVar9;\n    iVar5 = (int)yypact[*yyssp];\n    if (iVar5 != -0x1a7) {\n      iVar8 = -iVar5;\n      if (-1 < iVar5) {\n        iVar8 = 0;\n      }\n      iVar10 = 0x5ba - iVar5;\n      if (0x82 < iVar10) {\n        iVar10 = 0x82;\n      }\n      if (iVar8 < iVar10) {\n        iVar11 = 1;\n        local_50 = local_48;\n        do {\n          while ((yycheck[iVar5 + iVar8] == iVar8 && (iVar8 != 1))) {\n            if (iVar11 == 5) goto LAB_00191bc8;\n            iVar1 = iVar11 + 1;\n            pcVar9 = yytname[iVar8];\n            yyarg[iVar11] = pcVar9;\n            uVar6 = yytnamerr((char *)0x0,pcVar9);\n            bVar12 = CARRY4(uVar6,local_50);\n            local_50 = uVar6 + local_50;\n            if (bVar12) {\n              return 2;\n            }\n            iVar8 = iVar8 + 1;\n            iVar11 = iVar1;\n            if (iVar10 == iVar8) goto LAB_00191bad;\n          }\n          iVar8 = iVar8 + 1;\n        } while (iVar10 != iVar8);\nLAB_00191bad:\n        switch(iVar11) {\n        default:\n          uVar6 = strlen((char *)0x0);\n          local_48 = local_50;\n          pcVar9 = (char *)0x0;\n          break;\n        case 1:\n          pcVar9 = "syntax error, unexpected %s";\n          local_48 = local_50;\n          uVar6 = 0x1b;\n          break;\n        case 2:\n          pcVar9 = "syntax error, unexpected %s, expecting %s";\n          local_48 = local_50;\n          uVar6 = 0x29;\n          break;\n        case 3:\n          pcVar9 = "syntax error, unexpected %s, expecting %s or %s";\n          local_48 = local_50;\n          uVar6 = 0x2f;\n          break;\n        case 4:\n          pcVar9 = "syntax error, unexpected %s, expecting %s or %s or %s";\n          local_48 = local_50;\n          uVar6 = 0x35;\n          break;\n        case 5:\n          pcVar9 = "syntax error, unexpected %s, expecting %s or %s or %s or %s";\n          local_48 = local_50;\n          uVar6 = 0x3b;\n        }\n        goto LAB_00191bd8;\n      }\n    }\nLAB_00191bc8:\n    uVar6 = 0x1b;\n    iVar11 = 1;\n    pcVar9 = "syntax error, unexpected %s";\n  }\nLAB_00191bd8:\n  uVar7 = uVar6 + local_48;\n  if (CARRY4(uVar6,local_48)) {\n    return 2;\n  }\n  if (uVar7 <= *yymsg_alloc) {\n    iVar5 = 0;\n    yyres = *yymsg;\n    cVar3 = *pcVar9;\n    do {\n      *yyres = cVar3;\n      cVar4 = cVar3;\n      if (cVar3 == '\0') {\n        return 0;\n      }\n      while (((cVar3 = pcVar9[1], cVar4 == '%' && (cVar3 == 's')) && (iVar5 < iVar11))) {\n        ppcVar2 = yyarg + iVar5;\n        iVar5 = iVar5 + 1;\n        pcVar9 = pcVar9 + 2;\n        uVar6 = yytnamerr(yyres,*ppcVar2);\n        yyres = yyres + uVar6;\n        cVar4 = *pcVar9;\n        *yyres = cVar4;\n        if (cVar4 == '\0') {\n          return 0;\n        }\n      }\n      yyres = yyres + 1;\n      pcVar9 = pcVar9 + 1;\n    } while( true );\n  }\n  if (uVar7 <= uVar7 * 2) {\n    *yymsg_alloc = uVar7 * 2;\n    return 1;\n  }\n  *yymsg_alloc = 0xffffffff;\n  return 1;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "yysyntax_error(uint *yymsg_alloc,char **yymsg,yytype_int16 *yyssp,int yytoken)" identifier (parameter_list "(uint *yymsg_alloc,char **yymsg,yytype_int16 *yyssp,int yytoken)" ( (parameter_declaration "uint *yymsg_alloc" type_identifier (pointer_declarator "*yymsg_alloc" * identifier)) , (parameter_declaration "char **yymsg" primitive_type (pointer_declarator "**yymsg" * (pointer_declarator "*yymsg" * identifier))) , (parameter_declaration "yytype_int16 *yyssp" type_identifier (pointer_declarator "*yyssp" * identifier)) , (parameter_declaration "int yytoken" primitive_type identifier) ))) (compound_statement "{\n  int iVar1;\n  char **ppcVar2;\n  char cVar3;\n  char cVar4;\n  int iVar5;\n  uint uVar6;\n  uint uVar7;\n  int iVar8;\n  char *pcVar9;\n  char *yyres;\n  int iVar10;\n  int iVar11;\n  bool bVar12;\n  uint local_50;\n  uint local_48;\n  char *yyarg [5];\n  \n  pcVar9 = yytname[yytoken];\n  local_48 = yytnamerr((char *)0x0,pcVar9);\n  if (yytoken == -2) {\n    uVar6 = 0xc;\n    iVar11 = 0;\n    pcVar9 = "syntax error";\n  }\n  else {\n    yyarg[0] = pcVar9;\n    iVar5 = (int)yypact[*yyssp];\n    if (iVar5 != -0x1a7) {\n      iVar8 = -iVar5;\n      if (-1 < iVar5) {\n        iVar8 = 0;\n      }\n      iVar10 = 0x5ba - iVar5;\n      if (0x82 < iVar10) {\n        iVar10 = 0x82;\n      }\n      if (iVar8 < iVar10) {\n        iVar11 = 1;\n        local_50 = local_48;\n        do {\n          while ((yycheck[iVar5 + iVar8] == iVar8 && (iVar8 != 1))) {\n            if (iVar11 == 5) goto LAB_00191bc8;\n            iVar1 = iVar11 + 1;\n            pcVar9 = yytname[iVar8];\n            yyarg[iVar11] = pcVar9;\n            uVar6 = yytnamerr((char *)0x0,pcVar9);\n            bVar12 = CARRY4(uVar6,local_50);\n            local_50 = uVar6 + local_50;\n            if (bVar12) {\n              return 2;\n            }\n            iVar8 = iVar8 + 1;\n            iVar11 = iVar1;\n            if (iVar10 == iVar8) goto LAB_00191bad;\n          }\n          iVar8 = iVar8 + 1;\n        } while (iVar10 != iVar8);\nLAB_00191bad:\n        switch(iVar11) {\n        default:\n          uVar6 = strlen((char *)0x0);\n          local_48 = local_50;\n          pcVar9 = (char *)0x0;\n          break;\n        case 1:\n          pcVar9 = "syntax error, unexpected %s";\n          local_48 = local_50;\n          uVar6 = 0x1b;\n          break;\n        case 2:\n          pcVar9 = "syntax error, unexpected %s, expecting %s";\n          local_48 = local_50;\n          uVar6 = 0x29;\n          break;\n        case 3:\n          pcVar9 = "syntax error, unexpected %s, expecting %s or %s";\n          local_48 = local_50;\n          uVar6 = 0x2f;\n          break;\n        case 4:\n          pcVar9 = "syntax error, unexpected %s, expecting %s or %s or %s";\n          local_48 = local_50;\n          uVar6 = 0x35;\n          break;\n        case 5:\n          pcVar9 = "syntax error, unexpected %s, expecting %s or %s or %s or %s";\n          local_48 = local_50;\n          uVar6 = 0x3b;\n        }\n        goto LAB_00191bd8;\n      }\n    }\nLAB_00191bc8:\n    uVar6 = 0x1b;\n    iVar11 = 1;\n    pcVar9 = "syntax error, unexpected %s";\n  }\nLAB_00191bd8:\n  uVar7 = uVar6 + local_48;\n  if (CARRY4(uVar6,local_48)) {\n    return 2;\n  }\n  if (uVar7 <= *yymsg_alloc) {\n    iVar5 = 0;\n    yyres = *yymsg;\n    cVar3 = *pcVar9;\n    do {\n      *yyres = cVar3;\n      cVar4 = cVar3;\n      if (cVar3 == '\0') {\n        return 0;\n      }\n      while (((cVar3 = pcVar9[1], cVar4 == '%' && (cVar3 == 's')) && (iVar5 < iVar11))) {\n        ppcVar2 = yyarg + iVar5;\n        iVar5 = iVar5 + 1;\n        pcVar9 = pcVar9 + 2;\n        uVar6 = yytnamerr(yyres,*ppcVar2);\n        yyres = yyres + uVar6;\n        cVar4 = *pcVar9;\n        *yyres = cVar4;\n        if (cVar4 == '\0') {\n          return 0;\n        }\n      }\n      yyres = yyres + 1;\n      pcVar9 = pcVar9 + 1;\n    } while( true );\n  }\n  if (uVar7 <= uVar7 * 2) {\n    *yymsg_alloc = uVar7 * 2;\n    return 1;\n  }\n  *yymsg_alloc = 0xffffffff;\n  return 1;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "char **ppcVar2;" primitive_type (pointer_declarator "**ppcVar2" * (pointer_declarator "*ppcVar2" * identifier)) ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "char cVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "char *yyres;" primitive_type (pointer_declarator "*yyres" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "bool bVar12;" primitive_type identifier ;) (declaration "uint local_50;" type_identifier identifier ;) (declaration "uint local_48;" type_identifier identifier ;) (declaration "char *yyarg [5];" primitive_type (pointer_declarator "*yyarg [5]" * (array_declarator "yyarg [5]" identifier [ number_literal ])) ;) (expression_statement "pcVar9 = yytname[yytoken];" (assignment_expression "pcVar9 = yytname[yytoken]" identifier = (subscript_expression "yytname[yytoken]" identifier [ identifier ])) ;) (expression_statement "local_48 = yytnamerr((char *)0x0,pcVar9);" (assignment_expression "local_48 = yytnamerr((char *)0x0,pcVar9)" identifier = (call_expression "yytnamerr((char *)0x0,pcVar9)" identifier (argument_list "((char *)0x0,pcVar9)" ( (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , identifier )))) ;) (if_statement "if (yytoken == -2) {\n    uVar6 = 0xc;\n    iVar11 = 0;\n    pcVar9 = "syntax error";\n  }\n  else {\n    yyarg[0] = pcVar9;\n    iVar5 = (int)yypact[*yyssp];\n    if (iVar5 != -0x1a7) {\n      iVar8 = -iVar5;\n      if (-1 < iVar5) {\n        iVar8 = 0;\n      }\n      iVar10 = 0x5ba - iVar5;\n      if (0x82 < iVar10) {\n        iVar10 = 0x82;\n      }\n      if (iVar8 < iVar10) {\n        iVar11 = 1;\n        local_50 = local_48;\n        do {\n          while ((yycheck[iVar5 + iVar8] == iVar8 && (iVar8 != 1))) {\n            if (iVar11 == 5) goto LAB_00191bc8;\n            iVar1 = iVar11 + 1;\n            pcVar9 = yytname[iVar8];\n            yyarg[iVar11] = pcVar9;\n            uVar6 = yytnamerr((char *)0x0,pcVar9);\n            bVar12 = CARRY4(uVar6,local_50);\n            local_50 = uVar6 + local_50;\n            if (bVar12) {\n              return 2;\n            }\n            iVar8 = iVar8 + 1;\n            iVar11 = iVar1;\n            if (iVar10 == iVar8) goto LAB_00191bad;\n          }\n          iVar8 = iVar8 + 1;\n        } while (iVar10 != iVar8);\nLAB_00191bad:\n        switch(iVar11) {\n        default:\n          uVar6 = strlen((char *)0x0);\n          local_48 = local_50;\n          pcVar9 = (char *)0x0;\n          break;\n        case 1:\n          pcVar9 = "syntax error, unexpected %s";\n          local_48 = local_50;\n          uVar6 = 0x1b;\n          break;\n        case 2:\n          pcVar9 = "syntax error, unexpected %s, expecting %s";\n          local_48 = local_50;\n          uVar6 = 0x29;\n          break;\n        case 3:\n          pcVar9 = "syntax error, unexpected %s, expecting %s or %s";\n          local_48 = local_50;\n          uVar6 = 0x2f;\n          break;\n        case 4:\n          pcVar9 = "syntax error, unexpected %s, expecting %s or %s or %s";\n          local_48 = local_50;\n          uVar6 = 0x35;\n          break;\n        case 5:\n          pcVar9 = "syntax error, unexpected %s, expecting %s or %s or %s or %s";\n          local_48 = local_50;\n          uVar6 = 0x3b;\n        }\n        goto LAB_00191bd8;\n      }\n    }\nLAB_00191bc8:\n    uVar6 = 0x1b;\n    iVar11 = 1;\n    pcVar9 = "syntax error, unexpected %s";\n  }" if (parenthesized_expression "(yytoken == -2)" ( (binary_expression "yytoken == -2" identifier == number_literal) )) (compound_statement "{\n    uVar6 = 0xc;\n    iVar11 = 0;\n    pcVar9 = "syntax error";\n  }" { (expression_statement "uVar6 = 0xc;" (assignment_expression "uVar6 = 0xc" identifier = number_literal) ;) (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) (expression_statement "pcVar9 = "syntax error";" (assignment_expression "pcVar9 = "syntax error"" identifier = (string_literal ""syntax error"" " string_content ")) ;) }) (else_clause "else {\n    yyarg[0] = pcVar9;\n    iVar5 = (int)yypact[*yyssp];\n    if (iVar5 != -0x1a7) {\n      iVar8 = -iVar5;\n      if (-1 < iVar5) {\n        iVar8 = 0;\n      }\n      iVar10 = 0x5ba - iVar5;\n      if (0x82 < iVar10) {\n        iVar10 = 0x82;\n      }\n      if (iVar8 < iVar10) {\n        iVar11 = 1;\n        local_50 = local_48;\n        do {\n          while ((yycheck[iVar5 + iVar8] == iVar8 && (iVar8 != 1))) {\n            if (iVar11 == 5) goto LAB_00191bc8;\n            iVar1 = iVar11 + 1;\n            pcVar9 = yytname[iVar8];\n            yyarg[iVar11] = pcVar9;\n            uVar6 = yytnamerr((char *)0x0,pcVar9);\n            bVar12 = CARRY4(uVar6,local_50);\n            local_50 = uVar6 + local_50;\n            if (bVar12) {\n              return 2;\n            }\n            iVar8 = iVar8 + 1;\n            iVar11 = iVar1;\n            if (iVar10 == iVar8) goto LAB_00191bad;\n          }\n          iVar8 = iVar8 + 1;\n        } while (iVar10 != iVar8);\nLAB_00191bad:\n        switch(iVar11) {\n        default:\n          uVar6 = strlen((char *)0x0);\n          local_48 = local_50;\n          pcVar9 = (char *)0x0;\n          break;\n        case 1:\n          pcVar9 = "syntax error, unexpected %s";\n          local_48 = local_50;\n          uVar6 = 0x1b;\n          break;\n        case 2:\n          pcVar9 = "syntax error, unexpected %s, expecting %s";\n          local_48 = local_50;\n          uVar6 = 0x29;\n          break;\n        case 3:\n          pcVar9 = "syntax error, unexpected %s, expecting %s or %s";\n          local_48 = local_50;\n          uVar6 = 0x2f;\n          break;\n        case 4:\n          pcVar9 = "syntax error, unexpected %s, expecting %s or %s or %s";\n          local_48 = local_50;\n          uVar6 = 0x35;\n          break;\n        case 5:\n          pcVar9 = "syntax error, unexpected %s, expecting %s or %s or %s or %s";\n          local_48 = local_50;\n          uVar6 = 0x3b;\n        }\n        goto LAB_00191bd8;\n      }\n    }\nLAB_00191bc8:\n    uVar6 = 0x1b;\n    iVar11 = 1;\n    pcVar9 = "syntax error, unexpected %s";\n  }" else (compound_statement "{\n    yyarg[0] = pcVar9;\n    iVar5 = (int)yypact[*yyssp];\n    if (iVar5 != -0x1a7) {\n      iVar8 = -iVar5;\n      if (-1 < iVar5) {\n        iVar8 = 0;\n      }\n      iVar10 = 0x5ba - iVar5;\n      if (0x82 < iVar10) {\n        iVar10 = 0x82;\n      }\n      if (iVar8 < iVar10) {\n        iVar11 = 1;\n        local_50 = local_48;\n        do {\n          while ((yycheck[iVar5 + iVar8] == iVar8 && (iVar8 != 1))) {\n            if (iVar11 == 5) goto LAB_00191bc8;\n            iVar1 = iVar11 + 1;\n            pcVar9 = yytname[iVar8];\n            yyarg[iVar11] = pcVar9;\n            uVar6 = yytnamerr((char *)0x0,pcVar9);\n            bVar12 = CARRY4(uVar6,local_50);\n            local_50 = uVar6 + local_50;\n            if (bVar12) {\n              return 2;\n            }\n            iVar8 = iVar8 + 1;\n            iVar11 = iVar1;\n            if (iVar10 == iVar8) goto LAB_00191bad;\n          }\n          iVar8 = iVar8 + 1;\n        } while (iVar10 != iVar8);\nLAB_00191bad:\n        switch(iVar11) {\n        default:\n          uVar6 = strlen((char *)0x0);\n          local_48 = local_50;\n          pcVar9 = (char *)0x0;\n          break;\n        case 1:\n          pcVar9 = "syntax error, unexpected %s";\n          local_48 = local_50;\n          uVar6 = 0x1b;\n          break;\n        case 2:\n          pcVar9 = "syntax error, unexpected %s, expecting %s";\n          local_48 = local_50;\n          uVar6 = 0x29;\n          break;\n        case 3:\n          pcVar9 = "syntax error, unexpected %s, expecting %s or %s";\n          local_48 = local_50;\n          uVar6 = 0x2f;\n          break;\n        case 4:\n          pcVar9 = "syntax error, unexpected %s, expecting %s or %s or %s";\n          local_48 = local_50;\n          uVar6 = 0x35;\n          break;\n        case 5:\n          pcVar9 = "syntax error, unexpected %s, expecting %s or %s or %s or %s";\n          local_48 = local_50;\n          uVar6 = 0x3b;\n        }\n        goto LAB_00191bd8;\n      }\n    }\nLAB_00191bc8:\n    uVar6 = 0x1b;\n    iVar11 = 1;\n    pcVar9 = "syntax error, unexpected %s";\n  }" { (expression_statement "yyarg[0] = pcVar9;" (assignment_expression "yyarg[0] = pcVar9" (subscript_expression "yyarg[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar5 = (int)yypact[*yyssp];" (assignment_expression "iVar5 = (int)yypact[*yyssp]" identifier = (cast_expression "(int)yypact[*yyssp]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "yypact[*yyssp]" identifier [ (pointer_expression "*yyssp" * identifier) ]))) ;) (if_statement "if (iVar5 != -0x1a7) {\n      iVar8 = -iVar5;\n      if (-1 < iVar5) {\n        iVar8 = 0;\n      }\n      iVar10 = 0x5ba - iVar5;\n      if (0x82 < iVar10) {\n        iVar10 = 0x82;\n      }\n      if (iVar8 < iVar10) {\n        iVar11 = 1;\n        local_50 = local_48;\n        do {\n          while ((yycheck[iVar5 + iVar8] == iVar8 && (iVar8 != 1))) {\n            if (iVar11 == 5) goto LAB_00191bc8;\n            iVar1 = iVar11 + 1;\n            pcVar9 = yytname[iVar8];\n            yyarg[iVar11] = pcVar9;\n            uVar6 = yytnamerr((char *)0x0,pcVar9);\n            bVar12 = CARRY4(uVar6,local_50);\n            local_50 = uVar6 + local_50;\n            if (bVar12) {\n              return 2;\n            }\n            iVar8 = iVar8 + 1;\n            iVar11 = iVar1;\n            if (iVar10 == iVar8) goto LAB_00191bad;\n          }\n          iVar8 = iVar8 + 1;\n        } while (iVar10 != iVar8);\nLAB_00191bad:\n        switch(iVar11) {\n        default:\n          uVar6 = strlen((char *)0x0);\n          local_48 = local_50;\n          pcVar9 = (char *)0x0;\n          break;\n        case 1:\n          pcVar9 = "syntax error, unexpected %s";\n          local_48 = local_50;\n          uVar6 = 0x1b;\n          break;\n        case 2:\n          pcVar9 = "syntax error, unexpected %s, expecting %s";\n          local_48 = local_50;\n          uVar6 = 0x29;\n          break;\n        case 3:\n          pcVar9 = "syntax error, unexpected %s, expecting %s or %s";\n          local_48 = local_50;\n          uVar6 = 0x2f;\n          break;\n        case 4:\n          pcVar9 = "syntax error, unexpected %s, expecting %s or %s or %s";\n          local_48 = local_50;\n          uVar6 = 0x35;\n          break;\n        case 5:\n          pcVar9 = "syntax error, unexpected %s, expecting %s or %s or %s or %s";\n          local_48 = local_50;\n          uVar6 = 0x3b;\n        }\n        goto LAB_00191bd8;\n      }\n    }" if (parenthesized_expression "(iVar5 != -0x1a7)" ( (binary_expression "iVar5 != -0x1a7" identifier != number_literal) )) (compound_statement "{\n      iVar8 = -iVar5;\n      if (-1 < iVar5) {\n        iVar8 = 0;\n      }\n      iVar10 = 0x5ba - iVar5;\n      if (0x82 < iVar10) {\n        iVar10 = 0x82;\n      }\n      if (iVar8 < iVar10) {\n        iVar11 = 1;\n        local_50 = local_48;\n        do {\n          while ((yycheck[iVar5 + iVar8] == iVar8 && (iVar8 != 1))) {\n            if (iVar11 == 5) goto LAB_00191bc8;\n            iVar1 = iVar11 + 1;\n            pcVar9 = yytname[iVar8];\n            yyarg[iVar11] = pcVar9;\n            uVar6 = yytnamerr((char *)0x0,pcVar9);\n            bVar12 = CARRY4(uVar6,local_50);\n            local_50 = uVar6 + local_50;\n            if (bVar12) {\n              return 2;\n            }\n            iVar8 = iVar8 + 1;\n            iVar11 = iVar1;\n            if (iVar10 == iVar8) goto LAB_00191bad;\n          }\n          iVar8 = iVar8 + 1;\n        } while (iVar10 != iVar8);\nLAB_00191bad:\n        switch(iVar11) {\n        default:\n          uVar6 = strlen((char *)0x0);\n          local_48 = local_50;\n          pcVar9 = (char *)0x0;\n          break;\n        case 1:\n          pcVar9 = "syntax error, unexpected %s";\n          local_48 = local_50;\n          uVar6 = 0x1b;\n          break;\n        case 2:\n          pcVar9 = "syntax error, unexpected %s, expecting %s";\n          local_48 = local_50;\n          uVar6 = 0x29;\n          break;\n        case 3:\n          pcVar9 = "syntax error, unexpected %s, expecting %s or %s";\n          local_48 = local_50;\n          uVar6 = 0x2f;\n          break;\n        case 4:\n          pcVar9 = "syntax error, unexpected %s, expecting %s or %s or %s";\n          local_48 = local_50;\n          uVar6 = 0x35;\n          break;\n        case 5:\n          pcVar9 = "syntax error, unexpected %s, expecting %s or %s or %s or %s";\n          local_48 = local_50;\n          uVar6 = 0x3b;\n        }\n        goto LAB_00191bd8;\n      }\n    }" { (expression_statement "iVar8 = -iVar5;" (assignment_expression "iVar8 = -iVar5" identifier = (unary_expression "-iVar5" - identifier)) ;) (if_statement "if (-1 < iVar5) {\n        iVar8 = 0;\n      }" if (parenthesized_expression "(-1 < iVar5)" ( (binary_expression "-1 < iVar5" number_literal < identifier) )) (compound_statement "{\n        iVar8 = 0;\n      }" { (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) })) (expression_statement "iVar10 = 0x5ba - iVar5;" (assignment_expression "iVar10 = 0x5ba - iVar5" identifier = (binary_expression "0x5ba - iVar5" number_literal - identifier)) ;) (if_statement "if (0x82 < iVar10) {\n        iVar10 = 0x82;\n      }" if (parenthesized_expression "(0x82 < iVar10)" ( (binary_expression "0x82 < iVar10" number_literal < identifier) )) (compound_statement "{\n        iVar10 = 0x82;\n      }" { (expression_statement "iVar10 = 0x82;" (assignment_expression "iVar10 = 0x82" identifier = number_literal) ;) })) (if_statement "if (iVar8 < iVar10) {\n        iVar11 = 1;\n        local_50 = local_48;\n        do {\n          while ((yycheck[iVar5 + iVar8] == iVar8 && (iVar8 != 1))) {\n            if (iVar11 == 5) goto LAB_00191bc8;\n            iVar1 = iVar11 + 1;\n            pcVar9 = yytname[iVar8];\n            yyarg[iVar11] = pcVar9;\n            uVar6 = yytnamerr((char *)0x0,pcVar9);\n            bVar12 = CARRY4(uVar6,local_50);\n            local_50 = uVar6 + local_50;\n            if (bVar12) {\n              return 2;\n            }\n            iVar8 = iVar8 + 1;\n            iVar11 = iVar1;\n            if (iVar10 == iVar8) goto LAB_00191bad;\n          }\n          iVar8 = iVar8 + 1;\n        } while (iVar10 != iVar8);\nLAB_00191bad:\n        switch(iVar11) {\n        default:\n          uVar6 = strlen((char *)0x0);\n          local_48 = local_50;\n          pcVar9 = (char *)0x0;\n          break;\n        case 1:\n          pcVar9 = "syntax error, unexpected %s";\n          local_48 = local_50;\n          uVar6 = 0x1b;\n          break;\n        case 2:\n          pcVar9 = "syntax error, unexpected %s, expecting %s";\n          local_48 = local_50;\n          uVar6 = 0x29;\n          break;\n        case 3:\n          pcVar9 = "syntax error, unexpected %s, expecting %s or %s";\n          local_48 = local_50;\n          uVar6 = 0x2f;\n          break;\n        case 4:\n          pcVar9 = "syntax error, unexpected %s, expecting %s or %s or %s";\n          local_48 = local_50;\n          uVar6 = 0x35;\n          break;\n        case 5:\n          pcVar9 = "syntax error, unexpected %s, expecting %s or %s or %s or %s";\n          local_48 = local_50;\n          uVar6 = 0x3b;\n        }\n        goto LAB_00191bd8;\n      }" if (parenthesized_expression "(iVar8 < iVar10)" ( (binary_expression "iVar8 < iVar10" identifier < identifier) )) (compound_statement "{\n        iVar11 = 1;\n        local_50 = local_48;\n        do {\n          while ((yycheck[iVar5 + iVar8] == iVar8 && (iVar8 != 1))) {\n            if (iVar11 == 5) goto LAB_00191bc8;\n            iVar1 = iVar11 + 1;\n            pcVar9 = yytname[iVar8];\n            yyarg[iVar11] = pcVar9;\n            uVar6 = yytnamerr((char *)0x0,pcVar9);\n            bVar12 = CARRY4(uVar6,local_50);\n            local_50 = uVar6 + local_50;\n            if (bVar12) {\n              return 2;\n            }\n            iVar8 = iVar8 + 1;\n            iVar11 = iVar1;\n            if (iVar10 == iVar8) goto LAB_00191bad;\n          }\n          iVar8 = iVar8 + 1;\n        } while (iVar10 != iVar8);\nLAB_00191bad:\n        switch(iVar11) {\n        default:\n          uVar6 = strlen((char *)0x0);\n          local_48 = local_50;\n          pcVar9 = (char *)0x0;\n          break;\n        case 1:\n          pcVar9 = "syntax error, unexpected %s";\n          local_48 = local_50;\n          uVar6 = 0x1b;\n          break;\n        case 2:\n          pcVar9 = "syntax error, unexpected %s, expecting %s";\n          local_48 = local_50;\n          uVar6 = 0x29;\n          break;\n        case 3:\n          pcVar9 = "syntax error, unexpected %s, expecting %s or %s";\n          local_48 = local_50;\n          uVar6 = 0x2f;\n          break;\n        case 4:\n          pcVar9 = "syntax error, unexpected %s, expecting %s or %s or %s";\n          local_48 = local_50;\n          uVar6 = 0x35;\n          break;\n        case 5:\n          pcVar9 = "syntax error, unexpected %s, expecting %s or %s or %s or %s";\n          local_48 = local_50;\n          uVar6 = 0x3b;\n        }\n        goto LAB_00191bd8;\n      }" { (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" identifier = number_literal) ;) (expression_statement "local_50 = local_48;" (assignment_expression "local_50 = local_48" identifier = identifier) ;) (do_statement "do {\n          while ((yycheck[iVar5 + iVar8] == iVar8 && (iVar8 != 1))) {\n            if (iVar11 == 5) goto LAB_00191bc8;\n            iVar1 = iVar11 + 1;\n            pcVar9 = yytname[iVar8];\n            yyarg[iVar11] = pcVar9;\n            uVar6 = yytnamerr((char *)0x0,pcVar9);\n            bVar12 = CARRY4(uVar6,local_50);\n            local_50 = uVar6 + local_50;\n            if (bVar12) {\n              return 2;\n            }\n            iVar8 = iVar8 + 1;\n            iVar11 = iVar1;\n            if (iVar10 == iVar8) goto LAB_00191bad;\n          }\n          iVar8 = iVar8 + 1;\n        } while (iVar10 != iVar8);" do (compound_statement "{\n          while ((yycheck[iVar5 + iVar8] == iVar8 && (iVar8 != 1))) {\n            if (iVar11 == 5) goto LAB_00191bc8;\n            iVar1 = iVar11 + 1;\n            pcVar9 = yytname[iVar8];\n            yyarg[iVar11] = pcVar9;\n            uVar6 = yytnamerr((char *)0x0,pcVar9);\n            bVar12 = CARRY4(uVar6,local_50);\n            local_50 = uVar6 + local_50;\n            if (bVar12) {\n              return 2;\n            }\n            iVar8 = iVar8 + 1;\n            iVar11 = iVar1;\n            if (iVar10 == iVar8) goto LAB_00191bad;\n          }\n          iVar8 = iVar8 + 1;\n        }" { (while_statement "while ((yycheck[iVar5 + iVar8] == iVar8 && (iVar8 != 1))) {\n            if (iVar11 == 5) goto LAB_00191bc8;\n            iVar1 = iVar11 + 1;\n            pcVar9 = yytname[iVar8];\n            yyarg[iVar11] = pcVar9;\n            uVar6 = yytnamerr((char *)0x0,pcVar9);\n            bVar12 = CARRY4(uVar6,local_50);\n            local_50 = uVar6 + local_50;\n            if (bVar12) {\n              return 2;\n            }\n            iVar8 = iVar8 + 1;\n            iVar11 = iVar1;\n            if (iVar10 == iVar8) goto LAB_00191bad;\n          }" while (parenthesized_expression "((yycheck[iVar5 + iVar8] == iVar8 && (iVar8 != 1)))" ( (parenthesized_expression "(yycheck[iVar5 + iVar8] == iVar8 && (iVar8 != 1))" ( (binary_expression "yycheck[iVar5 + iVar8] == iVar8 && (iVar8 != 1)" (binary_expression "yycheck[iVar5 + iVar8] == iVar8" (subscript_expression "yycheck[iVar5 + iVar8]" identifier [ (binary_expression "iVar5 + iVar8" identifier + identifier) ]) == identifier) && (parenthesized_expression "(iVar8 != 1)" ( (binary_expression "iVar8 != 1" identifier != number_literal) ))) )) )) (compound_statement "{\n            if (iVar11 == 5) goto LAB_00191bc8;\n            iVar1 = iVar11 + 1;\n            pcVar9 = yytname[iVar8];\n            yyarg[iVar11] = pcVar9;\n            uVar6 = yytnamerr((char *)0x0,pcVar9);\n            bVar12 = CARRY4(uVar6,local_50);\n            local_50 = uVar6 + local_50;\n            if (bVar12) {\n              return 2;\n            }\n            iVar8 = iVar8 + 1;\n            iVar11 = iVar1;\n            if (iVar10 == iVar8) goto LAB_00191bad;\n          }" { (if_statement "if (iVar11 == 5) goto LAB_00191bc8;" if (parenthesized_expression "(iVar11 == 5)" ( (binary_expression "iVar11 == 5" identifier == number_literal) )) (goto_statement "goto LAB_00191bc8;" goto statement_identifier ;)) (expression_statement "iVar1 = iVar11 + 1;" (assignment_expression "iVar1 = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) (expression_statement "pcVar9 = yytname[iVar8];" (assignment_expression "pcVar9 = yytname[iVar8]" identifier = (subscript_expression "yytname[iVar8]" identifier [ identifier ])) ;) (expression_statement "yyarg[iVar11] = pcVar9;" (assignment_expression "yyarg[iVar11] = pcVar9" (subscript_expression "yyarg[iVar11]" identifier [ identifier ]) = identifier) ;) (expression_statement "uVar6 = yytnamerr((char *)0x0,pcVar9);" (assignment_expression "uVar6 = yytnamerr((char *)0x0,pcVar9)" identifier = (call_expression "yytnamerr((char *)0x0,pcVar9)" identifier (argument_list "((char *)0x0,pcVar9)" ( (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , identifier )))) ;) (expression_statement "bVar12 = CARRY4(uVar6,local_50);" (assignment_expression "bVar12 = CARRY4(uVar6,local_50)" identifier = (call_expression "CARRY4(uVar6,local_50)" identifier (argument_list "(uVar6,local_50)" ( identifier , identifier )))) ;) (expression_statement "local_50 = uVar6 + local_50;" (assignment_expression "local_50 = uVar6 + local_50" identifier = (binary_expression "uVar6 + local_50" identifier + identifier)) ;) (if_statement "if (bVar12) {\n              return 2;\n            }" if (parenthesized_expression "(bVar12)" ( identifier )) (compound_statement "{\n              return 2;\n            }" { (return_statement "return 2;" return number_literal ;) })) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "iVar11 = iVar1;" (assignment_expression "iVar11 = iVar1" identifier = identifier) ;) (if_statement "if (iVar10 == iVar8) goto LAB_00191bad;" if (parenthesized_expression "(iVar10 == iVar8)" ( (binary_expression "iVar10 == iVar8" identifier == identifier) )) (goto_statement "goto LAB_00191bad;" goto statement_identifier ;)) })) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar10 != iVar8)" ( (binary_expression "iVar10 != iVar8" identifier != identifier) )) ;) (labeled_statement "LAB_00191bad:\n        switch(iVar11) {\n        default:\n          uVar6 = strlen((char *)0x0);\n          local_48 = local_50;\n          pcVar9 = (char *)0x0;\n          break;\n        case 1:\n          pcVar9 = "syntax error, unexpected %s";\n          local_48 = local_50;\n          uVar6 = 0x1b;\n          break;\n        case 2:\n          pcVar9 = "syntax error, unexpected %s, expecting %s";\n          local_48 = local_50;\n          uVar6 = 0x29;\n          break;\n        case 3:\n          pcVar9 = "syntax error, unexpected %s, expecting %s or %s";\n          local_48 = local_50;\n          uVar6 = 0x2f;\n          break;\n        case 4:\n          pcVar9 = "syntax error, unexpected %s, expecting %s or %s or %s";\n          local_48 = local_50;\n          uVar6 = 0x35;\n          break;\n        case 5:\n          pcVar9 = "syntax error, unexpected %s, expecting %s or %s or %s or %s";\n          local_48 = local_50;\n          uVar6 = 0x3b;\n        }" statement_identifier : (switch_statement "switch(iVar11) {\n        default:\n          uVar6 = strlen((char *)0x0);\n          local_48 = local_50;\n          pcVar9 = (char *)0x0;\n          break;\n        case 1:\n          pcVar9 = "syntax error, unexpected %s";\n          local_48 = local_50;\n          uVar6 = 0x1b;\n          break;\n        case 2:\n          pcVar9 = "syntax error, unexpected %s, expecting %s";\n          local_48 = local_50;\n          uVar6 = 0x29;\n          break;\n        case 3:\n          pcVar9 = "syntax error, unexpected %s, expecting %s or %s";\n          local_48 = local_50;\n          uVar6 = 0x2f;\n          break;\n        case 4:\n          pcVar9 = "syntax error, unexpected %s, expecting %s or %s or %s";\n          local_48 = local_50;\n          uVar6 = 0x35;\n          break;\n        case 5:\n          pcVar9 = "syntax error, unexpected %s, expecting %s or %s or %s or %s";\n          local_48 = local_50;\n          uVar6 = 0x3b;\n        }" switch (parenthesized_expression "(iVar11)" ( identifier )) (compound_statement "{\n        default:\n          uVar6 = strlen((char *)0x0);\n          local_48 = local_50;\n          pcVar9 = (char *)0x0;\n          break;\n        case 1:\n          pcVar9 = "syntax error, unexpected %s";\n          local_48 = local_50;\n          uVar6 = 0x1b;\n          break;\n        case 2:\n          pcVar9 = "syntax error, unexpected %s, expecting %s";\n          local_48 = local_50;\n          uVar6 = 0x29;\n          break;\n        case 3:\n          pcVar9 = "syntax error, unexpected %s, expecting %s or %s";\n          local_48 = local_50;\n          uVar6 = 0x2f;\n          break;\n        case 4:\n          pcVar9 = "syntax error, unexpected %s, expecting %s or %s or %s";\n          local_48 = local_50;\n          uVar6 = 0x35;\n          break;\n        case 5:\n          pcVar9 = "syntax error, unexpected %s, expecting %s or %s or %s or %s";\n          local_48 = local_50;\n          uVar6 = 0x3b;\n        }" { (case_statement "default:\n          uVar6 = strlen((char *)0x0);\n          local_48 = local_50;\n          pcVar9 = (char *)0x0;\n          break;" default : (expression_statement "uVar6 = strlen((char *)0x0);" (assignment_expression "uVar6 = strlen((char *)0x0)" identifier = (call_expression "strlen((char *)0x0)" identifier (argument_list "((char *)0x0)" ( (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;) (expression_statement "local_48 = local_50;" (assignment_expression "local_48 = local_50" identifier = identifier) ;) (expression_statement "pcVar9 = (char *)0x0;" (assignment_expression "pcVar9 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 1:\n          pcVar9 = "syntax error, unexpected %s";\n          local_48 = local_50;\n          uVar6 = 0x1b;\n          break;" case number_literal : (expression_statement "pcVar9 = "syntax error, unexpected %s";" (assignment_expression "pcVar9 = "syntax error, unexpected %s"" identifier = (string_literal ""syntax error, unexpected %s"" " string_content ")) ;) (expression_statement "local_48 = local_50;" (assignment_expression "local_48 = local_50" identifier = identifier) ;) (expression_statement "uVar6 = 0x1b;" (assignment_expression "uVar6 = 0x1b" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 2:\n          pcVar9 = "syntax error, unexpected %s, expecting %s";\n          local_48 = local_50;\n          uVar6 = 0x29;\n          break;" case number_literal : (expression_statement "pcVar9 = "syntax error, unexpected %s, expecting %s";" (assignment_expression "pcVar9 = "syntax error, unexpected %s, expecting %s"" identifier = (string_literal ""syntax error, unexpected %s, expecting %s"" " string_content ")) ;) (expression_statement "local_48 = local_50;" (assignment_expression "local_48 = local_50" identifier = identifier) ;) (expression_statement "uVar6 = 0x29;" (assignment_expression "uVar6 = 0x29" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 3:\n          pcVar9 = "syntax error, unexpected %s, expecting %s or %s";\n          local_48 = local_50;\n          uVar6 = 0x2f;\n          break;" case number_literal : (expression_statement "pcVar9 = "syntax error, unexpected %s, expecting %s or %s";" (assignment_expression "pcVar9 = "syntax error, unexpected %s, expecting %s or %s"" identifier = (string_literal ""syntax error, unexpected %s, expecting %s or %s"" " string_content ")) ;) (expression_statement "local_48 = local_50;" (assignment_expression "local_48 = local_50" identifier = identifier) ;) (expression_statement "uVar6 = 0x2f;" (assignment_expression "uVar6 = 0x2f" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 4:\n          pcVar9 = "syntax error, unexpected %s, expecting %s or %s or %s";\n          local_48 = local_50;\n          uVar6 = 0x35;\n          break;" case number_literal : (expression_statement "pcVar9 = "syntax error, unexpected %s, expecting %s or %s or %s";" (assignment_expression "pcVar9 = "syntax error, unexpected %s, expecting %s or %s or %s"" identifier = (string_literal ""syntax error, unexpected %s, expecting %s or %s or %s"" " string_content ")) ;) (expression_statement "local_48 = local_50;" (assignment_expression "local_48 = local_50" identifier = identifier) ;) (expression_statement "uVar6 = 0x35;" (assignment_expression "uVar6 = 0x35" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 5:\n          pcVar9 = "syntax error, unexpected %s, expecting %s or %s or %s or %s";\n          local_48 = local_50;\n          uVar6 = 0x3b;" case number_literal : (expression_statement "pcVar9 = "syntax error, unexpected %s, expecting %s or %s or %s or %s";" (assignment_expression "pcVar9 = "syntax error, unexpected %s, expecting %s or %s or %s or %s"" identifier = (string_literal ""syntax error, unexpected %s, expecting %s or %s or %s or %s"" " string_content ")) ;) (expression_statement "local_48 = local_50;" (assignment_expression "local_48 = local_50" identifier = identifier) ;) (expression_statement "uVar6 = 0x3b;" (assignment_expression "uVar6 = 0x3b" identifier = number_literal) ;)) }))) (goto_statement "goto LAB_00191bd8;" goto statement_identifier ;) })) })) (labeled_statement "LAB_00191bc8:\n    uVar6 = 0x1b;" statement_identifier : (expression_statement "uVar6 = 0x1b;" (assignment_expression "uVar6 = 0x1b" identifier = number_literal) ;)) (expression_statement "iVar11 = 1;" (assignment_expression "iVar11 = 1" identifier = number_literal) ;) (expression_statement "pcVar9 = "syntax error, unexpected %s";" (assignment_expression "pcVar9 = "syntax error, unexpected %s"" identifier = (string_literal ""syntax error, unexpected %s"" " string_content ")) ;) }))) (labeled_statement "LAB_00191bd8:\n  uVar7 = uVar6 + local_48;" statement_identifier : (expression_statement "uVar7 = uVar6 + local_48;" (assignment_expression "uVar7 = uVar6 + local_48" identifier = (binary_expression "uVar6 + local_48" identifier + identifier)) ;)) (if_statement "if (CARRY4(uVar6,local_48)) {\n    return 2;\n  }" if (parenthesized_expression "(CARRY4(uVar6,local_48))" ( (call_expression "CARRY4(uVar6,local_48)" identifier (argument_list "(uVar6,local_48)" ( identifier , identifier ))) )) (compound_statement "{\n    return 2;\n  }" { (return_statement "return 2;" return number_literal ;) })) (if_statement "if (uVar7 <= *yymsg_alloc) {\n    iVar5 = 0;\n    yyres = *yymsg;\n    cVar3 = *pcVar9;\n    do {\n      *yyres = cVar3;\n      cVar4 = cVar3;\n      if (cVar3 == '\0') {\n        return 0;\n      }\n      while (((cVar3 = pcVar9[1], cVar4 == '%' && (cVar3 == 's')) && (iVar5 < iVar11))) {\n        ppcVar2 = yyarg + iVar5;\n        iVar5 = iVar5 + 1;\n        pcVar9 = pcVar9 + 2;\n        uVar6 = yytnamerr(yyres,*ppcVar2);\n        yyres = yyres + uVar6;\n        cVar4 = *pcVar9;\n        *yyres = cVar4;\n        if (cVar4 == '\0') {\n          return 0;\n        }\n      }\n      yyres = yyres + 1;\n      pcVar9 = pcVar9 + 1;\n    } while( true );\n  }" if (parenthesized_expression "(uVar7 <= *yymsg_alloc)" ( (binary_expression "uVar7 <= *yymsg_alloc" identifier <= (pointer_expression "*yymsg_alloc" * identifier)) )) (compound_statement "{\n    iVar5 = 0;\n    yyres = *yymsg;\n    cVar3 = *pcVar9;\n    do {\n      *yyres = cVar3;\n      cVar4 = cVar3;\n      if (cVar3 == '\0') {\n        return 0;\n      }\n      while (((cVar3 = pcVar9[1], cVar4 == '%' && (cVar3 == 's')) && (iVar5 < iVar11))) {\n        ppcVar2 = yyarg + iVar5;\n        iVar5 = iVar5 + 1;\n        pcVar9 = pcVar9 + 2;\n        uVar6 = yytnamerr(yyres,*ppcVar2);\n        yyres = yyres + uVar6;\n        cVar4 = *pcVar9;\n        *yyres = cVar4;\n        if (cVar4 == '\0') {\n          return 0;\n        }\n      }\n      yyres = yyres + 1;\n      pcVar9 = pcVar9 + 1;\n    } while( true );\n  }" { (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (expression_statement "yyres = *yymsg;" (assignment_expression "yyres = *yymsg" identifier = (pointer_expression "*yymsg" * identifier)) ;) (expression_statement "cVar3 = *pcVar9;" (assignment_expression "cVar3 = *pcVar9" identifier = (pointer_expression "*pcVar9" * identifier)) ;) (do_statement "do {\n      *yyres = cVar3;\n      cVar4 = cVar3;\n      if (cVar3 == '\0') {\n        return 0;\n      }\n      while (((cVar3 = pcVar9[1], cVar4 == '%' && (cVar3 == 's')) && (iVar5 < iVar11))) {\n        ppcVar2 = yyarg + iVar5;\n        iVar5 = iVar5 + 1;\n        pcVar9 = pcVar9 + 2;\n        uVar6 = yytnamerr(yyres,*ppcVar2);\n        yyres = yyres + uVar6;\n        cVar4 = *pcVar9;\n        *yyres = cVar4;\n        if (cVar4 == '\0') {\n          return 0;\n        }\n      }\n      yyres = yyres + 1;\n      pcVar9 = pcVar9 + 1;\n    } while( true );" do (compound_statement "{\n      *yyres = cVar3;\n      cVar4 = cVar3;\n      if (cVar3 == '\0') {\n        return 0;\n      }\n      while (((cVar3 = pcVar9[1], cVar4 == '%' && (cVar3 == 's')) && (iVar5 < iVar11))) {\n        ppcVar2 = yyarg + iVar5;\n        iVar5 = iVar5 + 1;\n        pcVar9 = pcVar9 + 2;\n        uVar6 = yytnamerr(yyres,*ppcVar2);\n        yyres = yyres + uVar6;\n        cVar4 = *pcVar9;\n        *yyres = cVar4;\n        if (cVar4 == '\0') {\n          return 0;\n        }\n      }\n      yyres = yyres + 1;\n      pcVar9 = pcVar9 + 1;\n    }" { (expression_statement "*yyres = cVar3;" (assignment_expression "*yyres = cVar3" (pointer_expression "*yyres" * identifier) = identifier) ;) (expression_statement "cVar4 = cVar3;" (assignment_expression "cVar4 = cVar3" identifier = identifier) ;) (if_statement "if (cVar3 == '\0') {\n        return 0;\n      }" if (parenthesized_expression "(cVar3 == '\0')" ( (binary_expression "cVar3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) })) (while_statement "while (((cVar3 = pcVar9[1], cVar4 == '%' && (cVar3 == 's')) && (iVar5 < iVar11))) {\n        ppcVar2 = yyarg + iVar5;\n        iVar5 = iVar5 + 1;\n        pcVar9 = pcVar9 + 2;\n        uVar6 = yytnamerr(yyres,*ppcVar2);\n        yyres = yyres + uVar6;\n        cVar4 = *pcVar9;\n        *yyres = cVar4;\n        if (cVar4 == '\0') {\n          return 0;\n        }\n      }" while (parenthesized_expression "(((cVar3 = pcVar9[1], cVar4 == '%' && (cVar3 == 's')) && (iVar5 < iVar11)))" ( (parenthesized_expression "((cVar3 = pcVar9[1], cVar4 == '%' && (cVar3 == 's')) && (iVar5 < iVar11))" ( (binary_expression "(cVar3 = pcVar9[1], cVar4 == '%' && (cVar3 == 's')) && (iVar5 < iVar11)" (parenthesized_expression "(cVar3 = pcVar9[1], cVar4 == '%' && (cVar3 == 's'))" ( (comma_expression "cVar3 = pcVar9[1], cVar4 == '%' && (cVar3 == 's')" (assignment_expression "cVar3 = pcVar9[1]" identifier = (subscript_expression "pcVar9[1]" identifier [ number_literal ])) , (binary_expression "cVar4 == '%' && (cVar3 == 's')" (binary_expression "cVar4 == '%'" identifier == (char_literal "'%'" ' character ')) && (parenthesized_expression "(cVar3 == 's')" ( (binary_expression "cVar3 == 's'" identifier == (char_literal "'s'" ' character ')) )))) )) && (parenthesized_expression "(iVar5 < iVar11)" ( (binary_expression "iVar5 < iVar11" identifier < identifier) ))) )) )) (compound_statement "{\n        ppcVar2 = yyarg + iVar5;\n        iVar5 = iVar5 + 1;\n        pcVar9 = pcVar9 + 2;\n        uVar6 = yytnamerr(yyres,*ppcVar2);\n        yyres = yyres + uVar6;\n        cVar4 = *pcVar9;\n        *yyres = cVar4;\n        if (cVar4 == '\0') {\n          return 0;\n        }\n      }" { (expression_statement "ppcVar2 = yyarg + iVar5;" (assignment_expression "ppcVar2 = yyarg + iVar5" identifier = (binary_expression "yyarg + iVar5" identifier + identifier)) ;) (expression_statement "iVar5 = iVar5 + 1;" (assignment_expression "iVar5 = iVar5 + 1" identifier = (binary_expression "iVar5 + 1" identifier + number_literal)) ;) (expression_statement "pcVar9 = pcVar9 + 2;" (assignment_expression "pcVar9 = pcVar9 + 2" identifier = (binary_expression "pcVar9 + 2" identifier + number_literal)) ;) (expression_statement "uVar6 = yytnamerr(yyres,*ppcVar2);" (assignment_expression "uVar6 = yytnamerr(yyres,*ppcVar2)" identifier = (call_expression "yytnamerr(yyres,*ppcVar2)" identifier (argument_list "(yyres,*ppcVar2)" ( identifier , (pointer_expression "*ppcVar2" * identifier) )))) ;) (expression_statement "yyres = yyres + uVar6;" (assignment_expression "yyres = yyres + uVar6" identifier = (binary_expression "yyres + uVar6" identifier + identifier)) ;) (expression_statement "cVar4 = *pcVar9;" (assignment_expression "cVar4 = *pcVar9" identifier = (pointer_expression "*pcVar9" * identifier)) ;) (expression_statement "*yyres = cVar4;" (assignment_expression "*yyres = cVar4" (pointer_expression "*yyres" * identifier) = identifier) ;) (if_statement "if (cVar4 == '\0') {\n          return 0;\n        }" if (parenthesized_expression "(cVar4 == '\0')" ( (binary_expression "cVar4 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          return 0;\n        }" { (return_statement "return 0;" return number_literal ;) })) })) (expression_statement "yyres = yyres + 1;" (assignment_expression "yyres = yyres + 1" identifier = (binary_expression "yyres + 1" identifier + number_literal)) ;) (expression_statement "pcVar9 = pcVar9 + 1;" (assignment_expression "pcVar9 = pcVar9 + 1" identifier = (binary_expression "pcVar9 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (if_statement "if (uVar7 <= uVar7 * 2) {\n    *yymsg_alloc = uVar7 * 2;\n    return 1;\n  }" if (parenthesized_expression "(uVar7 <= uVar7 * 2)" ( (binary_expression "uVar7 <= uVar7 * 2" identifier <= (binary_expression "uVar7 * 2" identifier * number_literal)) )) (compound_statement "{\n    *yymsg_alloc = uVar7 * 2;\n    return 1;\n  }" { (expression_statement "*yymsg_alloc = uVar7 * 2;" (assignment_expression "*yymsg_alloc = uVar7 * 2" (pointer_expression "*yymsg_alloc" * identifier) = (binary_expression "uVar7 * 2" identifier * number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "*yymsg_alloc = 0xffffffff;" (assignment_expression "*yymsg_alloc = 0xffffffff" (pointer_expression "*yymsg_alloc" * identifier) = number_literal) ;) (return_statement "return 1;" return number_literal ;) })))
(translation_unit "undefined4 FUN_00191ac0(int param_1)\n\n{\n  char cVar1;\n  char cVar2;\n  uint *puVar3;\n  int iVar4;\n  uint uVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  uint uVar8;\n  short *extraout_ECX;\n  int iVar9;\n  char *pcVar10;\n  int unaff_EBP;\n  char *pcVar11;\n  int iVar12;\n  bool bVar13;\n  undefined8 uVar14;\n  uint local_50;\n  uint local_48;\n  undefined4 local_30 [8];\n  \n  uVar14 = FUN_000559f2();\n  puVar3 = (uint *)uVar14;\n  uVar6 = *(undefined4 *)(unaff_EBP + 0x1f3a5a + param_1 * 4);\n  local_48 = FUN_00191a20();\n  if (param_1 == -2) {\n    uVar8 = 0xc;\n    uVar5 = 0;\n    pcVar10 = (char *)(unaff_EBP + 0x108e23);\n  }\n  else {\n    iVar4 = (int)*(short *)(unaff_EBP + 0x10b49a + *extraout_ECX * 2);\n    local_30[0] = uVar6;\n    if (iVar4 != -0x1a7) {\n      iVar9 = -iVar4;\n      if (-1 < iVar4) {\n        iVar9 = 0;\n      }\n      iVar12 = 0x5ba - iVar4;\n      if (0x82 < iVar12) {\n        iVar12 = 0x82;\n      }\n      if (iVar9 < iVar12) {\n        uVar5 = 1;\n        local_50 = local_48;\n        do {\n          while ((*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2) != iVar9 || (iVar9 == 1))\n                ) {\n            iVar9 = iVar9 + 1;\n            if (iVar12 == iVar9) goto LAB_00191bad;\n          }\n          if (uVar5 == 5) goto LAB_00191bc8;\n          uVar8 = uVar5 + 1;\n          local_30[uVar5] = *(undefined4 *)(unaff_EBP + 0x1f3a5a + iVar9 * 4);\n          uVar5 = FUN_00191a20();\n          bVar13 = CARRY4(uVar5,local_50);\n          local_50 = uVar5 + local_50;\n          if (bVar13) {\n            return 2;\n          }\n          iVar9 = iVar9 + 1;\n          uVar5 = uVar8;\n        } while (iVar12 != iVar9);\nLAB_00191bad:\n        if (uVar5 < 6) {\n                    \n                    \n          uVar6 = (*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a))();\n          return uVar6;\n        }\n        uVar8 = strlen((char *)0x0);\n        local_48 = local_50;\n        pcVar10 = (char *)0x0;\n        goto LAB_00191bd8;\n      }\n    }\nLAB_00191bc8:\n    uVar8 = 0x1b;\n    uVar5 = 1;\n    pcVar10 = (char *)(unaff_EBP + 0x108e01);\n  }\nLAB_00191bd8:\n  uVar7 = uVar8 + local_48;\n  if (CARRY4(uVar8,local_48)) {\n    return 2;\n  }\n  if (uVar7 <= *puVar3) {\n    iVar4 = 0;\n    pcVar11 = (char *)*(undefined4 *)((ulonglong)uVar14 >> 0x20);\n    cVar1 = *pcVar10;\n    do {\n      *pcVar11 = cVar1;\n      cVar2 = cVar1;\n      if (cVar1 == '\0') {\n        return 0;\n      }\n      while (((cVar1 = pcVar10[1], cVar2 == '%' && (cVar1 == 's')) && (iVar4 < (int)uVar5))) {\n        iVar4 = iVar4 + 1;\n        pcVar10 = pcVar10 + 2;\n        iVar9 = FUN_00191a20();\n        pcVar11 = pcVar11 + iVar9;\n        cVar2 = *pcVar10;\n        *pcVar11 = cVar2;\n        if (cVar2 == '\0') {\n          return 0;\n        }\n      }\n      pcVar11 = pcVar11 + 1;\n      pcVar10 = pcVar10 + 1;\n    } while( true );\n  }\n  if (uVar7 <= uVar7 * 2) {\n    *puVar3 = uVar7 * 2;\n    return 1;\n  }\n  *puVar3 = 0xffffffff;\n  return 1;\n}\n\n" (function_definition "undefined4 FUN_00191ac0(int param_1)\n\n{\n  char cVar1;\n  char cVar2;\n  uint *puVar3;\n  int iVar4;\n  uint uVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  uint uVar8;\n  short *extraout_ECX;\n  int iVar9;\n  char *pcVar10;\n  int unaff_EBP;\n  char *pcVar11;\n  int iVar12;\n  bool bVar13;\n  undefined8 uVar14;\n  uint local_50;\n  uint local_48;\n  undefined4 local_30 [8];\n  \n  uVar14 = FUN_000559f2();\n  puVar3 = (uint *)uVar14;\n  uVar6 = *(undefined4 *)(unaff_EBP + 0x1f3a5a + param_1 * 4);\n  local_48 = FUN_00191a20();\n  if (param_1 == -2) {\n    uVar8 = 0xc;\n    uVar5 = 0;\n    pcVar10 = (char *)(unaff_EBP + 0x108e23);\n  }\n  else {\n    iVar4 = (int)*(short *)(unaff_EBP + 0x10b49a + *extraout_ECX * 2);\n    local_30[0] = uVar6;\n    if (iVar4 != -0x1a7) {\n      iVar9 = -iVar4;\n      if (-1 < iVar4) {\n        iVar9 = 0;\n      }\n      iVar12 = 0x5ba - iVar4;\n      if (0x82 < iVar12) {\n        iVar12 = 0x82;\n      }\n      if (iVar9 < iVar12) {\n        uVar5 = 1;\n        local_50 = local_48;\n        do {\n          while ((*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2) != iVar9 || (iVar9 == 1))\n                ) {\n            iVar9 = iVar9 + 1;\n            if (iVar12 == iVar9) goto LAB_00191bad;\n          }\n          if (uVar5 == 5) goto LAB_00191bc8;\n          uVar8 = uVar5 + 1;\n          local_30[uVar5] = *(undefined4 *)(unaff_EBP + 0x1f3a5a + iVar9 * 4);\n          uVar5 = FUN_00191a20();\n          bVar13 = CARRY4(uVar5,local_50);\n          local_50 = uVar5 + local_50;\n          if (bVar13) {\n            return 2;\n          }\n          iVar9 = iVar9 + 1;\n          uVar5 = uVar8;\n        } while (iVar12 != iVar9);\nLAB_00191bad:\n        if (uVar5 < 6) {\n                    \n                    \n          uVar6 = (*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a))();\n          return uVar6;\n        }\n        uVar8 = strlen((char *)0x0);\n        local_48 = local_50;\n        pcVar10 = (char *)0x0;\n        goto LAB_00191bd8;\n      }\n    }\nLAB_00191bc8:\n    uVar8 = 0x1b;\n    uVar5 = 1;\n    pcVar10 = (char *)(unaff_EBP + 0x108e01);\n  }\nLAB_00191bd8:\n  uVar7 = uVar8 + local_48;\n  if (CARRY4(uVar8,local_48)) {\n    return 2;\n  }\n  if (uVar7 <= *puVar3) {\n    iVar4 = 0;\n    pcVar11 = (char *)*(undefined4 *)((ulonglong)uVar14 >> 0x20);\n    cVar1 = *pcVar10;\n    do {\n      *pcVar11 = cVar1;\n      cVar2 = cVar1;\n      if (cVar1 == '\0') {\n        return 0;\n      }\n      while (((cVar1 = pcVar10[1], cVar2 == '%' && (cVar1 == 's')) && (iVar4 < (int)uVar5))) {\n        iVar4 = iVar4 + 1;\n        pcVar10 = pcVar10 + 2;\n        iVar9 = FUN_00191a20();\n        pcVar11 = pcVar11 + iVar9;\n        cVar2 = *pcVar10;\n        *pcVar11 = cVar2;\n        if (cVar2 == '\0') {\n          return 0;\n        }\n      }\n      pcVar11 = pcVar11 + 1;\n      pcVar10 = pcVar10 + 1;\n    } while( true );\n  }\n  if (uVar7 <= uVar7 * 2) {\n    *puVar3 = uVar7 * 2;\n    return 1;\n  }\n  *puVar3 = 0xffffffff;\n  return 1;\n}" type_identifier (function_declarator "FUN_00191ac0(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  char cVar1;\n  char cVar2;\n  uint *puVar3;\n  int iVar4;\n  uint uVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  uint uVar8;\n  short *extraout_ECX;\n  int iVar9;\n  char *pcVar10;\n  int unaff_EBP;\n  char *pcVar11;\n  int iVar12;\n  bool bVar13;\n  undefined8 uVar14;\n  uint local_50;\n  uint local_48;\n  undefined4 local_30 [8];\n  \n  uVar14 = FUN_000559f2();\n  puVar3 = (uint *)uVar14;\n  uVar6 = *(undefined4 *)(unaff_EBP + 0x1f3a5a + param_1 * 4);\n  local_48 = FUN_00191a20();\n  if (param_1 == -2) {\n    uVar8 = 0xc;\n    uVar5 = 0;\n    pcVar10 = (char *)(unaff_EBP + 0x108e23);\n  }\n  else {\n    iVar4 = (int)*(short *)(unaff_EBP + 0x10b49a + *extraout_ECX * 2);\n    local_30[0] = uVar6;\n    if (iVar4 != -0x1a7) {\n      iVar9 = -iVar4;\n      if (-1 < iVar4) {\n        iVar9 = 0;\n      }\n      iVar12 = 0x5ba - iVar4;\n      if (0x82 < iVar12) {\n        iVar12 = 0x82;\n      }\n      if (iVar9 < iVar12) {\n        uVar5 = 1;\n        local_50 = local_48;\n        do {\n          while ((*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2) != iVar9 || (iVar9 == 1))\n                ) {\n            iVar9 = iVar9 + 1;\n            if (iVar12 == iVar9) goto LAB_00191bad;\n          }\n          if (uVar5 == 5) goto LAB_00191bc8;\n          uVar8 = uVar5 + 1;\n          local_30[uVar5] = *(undefined4 *)(unaff_EBP + 0x1f3a5a + iVar9 * 4);\n          uVar5 = FUN_00191a20();\n          bVar13 = CARRY4(uVar5,local_50);\n          local_50 = uVar5 + local_50;\n          if (bVar13) {\n            return 2;\n          }\n          iVar9 = iVar9 + 1;\n          uVar5 = uVar8;\n        } while (iVar12 != iVar9);\nLAB_00191bad:\n        if (uVar5 < 6) {\n                    \n                    \n          uVar6 = (*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a))();\n          return uVar6;\n        }\n        uVar8 = strlen((char *)0x0);\n        local_48 = local_50;\n        pcVar10 = (char *)0x0;\n        goto LAB_00191bd8;\n      }\n    }\nLAB_00191bc8:\n    uVar8 = 0x1b;\n    uVar5 = 1;\n    pcVar10 = (char *)(unaff_EBP + 0x108e01);\n  }\nLAB_00191bd8:\n  uVar7 = uVar8 + local_48;\n  if (CARRY4(uVar8,local_48)) {\n    return 2;\n  }\n  if (uVar7 <= *puVar3) {\n    iVar4 = 0;\n    pcVar11 = (char *)*(undefined4 *)((ulonglong)uVar14 >> 0x20);\n    cVar1 = *pcVar10;\n    do {\n      *pcVar11 = cVar1;\n      cVar2 = cVar1;\n      if (cVar1 == '\0') {\n        return 0;\n      }\n      while (((cVar1 = pcVar10[1], cVar2 == '%' && (cVar1 == 's')) && (iVar4 < (int)uVar5))) {\n        iVar4 = iVar4 + 1;\n        pcVar10 = pcVar10 + 2;\n        iVar9 = FUN_00191a20();\n        pcVar11 = pcVar11 + iVar9;\n        cVar2 = *pcVar10;\n        *pcVar11 = cVar2;\n        if (cVar2 == '\0') {\n          return 0;\n        }\n      }\n      pcVar11 = pcVar11 + 1;\n      pcVar10 = pcVar10 + 1;\n    } while( true );\n  }\n  if (uVar7 <= uVar7 * 2) {\n    *puVar3 = uVar7 * 2;\n    return 1;\n  }\n  *puVar3 = 0xffffffff;\n  return 1;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "uint *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "short *extraout_ECX;" (sized_type_specifier "short" short) (pointer_declarator "*extraout_ECX" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "char *pcVar10;" primitive_type (pointer_declarator "*pcVar10" * identifier) ;) (declaration "int unaff_EBP;" primitive_type identifier ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "bool bVar13;" primitive_type identifier ;) (declaration "undefined8 uVar14;" type_identifier identifier ;) (declaration "uint local_50;" type_identifier identifier ;) (declaration "uint local_48;" type_identifier identifier ;) (declaration "undefined4 local_30 [8];" type_identifier (array_declarator "local_30 [8]" identifier [ number_literal ]) ;) (expression_statement "uVar14 = FUN_000559f2();" (assignment_expression "uVar14 = FUN_000559f2()" identifier = (call_expression "FUN_000559f2()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar3 = (uint *)uVar14;" (assignment_expression "puVar3 = (uint *)uVar14" identifier = (cast_expression "(uint *)uVar14" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "uVar6 = *(undefined4 *)(unaff_EBP + 0x1f3a5a + param_1 * 4);" (assignment_expression "uVar6 = *(undefined4 *)(unaff_EBP + 0x1f3a5a + param_1 * 4)" identifier = (pointer_expression "*(undefined4 *)(unaff_EBP + 0x1f3a5a + param_1 * 4)" * (cast_expression "(undefined4 *)(unaff_EBP + 0x1f3a5a + param_1 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1f3a5a + param_1 * 4)" ( (binary_expression "unaff_EBP + 0x1f3a5a + param_1 * 4" (binary_expression "unaff_EBP + 0x1f3a5a" identifier + number_literal) + (binary_expression "param_1 * 4" identifier * number_literal)) ))))) ;) (expression_statement "local_48 = FUN_00191a20();" (assignment_expression "local_48 = FUN_00191a20()" identifier = (call_expression "FUN_00191a20()" identifier (argument_list "()" ( )))) ;) (if_statement "if (param_1 == -2) {\n    uVar8 = 0xc;\n    uVar5 = 0;\n    pcVar10 = (char *)(unaff_EBP + 0x108e23);\n  }\n  else {\n    iVar4 = (int)*(short *)(unaff_EBP + 0x10b49a + *extraout_ECX * 2);\n    local_30[0] = uVar6;\n    if (iVar4 != -0x1a7) {\n      iVar9 = -iVar4;\n      if (-1 < iVar4) {\n        iVar9 = 0;\n      }\n      iVar12 = 0x5ba - iVar4;\n      if (0x82 < iVar12) {\n        iVar12 = 0x82;\n      }\n      if (iVar9 < iVar12) {\n        uVar5 = 1;\n        local_50 = local_48;\n        do {\n          while ((*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2) != iVar9 || (iVar9 == 1))\n                ) {\n            iVar9 = iVar9 + 1;\n            if (iVar12 == iVar9) goto LAB_00191bad;\n          }\n          if (uVar5 == 5) goto LAB_00191bc8;\n          uVar8 = uVar5 + 1;\n          local_30[uVar5] = *(undefined4 *)(unaff_EBP + 0x1f3a5a + iVar9 * 4);\n          uVar5 = FUN_00191a20();\n          bVar13 = CARRY4(uVar5,local_50);\n          local_50 = uVar5 + local_50;\n          if (bVar13) {\n            return 2;\n          }\n          iVar9 = iVar9 + 1;\n          uVar5 = uVar8;\n        } while (iVar12 != iVar9);\nLAB_00191bad:\n        if (uVar5 < 6) {\n                    \n                    \n          uVar6 = (*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a))();\n          return uVar6;\n        }\n        uVar8 = strlen((char *)0x0);\n        local_48 = local_50;\n        pcVar10 = (char *)0x0;\n        goto LAB_00191bd8;\n      }\n    }\nLAB_00191bc8:\n    uVar8 = 0x1b;\n    uVar5 = 1;\n    pcVar10 = (char *)(unaff_EBP + 0x108e01);\n  }" if (parenthesized_expression "(param_1 == -2)" ( (binary_expression "param_1 == -2" identifier == number_literal) )) (compound_statement "{\n    uVar8 = 0xc;\n    uVar5 = 0;\n    pcVar10 = (char *)(unaff_EBP + 0x108e23);\n  }" { (expression_statement "uVar8 = 0xc;" (assignment_expression "uVar8 = 0xc" identifier = number_literal) ;) (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" identifier = number_literal) ;) (expression_statement "pcVar10 = (char *)(unaff_EBP + 0x108e23);" (assignment_expression "pcVar10 = (char *)(unaff_EBP + 0x108e23)" identifier = (cast_expression "(char *)(unaff_EBP + 0x108e23)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x108e23)" ( (binary_expression "unaff_EBP + 0x108e23" identifier + number_literal) )))) ;) }) (else_clause "else {\n    iVar4 = (int)*(short *)(unaff_EBP + 0x10b49a + *extraout_ECX * 2);\n    local_30[0] = uVar6;\n    if (iVar4 != -0x1a7) {\n      iVar9 = -iVar4;\n      if (-1 < iVar4) {\n        iVar9 = 0;\n      }\n      iVar12 = 0x5ba - iVar4;\n      if (0x82 < iVar12) {\n        iVar12 = 0x82;\n      }\n      if (iVar9 < iVar12) {\n        uVar5 = 1;\n        local_50 = local_48;\n        do {\n          while ((*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2) != iVar9 || (iVar9 == 1))\n                ) {\n            iVar9 = iVar9 + 1;\n            if (iVar12 == iVar9) goto LAB_00191bad;\n          }\n          if (uVar5 == 5) goto LAB_00191bc8;\n          uVar8 = uVar5 + 1;\n          local_30[uVar5] = *(undefined4 *)(unaff_EBP + 0x1f3a5a + iVar9 * 4);\n          uVar5 = FUN_00191a20();\n          bVar13 = CARRY4(uVar5,local_50);\n          local_50 = uVar5 + local_50;\n          if (bVar13) {\n            return 2;\n          }\n          iVar9 = iVar9 + 1;\n          uVar5 = uVar8;\n        } while (iVar12 != iVar9);\nLAB_00191bad:\n        if (uVar5 < 6) {\n                    \n                    \n          uVar6 = (*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a))();\n          return uVar6;\n        }\n        uVar8 = strlen((char *)0x0);\n        local_48 = local_50;\n        pcVar10 = (char *)0x0;\n        goto LAB_00191bd8;\n      }\n    }\nLAB_00191bc8:\n    uVar8 = 0x1b;\n    uVar5 = 1;\n    pcVar10 = (char *)(unaff_EBP + 0x108e01);\n  }" else (compound_statement "{\n    iVar4 = (int)*(short *)(unaff_EBP + 0x10b49a + *extraout_ECX * 2);\n    local_30[0] = uVar6;\n    if (iVar4 != -0x1a7) {\n      iVar9 = -iVar4;\n      if (-1 < iVar4) {\n        iVar9 = 0;\n      }\n      iVar12 = 0x5ba - iVar4;\n      if (0x82 < iVar12) {\n        iVar12 = 0x82;\n      }\n      if (iVar9 < iVar12) {\n        uVar5 = 1;\n        local_50 = local_48;\n        do {\n          while ((*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2) != iVar9 || (iVar9 == 1))\n                ) {\n            iVar9 = iVar9 + 1;\n            if (iVar12 == iVar9) goto LAB_00191bad;\n          }\n          if (uVar5 == 5) goto LAB_00191bc8;\n          uVar8 = uVar5 + 1;\n          local_30[uVar5] = *(undefined4 *)(unaff_EBP + 0x1f3a5a + iVar9 * 4);\n          uVar5 = FUN_00191a20();\n          bVar13 = CARRY4(uVar5,local_50);\n          local_50 = uVar5 + local_50;\n          if (bVar13) {\n            return 2;\n          }\n          iVar9 = iVar9 + 1;\n          uVar5 = uVar8;\n        } while (iVar12 != iVar9);\nLAB_00191bad:\n        if (uVar5 < 6) {\n                    \n                    \n          uVar6 = (*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a))();\n          return uVar6;\n        }\n        uVar8 = strlen((char *)0x0);\n        local_48 = local_50;\n        pcVar10 = (char *)0x0;\n        goto LAB_00191bd8;\n      }\n    }\nLAB_00191bc8:\n    uVar8 = 0x1b;\n    uVar5 = 1;\n    pcVar10 = (char *)(unaff_EBP + 0x108e01);\n  }" { (expression_statement "iVar4 = (int)*(short *)(unaff_EBP + 0x10b49a + *extraout_ECX * 2);" (assignment_expression "iVar4 = (int)*(short *)(unaff_EBP + 0x10b49a + *extraout_ECX * 2)" identifier = (cast_expression "(int)*(short *)(unaff_EBP + 0x10b49a + *extraout_ECX * 2)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(unaff_EBP + 0x10b49a + *extraout_ECX * 2)" * (cast_expression "(short *)(unaff_EBP + 0x10b49a + *extraout_ECX * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x10b49a + *extraout_ECX * 2)" ( (binary_expression "unaff_EBP + 0x10b49a + *extraout_ECX * 2" (binary_expression "unaff_EBP + 0x10b49a" identifier + number_literal) + (binary_expression "*extraout_ECX * 2" (pointer_expression "*extraout_ECX" * identifier) * number_literal)) )))))) ;) (expression_statement "local_30[0] = uVar6;" (assignment_expression "local_30[0] = uVar6" (subscript_expression "local_30[0]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar4 != -0x1a7) {\n      iVar9 = -iVar4;\n      if (-1 < iVar4) {\n        iVar9 = 0;\n      }\n      iVar12 = 0x5ba - iVar4;\n      if (0x82 < iVar12) {\n        iVar12 = 0x82;\n      }\n      if (iVar9 < iVar12) {\n        uVar5 = 1;\n        local_50 = local_48;\n        do {\n          while ((*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2) != iVar9 || (iVar9 == 1))\n                ) {\n            iVar9 = iVar9 + 1;\n            if (iVar12 == iVar9) goto LAB_00191bad;\n          }\n          if (uVar5 == 5) goto LAB_00191bc8;\n          uVar8 = uVar5 + 1;\n          local_30[uVar5] = *(undefined4 *)(unaff_EBP + 0x1f3a5a + iVar9 * 4);\n          uVar5 = FUN_00191a20();\n          bVar13 = CARRY4(uVar5,local_50);\n          local_50 = uVar5 + local_50;\n          if (bVar13) {\n            return 2;\n          }\n          iVar9 = iVar9 + 1;\n          uVar5 = uVar8;\n        } while (iVar12 != iVar9);\nLAB_00191bad:\n        if (uVar5 < 6) {\n                    \n                    \n          uVar6 = (*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a))();\n          return uVar6;\n        }\n        uVar8 = strlen((char *)0x0);\n        local_48 = local_50;\n        pcVar10 = (char *)0x0;\n        goto LAB_00191bd8;\n      }\n    }" if (parenthesized_expression "(iVar4 != -0x1a7)" ( (binary_expression "iVar4 != -0x1a7" identifier != number_literal) )) (compound_statement "{\n      iVar9 = -iVar4;\n      if (-1 < iVar4) {\n        iVar9 = 0;\n      }\n      iVar12 = 0x5ba - iVar4;\n      if (0x82 < iVar12) {\n        iVar12 = 0x82;\n      }\n      if (iVar9 < iVar12) {\n        uVar5 = 1;\n        local_50 = local_48;\n        do {\n          while ((*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2) != iVar9 || (iVar9 == 1))\n                ) {\n            iVar9 = iVar9 + 1;\n            if (iVar12 == iVar9) goto LAB_00191bad;\n          }\n          if (uVar5 == 5) goto LAB_00191bc8;\n          uVar8 = uVar5 + 1;\n          local_30[uVar5] = *(undefined4 *)(unaff_EBP + 0x1f3a5a + iVar9 * 4);\n          uVar5 = FUN_00191a20();\n          bVar13 = CARRY4(uVar5,local_50);\n          local_50 = uVar5 + local_50;\n          if (bVar13) {\n            return 2;\n          }\n          iVar9 = iVar9 + 1;\n          uVar5 = uVar8;\n        } while (iVar12 != iVar9);\nLAB_00191bad:\n        if (uVar5 < 6) {\n                    \n                    \n          uVar6 = (*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a))();\n          return uVar6;\n        }\n        uVar8 = strlen((char *)0x0);\n        local_48 = local_50;\n        pcVar10 = (char *)0x0;\n        goto LAB_00191bd8;\n      }\n    }" { (expression_statement "iVar9 = -iVar4;" (assignment_expression "iVar9 = -iVar4" identifier = (unary_expression "-iVar4" - identifier)) ;) (if_statement "if (-1 < iVar4) {\n        iVar9 = 0;\n      }" if (parenthesized_expression "(-1 < iVar4)" ( (binary_expression "-1 < iVar4" number_literal < identifier) )) (compound_statement "{\n        iVar9 = 0;\n      }" { (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) })) (expression_statement "iVar12 = 0x5ba - iVar4;" (assignment_expression "iVar12 = 0x5ba - iVar4" identifier = (binary_expression "0x5ba - iVar4" number_literal - identifier)) ;) (if_statement "if (0x82 < iVar12) {\n        iVar12 = 0x82;\n      }" if (parenthesized_expression "(0x82 < iVar12)" ( (binary_expression "0x82 < iVar12" number_literal < identifier) )) (compound_statement "{\n        iVar12 = 0x82;\n      }" { (expression_statement "iVar12 = 0x82;" (assignment_expression "iVar12 = 0x82" identifier = number_literal) ;) })) (if_statement "if (iVar9 < iVar12) {\n        uVar5 = 1;\n        local_50 = local_48;\n        do {\n          while ((*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2) != iVar9 || (iVar9 == 1))\n                ) {\n            iVar9 = iVar9 + 1;\n            if (iVar12 == iVar9) goto LAB_00191bad;\n          }\n          if (uVar5 == 5) goto LAB_00191bc8;\n          uVar8 = uVar5 + 1;\n          local_30[uVar5] = *(undefined4 *)(unaff_EBP + 0x1f3a5a + iVar9 * 4);\n          uVar5 = FUN_00191a20();\n          bVar13 = CARRY4(uVar5,local_50);\n          local_50 = uVar5 + local_50;\n          if (bVar13) {\n            return 2;\n          }\n          iVar9 = iVar9 + 1;\n          uVar5 = uVar8;\n        } while (iVar12 != iVar9);\nLAB_00191bad:\n        if (uVar5 < 6) {\n                    \n                    \n          uVar6 = (*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a))();\n          return uVar6;\n        }\n        uVar8 = strlen((char *)0x0);\n        local_48 = local_50;\n        pcVar10 = (char *)0x0;\n        goto LAB_00191bd8;\n      }" if (parenthesized_expression "(iVar9 < iVar12)" ( (binary_expression "iVar9 < iVar12" identifier < identifier) )) (compound_statement "{\n        uVar5 = 1;\n        local_50 = local_48;\n        do {\n          while ((*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2) != iVar9 || (iVar9 == 1))\n                ) {\n            iVar9 = iVar9 + 1;\n            if (iVar12 == iVar9) goto LAB_00191bad;\n          }\n          if (uVar5 == 5) goto LAB_00191bc8;\n          uVar8 = uVar5 + 1;\n          local_30[uVar5] = *(undefined4 *)(unaff_EBP + 0x1f3a5a + iVar9 * 4);\n          uVar5 = FUN_00191a20();\n          bVar13 = CARRY4(uVar5,local_50);\n          local_50 = uVar5 + local_50;\n          if (bVar13) {\n            return 2;\n          }\n          iVar9 = iVar9 + 1;\n          uVar5 = uVar8;\n        } while (iVar12 != iVar9);\nLAB_00191bad:\n        if (uVar5 < 6) {\n                    \n                    \n          uVar6 = (*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a))();\n          return uVar6;\n        }\n        uVar8 = strlen((char *)0x0);\n        local_48 = local_50;\n        pcVar10 = (char *)0x0;\n        goto LAB_00191bd8;\n      }" { (expression_statement "uVar5 = 1;" (assignment_expression "uVar5 = 1" identifier = number_literal) ;) (expression_statement "local_50 = local_48;" (assignment_expression "local_50 = local_48" identifier = identifier) ;) (do_statement "do {\n          while ((*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2) != iVar9 || (iVar9 == 1))\n                ) {\n            iVar9 = iVar9 + 1;\n            if (iVar12 == iVar9) goto LAB_00191bad;\n          }\n          if (uVar5 == 5) goto LAB_00191bc8;\n          uVar8 = uVar5 + 1;\n          local_30[uVar5] = *(undefined4 *)(unaff_EBP + 0x1f3a5a + iVar9 * 4);\n          uVar5 = FUN_00191a20();\n          bVar13 = CARRY4(uVar5,local_50);\n          local_50 = uVar5 + local_50;\n          if (bVar13) {\n            return 2;\n          }\n          iVar9 = iVar9 + 1;\n          uVar5 = uVar8;\n        } while (iVar12 != iVar9);" do (compound_statement "{\n          while ((*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2) != iVar9 || (iVar9 == 1))\n                ) {\n            iVar9 = iVar9 + 1;\n            if (iVar12 == iVar9) goto LAB_00191bad;\n          }\n          if (uVar5 == 5) goto LAB_00191bc8;\n          uVar8 = uVar5 + 1;\n          local_30[uVar5] = *(undefined4 *)(unaff_EBP + 0x1f3a5a + iVar9 * 4);\n          uVar5 = FUN_00191a20();\n          bVar13 = CARRY4(uVar5,local_50);\n          local_50 = uVar5 + local_50;\n          if (bVar13) {\n            return 2;\n          }\n          iVar9 = iVar9 + 1;\n          uVar5 = uVar8;\n        }" { (while_statement "while ((*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2) != iVar9 || (iVar9 == 1))\n                ) {\n            iVar9 = iVar9 + 1;\n            if (iVar12 == iVar9) goto LAB_00191bad;\n          }" while (parenthesized_expression "((*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2) != iVar9 || (iVar9 == 1))\n                )" ( (parenthesized_expression "(*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2) != iVar9 || (iVar9 == 1))" ( (binary_expression "*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2) != iVar9 || (iVar9 == 1)" (binary_expression "*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2) != iVar9" (pointer_expression "*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2)" * (cast_expression "(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2)" ( (binary_expression "unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2" (binary_expression "unaff_EBP + 0x109a1a + iVar4 * 2" (binary_expression "unaff_EBP + 0x109a1a" identifier + number_literal) + (binary_expression "iVar4 * 2" identifier * number_literal)) + (binary_expression "iVar9 * 2" identifier * number_literal)) )))) != identifier) || (parenthesized_expression "(iVar9 == 1)" ( (binary_expression "iVar9 == 1" identifier == number_literal) ))) )) )) (compound_statement "{\n            iVar9 = iVar9 + 1;\n            if (iVar12 == iVar9) goto LAB_00191bad;\n          }" { (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (if_statement "if (iVar12 == iVar9) goto LAB_00191bad;" if (parenthesized_expression "(iVar12 == iVar9)" ( (binary_expression "iVar12 == iVar9" identifier == identifier) )) (goto_statement "goto LAB_00191bad;" goto statement_identifier ;)) })) (if_statement "if (uVar5 == 5) goto LAB_00191bc8;" if (parenthesized_expression "(uVar5 == 5)" ( (binary_expression "uVar5 == 5" identifier == number_literal) )) (goto_statement "goto LAB_00191bc8;" goto statement_identifier ;)) (expression_statement "uVar8 = uVar5 + 1;" (assignment_expression "uVar8 = uVar5 + 1" identifier = (binary_expression "uVar5 + 1" identifier + number_literal)) ;) (expression_statement "local_30[uVar5] = *(undefined4 *)(unaff_EBP + 0x1f3a5a + iVar9 * 4);" (assignment_expression "local_30[uVar5] = *(undefined4 *)(unaff_EBP + 0x1f3a5a + iVar9 * 4)" (subscript_expression "local_30[uVar5]" identifier [ identifier ]) = (pointer_expression "*(undefined4 *)(unaff_EBP + 0x1f3a5a + iVar9 * 4)" * (cast_expression "(undefined4 *)(unaff_EBP + 0x1f3a5a + iVar9 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1f3a5a + iVar9 * 4)" ( (binary_expression "unaff_EBP + 0x1f3a5a + iVar9 * 4" (binary_expression "unaff_EBP + 0x1f3a5a" identifier + number_literal) + (binary_expression "iVar9 * 4" identifier * number_literal)) ))))) ;) (expression_statement "uVar5 = FUN_00191a20();" (assignment_expression "uVar5 = FUN_00191a20()" identifier = (call_expression "FUN_00191a20()" identifier (argument_list "()" ( )))) ;) (expression_statement "bVar13 = CARRY4(uVar5,local_50);" (assignment_expression "bVar13 = CARRY4(uVar5,local_50)" identifier = (call_expression "CARRY4(uVar5,local_50)" identifier (argument_list "(uVar5,local_50)" ( identifier , identifier )))) ;) (expression_statement "local_50 = uVar5 + local_50;" (assignment_expression "local_50 = uVar5 + local_50" identifier = (binary_expression "uVar5 + local_50" identifier + identifier)) ;) (if_statement "if (bVar13) {\n            return 2;\n          }" if (parenthesized_expression "(bVar13)" ( identifier )) (compound_statement "{\n            return 2;\n          }" { (return_statement "return 2;" return number_literal ;) })) (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (expression_statement "uVar5 = uVar8;" (assignment_expression "uVar5 = uVar8" identifier = identifier) ;) }) while (parenthesized_expression "(iVar12 != iVar9)" ( (binary_expression "iVar12 != iVar9" identifier != identifier) )) ;) (labeled_statement "LAB_00191bad:\n        if (uVar5 < 6) {\n                    \n                    \n          uVar6 = (*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a))();\n          return uVar6;\n        }" statement_identifier : (if_statement "if (uVar5 < 6) {\n                    \n                    \n          uVar6 = (*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a))();\n          return uVar6;\n        }" if (parenthesized_expression "(uVar5 < 6)" ( (binary_expression "uVar5 < 6" identifier < number_literal) )) (compound_statement "{\n                    \n                    \n          uVar6 = (*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a))();\n          return uVar6;\n        }" { (expression_statement "uVar6 = (*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a))();" (assignment_expression "uVar6 = (*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a))()" identifier = (call_expression "(*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a))()" (parenthesized_expression "(*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a))" ( (pointer_expression "*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a)" * (cast_expression "(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a)" ( (binary_expression "*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a" (binary_expression "*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP" (pointer_expression "*(int *)(unaff_EBP + 0x10945a + uVar5 * 4)" * (cast_expression "(int *)(unaff_EBP + 0x10945a + uVar5 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x10945a + uVar5 * 4)" ( (binary_expression "unaff_EBP + 0x10945a + uVar5 * 4" (binary_expression "unaff_EBP + 0x10945a" identifier + number_literal) + (binary_expression "uVar5 * 4" identifier * number_literal)) )))) + identifier) + number_literal) )))) )) (argument_list "()" ( )))) ;) (return_statement "return uVar6;" return identifier ;) }))) (expression_statement "uVar8 = strlen((char *)0x0);" (assignment_expression "uVar8 = strlen((char *)0x0)" identifier = (call_expression "strlen((char *)0x0)" identifier (argument_list "((char *)0x0)" ( (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;) (expression_statement "local_48 = local_50;" (assignment_expression "local_48 = local_50" identifier = identifier) ;) (expression_statement "pcVar10 = (char *)0x0;" (assignment_expression "pcVar10 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00191bd8;" goto statement_identifier ;) })) })) (labeled_statement "LAB_00191bc8:\n    uVar8 = 0x1b;" statement_identifier : (expression_statement "uVar8 = 0x1b;" (assignment_expression "uVar8 = 0x1b" identifier = number_literal) ;)) (expression_statement "uVar5 = 1;" (assignment_expression "uVar5 = 1" identifier = number_literal) ;) (expression_statement "pcVar10 = (char *)(unaff_EBP + 0x108e01);" (assignment_expression "pcVar10 = (char *)(unaff_EBP + 0x108e01)" identifier = (cast_expression "(char *)(unaff_EBP + 0x108e01)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x108e01)" ( (binary_expression "unaff_EBP + 0x108e01" identifier + number_literal) )))) ;) }))) (labeled_statement "LAB_00191bd8:\n  uVar7 = uVar8 + local_48;" statement_identifier : (expression_statement "uVar7 = uVar8 + local_48;" (assignment_expression "uVar7 = uVar8 + local_48" identifier = (binary_expression "uVar8 + local_48" identifier + identifier)) ;)) (if_statement "if (CARRY4(uVar8,local_48)) {\n    return 2;\n  }" if (parenthesized_expression "(CARRY4(uVar8,local_48))" ( (call_expression "CARRY4(uVar8,local_48)" identifier (argument_list "(uVar8,local_48)" ( identifier , identifier ))) )) (compound_statement "{\n    return 2;\n  }" { (return_statement "return 2;" return number_literal ;) })) (if_statement "if (uVar7 <= *puVar3) {\n    iVar4 = 0;\n    pcVar11 = (char *)*(undefined4 *)((ulonglong)uVar14 >> 0x20);\n    cVar1 = *pcVar10;\n    do {\n      *pcVar11 = cVar1;\n      cVar2 = cVar1;\n      if (cVar1 == '\0') {\n        return 0;\n      }\n      while (((cVar1 = pcVar10[1], cVar2 == '%' && (cVar1 == 's')) && (iVar4 < (int)uVar5))) {\n        iVar4 = iVar4 + 1;\n        pcVar10 = pcVar10 + 2;\n        iVar9 = FUN_00191a20();\n        pcVar11 = pcVar11 + iVar9;\n        cVar2 = *pcVar10;\n        *pcVar11 = cVar2;\n        if (cVar2 == '\0') {\n          return 0;\n        }\n      }\n      pcVar11 = pcVar11 + 1;\n      pcVar10 = pcVar10 + 1;\n    } while( true );\n  }" if (parenthesized_expression "(uVar7 <= *puVar3)" ( (binary_expression "uVar7 <= *puVar3" identifier <= (pointer_expression "*puVar3" * identifier)) )) (compound_statement "{\n    iVar4 = 0;\n    pcVar11 = (char *)*(undefined4 *)((ulonglong)uVar14 >> 0x20);\n    cVar1 = *pcVar10;\n    do {\n      *pcVar11 = cVar1;\n      cVar2 = cVar1;\n      if (cVar1 == '\0') {\n        return 0;\n      }\n      while (((cVar1 = pcVar10[1], cVar2 == '%' && (cVar1 == 's')) && (iVar4 < (int)uVar5))) {\n        iVar4 = iVar4 + 1;\n        pcVar10 = pcVar10 + 2;\n        iVar9 = FUN_00191a20();\n        pcVar11 = pcVar11 + iVar9;\n        cVar2 = *pcVar10;\n        *pcVar11 = cVar2;\n        if (cVar2 == '\0') {\n          return 0;\n        }\n      }\n      pcVar11 = pcVar11 + 1;\n      pcVar10 = pcVar10 + 1;\n    } while( true );\n  }" { (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (expression_statement "pcVar11 = (char *)*(undefined4 *)((ulonglong)uVar14 >> 0x20);" (assignment_expression "pcVar11 = (char *)*(undefined4 *)((ulonglong)uVar14 >> 0x20)" identifier = (cast_expression "(char *)*(undefined4 *)((ulonglong)uVar14 >> 0x20)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*(undefined4 *)((ulonglong)uVar14 >> 0x20)" * (cast_expression "(undefined4 *)((ulonglong)uVar14 >> 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar14 >> 0x20)" ( (binary_expression "(ulonglong)uVar14 >> 0x20" (cast_expression "(ulonglong)uVar14" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))))) ;) (expression_statement "cVar1 = *pcVar10;" (assignment_expression "cVar1 = *pcVar10" identifier = (pointer_expression "*pcVar10" * identifier)) ;) (do_statement "do {\n      *pcVar11 = cVar1;\n      cVar2 = cVar1;\n      if (cVar1 == '\0') {\n        return 0;\n      }\n      while (((cVar1 = pcVar10[1], cVar2 == '%' && (cVar1 == 's')) && (iVar4 < (int)uVar5))) {\n        iVar4 = iVar4 + 1;\n        pcVar10 = pcVar10 + 2;\n        iVar9 = FUN_00191a20();\n        pcVar11 = pcVar11 + iVar9;\n        cVar2 = *pcVar10;\n        *pcVar11 = cVar2;\n        if (cVar2 == '\0') {\n          return 0;\n        }\n      }\n      pcVar11 = pcVar11 + 1;\n      pcVar10 = pcVar10 + 1;\n    } while( true );" do (compound_statement "{\n      *pcVar11 = cVar1;\n      cVar2 = cVar1;\n      if (cVar1 == '\0') {\n        return 0;\n      }\n      while (((cVar1 = pcVar10[1], cVar2 == '%' && (cVar1 == 's')) && (iVar4 < (int)uVar5))) {\n        iVar4 = iVar4 + 1;\n        pcVar10 = pcVar10 + 2;\n        iVar9 = FUN_00191a20();\n        pcVar11 = pcVar11 + iVar9;\n        cVar2 = *pcVar10;\n        *pcVar11 = cVar2;\n        if (cVar2 == '\0') {\n          return 0;\n        }\n      }\n      pcVar11 = pcVar11 + 1;\n      pcVar10 = pcVar10 + 1;\n    }" { (expression_statement "*pcVar11 = cVar1;" (assignment_expression "*pcVar11 = cVar1" (pointer_expression "*pcVar11" * identifier) = identifier) ;) (expression_statement "cVar2 = cVar1;" (assignment_expression "cVar2 = cVar1" identifier = identifier) ;) (if_statement "if (cVar1 == '\0') {\n        return 0;\n      }" if (parenthesized_expression "(cVar1 == '\0')" ( (binary_expression "cVar1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) })) (while_statement "while (((cVar1 = pcVar10[1], cVar2 == '%' && (cVar1 == 's')) && (iVar4 < (int)uVar5))) {\n        iVar4 = iVar4 + 1;\n        pcVar10 = pcVar10 + 2;\n        iVar9 = FUN_00191a20();\n        pcVar11 = pcVar11 + iVar9;\n        cVar2 = *pcVar10;\n        *pcVar11 = cVar2;\n        if (cVar2 == '\0') {\n          return 0;\n        }\n      }" while (parenthesized_expression "(((cVar1 = pcVar10[1], cVar2 == '%' && (cVar1 == 's')) && (iVar4 < (int)uVar5)))" ( (parenthesized_expression "((cVar1 = pcVar10[1], cVar2 == '%' && (cVar1 == 's')) && (iVar4 < (int)uVar5))" ( (binary_expression "(cVar1 = pcVar10[1], cVar2 == '%' && (cVar1 == 's')) && (iVar4 < (int)uVar5)" (parenthesized_expression "(cVar1 = pcVar10[1], cVar2 == '%' && (cVar1 == 's'))" ( (comma_expression "cVar1 = pcVar10[1], cVar2 == '%' && (cVar1 == 's')" (assignment_expression "cVar1 = pcVar10[1]" identifier = (subscript_expression "pcVar10[1]" identifier [ number_literal ])) , (binary_expression "cVar2 == '%' && (cVar1 == 's')" (binary_expression "cVar2 == '%'" identifier == (char_literal "'%'" ' character ')) && (parenthesized_expression "(cVar1 == 's')" ( (binary_expression "cVar1 == 's'" identifier == (char_literal "'s'" ' character ')) )))) )) && (parenthesized_expression "(iVar4 < (int)uVar5)" ( (binary_expression "iVar4 < (int)uVar5" identifier < (cast_expression "(int)uVar5" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) )) (compound_statement "{\n        iVar4 = iVar4 + 1;\n        pcVar10 = pcVar10 + 2;\n        iVar9 = FUN_00191a20();\n        pcVar11 = pcVar11 + iVar9;\n        cVar2 = *pcVar10;\n        *pcVar11 = cVar2;\n        if (cVar2 == '\0') {\n          return 0;\n        }\n      }" { (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) (expression_statement "pcVar10 = pcVar10 + 2;" (assignment_expression "pcVar10 = pcVar10 + 2" identifier = (binary_expression "pcVar10 + 2" identifier + number_literal)) ;) (expression_statement "iVar9 = FUN_00191a20();" (assignment_expression "iVar9 = FUN_00191a20()" identifier = (call_expression "FUN_00191a20()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar11 = pcVar11 + iVar9;" (assignment_expression "pcVar11 = pcVar11 + iVar9" identifier = (binary_expression "pcVar11 + iVar9" identifier + identifier)) ;) (expression_statement "cVar2 = *pcVar10;" (assignment_expression "cVar2 = *pcVar10" identifier = (pointer_expression "*pcVar10" * identifier)) ;) (expression_statement "*pcVar11 = cVar2;" (assignment_expression "*pcVar11 = cVar2" (pointer_expression "*pcVar11" * identifier) = identifier) ;) (if_statement "if (cVar2 == '\0') {\n          return 0;\n        }" if (parenthesized_expression "(cVar2 == '\0')" ( (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          return 0;\n        }" { (return_statement "return 0;" return number_literal ;) })) })) (expression_statement "pcVar11 = pcVar11 + 1;" (assignment_expression "pcVar11 = pcVar11 + 1" identifier = (binary_expression "pcVar11 + 1" identifier + number_literal)) ;) (expression_statement "pcVar10 = pcVar10 + 1;" (assignment_expression "pcVar10 = pcVar10 + 1" identifier = (binary_expression "pcVar10 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (if_statement "if (uVar7 <= uVar7 * 2) {\n    *puVar3 = uVar7 * 2;\n    return 1;\n  }" if (parenthesized_expression "(uVar7 <= uVar7 * 2)" ( (binary_expression "uVar7 <= uVar7 * 2" identifier <= (binary_expression "uVar7 * 2" identifier * number_literal)) )) (compound_statement "{\n    *puVar3 = uVar7 * 2;\n    return 1;\n  }" { (expression_statement "*puVar3 = uVar7 * 2;" (assignment_expression "*puVar3 = uVar7 * 2" (pointer_expression "*puVar3" * identifier) = (binary_expression "uVar7 * 2" identifier * number_literal)) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "*puVar3 = 0xffffffff;" (assignment_expression "*puVar3 = 0xffffffff" (pointer_expression "*puVar3" * identifier) = number_literal) ;) (return_statement "return 1;" return number_literal ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier short) (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression (pointer_expression * IDENT) * LIT)) )))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (unary_expression - IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression LIT - IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + LIT) + (binary_expression IDENT * LIT)) + (binary_expression IDENT * LIT)) )))) != IDENT) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression IDENT * LIT)) )))) + IDENT) + LIT) )))) )) (argument_list ( )))) ;) (return_statement return IDENT ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;)) (if_statement if (parenthesized_expression ( (call_expression IDENT (argument_list ( IDENT , IDENT ))) )) (compound_statement { (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (pointer_expression * IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (return_statement return LIT ;) })) (while_statement while (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) , (binary_expression (binary_expression IDENT == (char_literal ' character ')) && (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )))) )) && (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (return_statement return LIT ;) })) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( BOOL )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (binary_expression IDENT * LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT * LIT)) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (return_statement return LIT ;) })))
(function_definition "undefined4 FUN_00191ac0(int param_1)\n\n{\n  char cVar1;\n  char cVar2;\n  uint *puVar3;\n  int iVar4;\n  uint uVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  uint uVar8;\n  short *extraout_ECX;\n  int iVar9;\n  char *pcVar10;\n  int unaff_EBP;\n  char *pcVar11;\n  int iVar12;\n  bool bVar13;\n  undefined8 uVar14;\n  uint local_50;\n  uint local_48;\n  undefined4 local_30 [8];\n  \n  uVar14 = FUN_000559f2();\n  puVar3 = (uint *)uVar14;\n  uVar6 = *(undefined4 *)(unaff_EBP + 0x1f3a5a + param_1 * 4);\n  local_48 = FUN_00191a20();\n  if (param_1 == -2) {\n    uVar8 = 0xc;\n    uVar5 = 0;\n    pcVar10 = (char *)(unaff_EBP + 0x108e23);\n  }\n  else {\n    iVar4 = (int)*(short *)(unaff_EBP + 0x10b49a + *extraout_ECX * 2);\n    local_30[0] = uVar6;\n    if (iVar4 != -0x1a7) {\n      iVar9 = -iVar4;\n      if (-1 < iVar4) {\n        iVar9 = 0;\n      }\n      iVar12 = 0x5ba - iVar4;\n      if (0x82 < iVar12) {\n        iVar12 = 0x82;\n      }\n      if (iVar9 < iVar12) {\n        uVar5 = 1;\n        local_50 = local_48;\n        do {\n          while ((*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2) != iVar9 || (iVar9 == 1))\n                ) {\n            iVar9 = iVar9 + 1;\n            if (iVar12 == iVar9) goto LAB_00191bad;\n          }\n          if (uVar5 == 5) goto LAB_00191bc8;\n          uVar8 = uVar5 + 1;\n          local_30[uVar5] = *(undefined4 *)(unaff_EBP + 0x1f3a5a + iVar9 * 4);\n          uVar5 = FUN_00191a20();\n          bVar13 = CARRY4(uVar5,local_50);\n          local_50 = uVar5 + local_50;\n          if (bVar13) {\n            return 2;\n          }\n          iVar9 = iVar9 + 1;\n          uVar5 = uVar8;\n        } while (iVar12 != iVar9);\nLAB_00191bad:\n        if (uVar5 < 6) {\n                    \n                    \n          uVar6 = (*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a))();\n          return uVar6;\n        }\n        uVar8 = strlen((char *)0x0);\n        local_48 = local_50;\n        pcVar10 = (char *)0x0;\n        goto LAB_00191bd8;\n      }\n    }\nLAB_00191bc8:\n    uVar8 = 0x1b;\n    uVar5 = 1;\n    pcVar10 = (char *)(unaff_EBP + 0x108e01);\n  }\nLAB_00191bd8:\n  uVar7 = uVar8 + local_48;\n  if (CARRY4(uVar8,local_48)) {\n    return 2;\n  }\n  if (uVar7 <= *puVar3) {\n    iVar4 = 0;\n    pcVar11 = (char *)*(undefined4 *)((ulonglong)uVar14 >> 0x20);\n    cVar1 = *pcVar10;\n    do {\n      *pcVar11 = cVar1;\n      cVar2 = cVar1;\n      if (cVar1 == '\0') {\n        return 0;\n      }\n      while (((cVar1 = pcVar10[1], cVar2 == '%' && (cVar1 == 's')) && (iVar4 < (int)uVar5))) {\n        iVar4 = iVar4 + 1;\n        pcVar10 = pcVar10 + 2;\n        iVar9 = FUN_00191a20();\n        pcVar11 = pcVar11 + iVar9;\n        cVar2 = *pcVar10;\n        *pcVar11 = cVar2;\n        if (cVar2 == '\0') {\n          return 0;\n        }\n      }\n      pcVar11 = pcVar11 + 1;\n      pcVar10 = pcVar10 + 1;\n    } while( true );\n  }\n  if (uVar7 <= uVar7 * 2) {\n    *puVar3 = uVar7 * 2;\n    return 1;\n  }\n  *puVar3 = 0xffffffff;\n  return 1;\n}" (type_identifier "undefined4") (function_declarator "FUN_00191ac0(int param_1)" (identifier "FUN_00191ac0") (parameter_list "(int param_1)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) () ")"))) (compound_statement "{\n  char cVar1;\n  char cVar2;\n  uint *puVar3;\n  int iVar4;\n  uint uVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  uint uVar8;\n  short *extraout_ECX;\n  int iVar9;\n  char *pcVar10;\n  int unaff_EBP;\n  char *pcVar11;\n  int iVar12;\n  bool bVar13;\n  undefined8 uVar14;\n  uint local_50;\n  uint local_48;\n  undefined4 local_30 [8];\n  \n  uVar14 = FUN_000559f2();\n  puVar3 = (uint *)uVar14;\n  uVar6 = *(undefined4 *)(unaff_EBP + 0x1f3a5a + param_1 * 4);\n  local_48 = FUN_00191a20();\n  if (param_1 == -2) {\n    uVar8 = 0xc;\n    uVar5 = 0;\n    pcVar10 = (char *)(unaff_EBP + 0x108e23);\n  }\n  else {\n    iVar4 = (int)*(short *)(unaff_EBP + 0x10b49a + *extraout_ECX * 2);\n    local_30[0] = uVar6;\n    if (iVar4 != -0x1a7) {\n      iVar9 = -iVar4;\n      if (-1 < iVar4) {\n        iVar9 = 0;\n      }\n      iVar12 = 0x5ba - iVar4;\n      if (0x82 < iVar12) {\n        iVar12 = 0x82;\n      }\n      if (iVar9 < iVar12) {\n        uVar5 = 1;\n        local_50 = local_48;\n        do {\n          while ((*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2) != iVar9 || (iVar9 == 1))\n                ) {\n            iVar9 = iVar9 + 1;\n            if (iVar12 == iVar9) goto LAB_00191bad;\n          }\n          if (uVar5 == 5) goto LAB_00191bc8;\n          uVar8 = uVar5 + 1;\n          local_30[uVar5] = *(undefined4 *)(unaff_EBP + 0x1f3a5a + iVar9 * 4);\n          uVar5 = FUN_00191a20();\n          bVar13 = CARRY4(uVar5,local_50);\n          local_50 = uVar5 + local_50;\n          if (bVar13) {\n            return 2;\n          }\n          iVar9 = iVar9 + 1;\n          uVar5 = uVar8;\n        } while (iVar12 != iVar9);\nLAB_00191bad:\n        if (uVar5 < 6) {\n                    \n                    \n          uVar6 = (*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a))();\n          return uVar6;\n        }\n        uVar8 = strlen((char *)0x0);\n        local_48 = local_50;\n        pcVar10 = (char *)0x0;\n        goto LAB_00191bd8;\n      }\n    }\nLAB_00191bc8:\n    uVar8 = 0x1b;\n    uVar5 = 1;\n    pcVar10 = (char *)(unaff_EBP + 0x108e01);\n  }\nLAB_00191bd8:\n  uVar7 = uVar8 + local_48;\n  if (CARRY4(uVar8,local_48)) {\n    return 2;\n  }\n  if (uVar7 <= *puVar3) {\n    iVar4 = 0;\n    pcVar11 = (char *)*(undefined4 *)((ulonglong)uVar14 >> 0x20);\n    cVar1 = *pcVar10;\n    do {\n      *pcVar11 = cVar1;\n      cVar2 = cVar1;\n      if (cVar1 == '\0') {\n        return 0;\n      }\n      while (((cVar1 = pcVar10[1], cVar2 == '%' && (cVar1 == 's')) && (iVar4 < (int)uVar5))) {\n        iVar4 = iVar4 + 1;\n        pcVar10 = pcVar10 + 2;\n        iVar9 = FUN_00191a20();\n        pcVar11 = pcVar11 + iVar9;\n        cVar2 = *pcVar10;\n        *pcVar11 = cVar2;\n        if (cVar2 == '\0') {\n          return 0;\n        }\n      }\n      pcVar11 = pcVar11 + 1;\n      pcVar10 = pcVar10 + 1;\n    } while( true );\n  }\n  if (uVar7 <= uVar7 * 2) {\n    *puVar3 = uVar7 * 2;\n    return 1;\n  }\n  *puVar3 = 0xffffffff;\n  return 1;\n}" ({ "{") (declaration "char cVar1;" (primitive_type "char") (identifier "cVar1") (; ";")) (declaration "char cVar2;" (primitive_type "char") (identifier "cVar2") (; ";")) (declaration "uint *puVar3;" (type_identifier "uint") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (declaration "undefined4 uVar6;" (type_identifier "undefined4") (identifier "uVar6") (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "uint uVar8;" (type_identifier "uint") (identifier "uVar8") (; ";")) (declaration "short *extraout_ECX;" (sized_type_specifier "short" (short "short")) (pointer_declarator "*extraout_ECX" (* "*") (identifier "extraout_ECX")) (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "char *pcVar10;" (primitive_type "char") (pointer_declarator "*pcVar10" (* "*") (identifier "pcVar10")) (; ";")) (declaration "int unaff_EBP;" (primitive_type "int") (identifier "unaff_EBP") (; ";")) (declaration "char *pcVar11;" (primitive_type "char") (pointer_declarator "*pcVar11" (* "*") (identifier "pcVar11")) (; ";")) (declaration "int iVar12;" (primitive_type "int") (identifier "iVar12") (; ";")) (declaration "bool bVar13;" (primitive_type "bool") (identifier "bVar13") (; ";")) (declaration "undefined8 uVar14;" (type_identifier "undefined8") (identifier "uVar14") (; ";")) (declaration "uint local_50;" (type_identifier "uint") (identifier "local_50") (; ";")) (declaration "uint local_48;" (type_identifier "uint") (identifier "local_48") (; ";")) (declaration "undefined4 local_30 [8];" (type_identifier "undefined4") (array_declarator "local_30 [8]" (identifier "local_30") ([ "[") (number_literal "8") (] "]")) (; ";")) (expression_statement "uVar14 = FUN_000559f2();" (assignment_expression "uVar14 = FUN_000559f2()" (identifier "uVar14") (= "=") (call_expression "FUN_000559f2()" (identifier "FUN_000559f2") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "puVar3 = (uint *)uVar14;" (assignment_expression "puVar3 = (uint *)uVar14" (identifier "puVar3") (= "=") (cast_expression "(uint *)uVar14" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "uVar14"))) (; ";")) (expression_statement "uVar6 = *(undefined4 *)(unaff_EBP + 0x1f3a5a + param_1 * 4);" (assignment_expression "uVar6 = *(undefined4 *)(unaff_EBP + 0x1f3a5a + param_1 * 4)" (identifier "uVar6") (= "=") (pointer_expression "*(undefined4 *)(unaff_EBP + 0x1f3a5a + param_1 * 4)" (* "*") (cast_expression "(undefined4 *)(unaff_EBP + 0x1f3a5a + param_1 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x1f3a5a + param_1 * 4)" (( "(") (binary_expression "unaff_EBP + 0x1f3a5a + param_1 * 4" (binary_expression "unaff_EBP + 0x1f3a5a" (identifier "unaff_EBP") (+ "+") (number_literal "0x1f3a5a")) (+ "+") (binary_expression "param_1 * 4" (identifier "param_1") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "local_48 = FUN_00191a20();" (assignment_expression "local_48 = FUN_00191a20()" (identifier "local_48") (= "=") (call_expression "FUN_00191a20()" (identifier "FUN_00191a20") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (param_1 == -2) {\n    uVar8 = 0xc;\n    uVar5 = 0;\n    pcVar10 = (char *)(unaff_EBP + 0x108e23);\n  }\n  else {\n    iVar4 = (int)*(short *)(unaff_EBP + 0x10b49a + *extraout_ECX * 2);\n    local_30[0] = uVar6;\n    if (iVar4 != -0x1a7) {\n      iVar9 = -iVar4;\n      if (-1 < iVar4) {\n        iVar9 = 0;\n      }\n      iVar12 = 0x5ba - iVar4;\n      if (0x82 < iVar12) {\n        iVar12 = 0x82;\n      }\n      if (iVar9 < iVar12) {\n        uVar5 = 1;\n        local_50 = local_48;\n        do {\n          while ((*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2) != iVar9 || (iVar9 == 1))\n                ) {\n            iVar9 = iVar9 + 1;\n            if (iVar12 == iVar9) goto LAB_00191bad;\n          }\n          if (uVar5 == 5) goto LAB_00191bc8;\n          uVar8 = uVar5 + 1;\n          local_30[uVar5] = *(undefined4 *)(unaff_EBP + 0x1f3a5a + iVar9 * 4);\n          uVar5 = FUN_00191a20();\n          bVar13 = CARRY4(uVar5,local_50);\n          local_50 = uVar5 + local_50;\n          if (bVar13) {\n            return 2;\n          }\n          iVar9 = iVar9 + 1;\n          uVar5 = uVar8;\n        } while (iVar12 != iVar9);\nLAB_00191bad:\n        if (uVar5 < 6) {\n                    \n                    \n          uVar6 = (*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a))();\n          return uVar6;\n        }\n        uVar8 = strlen((char *)0x0);\n        local_48 = local_50;\n        pcVar10 = (char *)0x0;\n        goto LAB_00191bd8;\n      }\n    }\nLAB_00191bc8:\n    uVar8 = 0x1b;\n    uVar5 = 1;\n    pcVar10 = (char *)(unaff_EBP + 0x108e01);\n  }" (if "if") (parenthesized_expression "(param_1 == -2)" (( "(") (binary_expression "param_1 == -2" (identifier "param_1") (== "==") (number_literal "-2")) () ")")) (compound_statement "{\n    uVar8 = 0xc;\n    uVar5 = 0;\n    pcVar10 = (char *)(unaff_EBP + 0x108e23);\n  }" ({ "{") (expression_statement "uVar8 = 0xc;" (assignment_expression "uVar8 = 0xc" (identifier "uVar8") (= "=") (number_literal "0xc")) (; ";")) (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" (identifier "uVar5") (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar10 = (char *)(unaff_EBP + 0x108e23);" (assignment_expression "pcVar10 = (char *)(unaff_EBP + 0x108e23)" (identifier "pcVar10") (= "=") (cast_expression "(char *)(unaff_EBP + 0x108e23)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x108e23)" (( "(") (binary_expression "unaff_EBP + 0x108e23" (identifier "unaff_EBP") (+ "+") (number_literal "0x108e23")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n    iVar4 = (int)*(short *)(unaff_EBP + 0x10b49a + *extraout_ECX * 2);\n    local_30[0] = uVar6;\n    if (iVar4 != -0x1a7) {\n      iVar9 = -iVar4;\n      if (-1 < iVar4) {\n        iVar9 = 0;\n      }\n      iVar12 = 0x5ba - iVar4;\n      if (0x82 < iVar12) {\n        iVar12 = 0x82;\n      }\n      if (iVar9 < iVar12) {\n        uVar5 = 1;\n        local_50 = local_48;\n        do {\n          while ((*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2) != iVar9 || (iVar9 == 1))\n                ) {\n            iVar9 = iVar9 + 1;\n            if (iVar12 == iVar9) goto LAB_00191bad;\n          }\n          if (uVar5 == 5) goto LAB_00191bc8;\n          uVar8 = uVar5 + 1;\n          local_30[uVar5] = *(undefined4 *)(unaff_EBP + 0x1f3a5a + iVar9 * 4);\n          uVar5 = FUN_00191a20();\n          bVar13 = CARRY4(uVar5,local_50);\n          local_50 = uVar5 + local_50;\n          if (bVar13) {\n            return 2;\n          }\n          iVar9 = iVar9 + 1;\n          uVar5 = uVar8;\n        } while (iVar12 != iVar9);\nLAB_00191bad:\n        if (uVar5 < 6) {\n                    \n                    \n          uVar6 = (*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a))();\n          return uVar6;\n        }\n        uVar8 = strlen((char *)0x0);\n        local_48 = local_50;\n        pcVar10 = (char *)0x0;\n        goto LAB_00191bd8;\n      }\n    }\nLAB_00191bc8:\n    uVar8 = 0x1b;\n    uVar5 = 1;\n    pcVar10 = (char *)(unaff_EBP + 0x108e01);\n  }" (else "else") (compound_statement "{\n    iVar4 = (int)*(short *)(unaff_EBP + 0x10b49a + *extraout_ECX * 2);\n    local_30[0] = uVar6;\n    if (iVar4 != -0x1a7) {\n      iVar9 = -iVar4;\n      if (-1 < iVar4) {\n        iVar9 = 0;\n      }\n      iVar12 = 0x5ba - iVar4;\n      if (0x82 < iVar12) {\n        iVar12 = 0x82;\n      }\n      if (iVar9 < iVar12) {\n        uVar5 = 1;\n        local_50 = local_48;\n        do {\n          while ((*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2) != iVar9 || (iVar9 == 1))\n                ) {\n            iVar9 = iVar9 + 1;\n            if (iVar12 == iVar9) goto LAB_00191bad;\n          }\n          if (uVar5 == 5) goto LAB_00191bc8;\n          uVar8 = uVar5 + 1;\n          local_30[uVar5] = *(undefined4 *)(unaff_EBP + 0x1f3a5a + iVar9 * 4);\n          uVar5 = FUN_00191a20();\n          bVar13 = CARRY4(uVar5,local_50);\n          local_50 = uVar5 + local_50;\n          if (bVar13) {\n            return 2;\n          }\n          iVar9 = iVar9 + 1;\n          uVar5 = uVar8;\n        } while (iVar12 != iVar9);\nLAB_00191bad:\n        if (uVar5 < 6) {\n                    \n                    \n          uVar6 = (*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a))();\n          return uVar6;\n        }\n        uVar8 = strlen((char *)0x0);\n        local_48 = local_50;\n        pcVar10 = (char *)0x0;\n        goto LAB_00191bd8;\n      }\n    }\nLAB_00191bc8:\n    uVar8 = 0x1b;\n    uVar5 = 1;\n    pcVar10 = (char *)(unaff_EBP + 0x108e01);\n  }" ({ "{") (expression_statement "iVar4 = (int)*(short *)(unaff_EBP + 0x10b49a + *extraout_ECX * 2);" (assignment_expression "iVar4 = (int)*(short *)(unaff_EBP + 0x10b49a + *extraout_ECX * 2)" (identifier "iVar4") (= "=") (cast_expression "(int)*(short *)(unaff_EBP + 0x10b49a + *extraout_ECX * 2)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(short *)(unaff_EBP + 0x10b49a + *extraout_ECX * 2)" (* "*") (cast_expression "(short *)(unaff_EBP + 0x10b49a + *extraout_ECX * 2)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x10b49a + *extraout_ECX * 2)" (( "(") (binary_expression "unaff_EBP + 0x10b49a + *extraout_ECX * 2" (binary_expression "unaff_EBP + 0x10b49a" (identifier "unaff_EBP") (+ "+") (number_literal "0x10b49a")) (+ "+") (binary_expression "*extraout_ECX * 2" (pointer_expression "*extraout_ECX" (* "*") (identifier "extraout_ECX")) (* "*") (number_literal "2"))) () ")")))))) (; ";")) (expression_statement "local_30[0] = uVar6;" (assignment_expression "local_30[0] = uVar6" (subscript_expression "local_30[0]" (identifier "local_30") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "uVar6")) (; ";")) (if_statement "if (iVar4 != -0x1a7) {\n      iVar9 = -iVar4;\n      if (-1 < iVar4) {\n        iVar9 = 0;\n      }\n      iVar12 = 0x5ba - iVar4;\n      if (0x82 < iVar12) {\n        iVar12 = 0x82;\n      }\n      if (iVar9 < iVar12) {\n        uVar5 = 1;\n        local_50 = local_48;\n        do {\n          while ((*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2) != iVar9 || (iVar9 == 1))\n                ) {\n            iVar9 = iVar9 + 1;\n            if (iVar12 == iVar9) goto LAB_00191bad;\n          }\n          if (uVar5 == 5) goto LAB_00191bc8;\n          uVar8 = uVar5 + 1;\n          local_30[uVar5] = *(undefined4 *)(unaff_EBP + 0x1f3a5a + iVar9 * 4);\n          uVar5 = FUN_00191a20();\n          bVar13 = CARRY4(uVar5,local_50);\n          local_50 = uVar5 + local_50;\n          if (bVar13) {\n            return 2;\n          }\n          iVar9 = iVar9 + 1;\n          uVar5 = uVar8;\n        } while (iVar12 != iVar9);\nLAB_00191bad:\n        if (uVar5 < 6) {\n                    \n                    \n          uVar6 = (*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a))();\n          return uVar6;\n        }\n        uVar8 = strlen((char *)0x0);\n        local_48 = local_50;\n        pcVar10 = (char *)0x0;\n        goto LAB_00191bd8;\n      }\n    }" (if "if") (parenthesized_expression "(iVar4 != -0x1a7)" (( "(") (binary_expression "iVar4 != -0x1a7" (identifier "iVar4") (!= "!=") (number_literal "-0x1a7")) () ")")) (compound_statement "{\n      iVar9 = -iVar4;\n      if (-1 < iVar4) {\n        iVar9 = 0;\n      }\n      iVar12 = 0x5ba - iVar4;\n      if (0x82 < iVar12) {\n        iVar12 = 0x82;\n      }\n      if (iVar9 < iVar12) {\n        uVar5 = 1;\n        local_50 = local_48;\n        do {\n          while ((*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2) != iVar9 || (iVar9 == 1))\n                ) {\n            iVar9 = iVar9 + 1;\n            if (iVar12 == iVar9) goto LAB_00191bad;\n          }\n          if (uVar5 == 5) goto LAB_00191bc8;\n          uVar8 = uVar5 + 1;\n          local_30[uVar5] = *(undefined4 *)(unaff_EBP + 0x1f3a5a + iVar9 * 4);\n          uVar5 = FUN_00191a20();\n          bVar13 = CARRY4(uVar5,local_50);\n          local_50 = uVar5 + local_50;\n          if (bVar13) {\n            return 2;\n          }\n          iVar9 = iVar9 + 1;\n          uVar5 = uVar8;\n        } while (iVar12 != iVar9);\nLAB_00191bad:\n        if (uVar5 < 6) {\n                    \n                    \n          uVar6 = (*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a))();\n          return uVar6;\n        }\n        uVar8 = strlen((char *)0x0);\n        local_48 = local_50;\n        pcVar10 = (char *)0x0;\n        goto LAB_00191bd8;\n      }\n    }" ({ "{") (expression_statement "iVar9 = -iVar4;" (assignment_expression "iVar9 = -iVar4" (identifier "iVar9") (= "=") (unary_expression "-iVar4" (- "-") (identifier "iVar4"))) (; ";")) (if_statement "if (-1 < iVar4) {\n        iVar9 = 0;\n      }" (if "if") (parenthesized_expression "(-1 < iVar4)" (( "(") (binary_expression "-1 < iVar4" (number_literal "-1") (< "<") (identifier "iVar4")) () ")")) (compound_statement "{\n        iVar9 = 0;\n      }" ({ "{") (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" (identifier "iVar9") (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "iVar12 = 0x5ba - iVar4;" (assignment_expression "iVar12 = 0x5ba - iVar4" (identifier "iVar12") (= "=") (binary_expression "0x5ba - iVar4" (number_literal "0x5ba") (- "-") (identifier "iVar4"))) (; ";")) (if_statement "if (0x82 < iVar12) {\n        iVar12 = 0x82;\n      }" (if "if") (parenthesized_expression "(0x82 < iVar12)" (( "(") (binary_expression "0x82 < iVar12" (number_literal "0x82") (< "<") (identifier "iVar12")) () ")")) (compound_statement "{\n        iVar12 = 0x82;\n      }" ({ "{") (expression_statement "iVar12 = 0x82;" (assignment_expression "iVar12 = 0x82" (identifier "iVar12") (= "=") (number_literal "0x82")) (; ";")) (} "}"))) (if_statement "if (iVar9 < iVar12) {\n        uVar5 = 1;\n        local_50 = local_48;\n        do {\n          while ((*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2) != iVar9 || (iVar9 == 1))\n                ) {\n            iVar9 = iVar9 + 1;\n            if (iVar12 == iVar9) goto LAB_00191bad;\n          }\n          if (uVar5 == 5) goto LAB_00191bc8;\n          uVar8 = uVar5 + 1;\n          local_30[uVar5] = *(undefined4 *)(unaff_EBP + 0x1f3a5a + iVar9 * 4);\n          uVar5 = FUN_00191a20();\n          bVar13 = CARRY4(uVar5,local_50);\n          local_50 = uVar5 + local_50;\n          if (bVar13) {\n            return 2;\n          }\n          iVar9 = iVar9 + 1;\n          uVar5 = uVar8;\n        } while (iVar12 != iVar9);\nLAB_00191bad:\n        if (uVar5 < 6) {\n                    \n                    \n          uVar6 = (*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a))();\n          return uVar6;\n        }\n        uVar8 = strlen((char *)0x0);\n        local_48 = local_50;\n        pcVar10 = (char *)0x0;\n        goto LAB_00191bd8;\n      }" (if "if") (parenthesized_expression "(iVar9 < iVar12)" (( "(") (binary_expression "iVar9 < iVar12" (identifier "iVar9") (< "<") (identifier "iVar12")) () ")")) (compound_statement "{\n        uVar5 = 1;\n        local_50 = local_48;\n        do {\n          while ((*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2) != iVar9 || (iVar9 == 1))\n                ) {\n            iVar9 = iVar9 + 1;\n            if (iVar12 == iVar9) goto LAB_00191bad;\n          }\n          if (uVar5 == 5) goto LAB_00191bc8;\n          uVar8 = uVar5 + 1;\n          local_30[uVar5] = *(undefined4 *)(unaff_EBP + 0x1f3a5a + iVar9 * 4);\n          uVar5 = FUN_00191a20();\n          bVar13 = CARRY4(uVar5,local_50);\n          local_50 = uVar5 + local_50;\n          if (bVar13) {\n            return 2;\n          }\n          iVar9 = iVar9 + 1;\n          uVar5 = uVar8;\n        } while (iVar12 != iVar9);\nLAB_00191bad:\n        if (uVar5 < 6) {\n                    \n                    \n          uVar6 = (*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a))();\n          return uVar6;\n        }\n        uVar8 = strlen((char *)0x0);\n        local_48 = local_50;\n        pcVar10 = (char *)0x0;\n        goto LAB_00191bd8;\n      }" ({ "{") (expression_statement "uVar5 = 1;" (assignment_expression "uVar5 = 1" (identifier "uVar5") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_50 = local_48;" (assignment_expression "local_50 = local_48" (identifier "local_50") (= "=") (identifier "local_48")) (; ";")) (do_statement "do {\n          while ((*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2) != iVar9 || (iVar9 == 1))\n                ) {\n            iVar9 = iVar9 + 1;\n            if (iVar12 == iVar9) goto LAB_00191bad;\n          }\n          if (uVar5 == 5) goto LAB_00191bc8;\n          uVar8 = uVar5 + 1;\n          local_30[uVar5] = *(undefined4 *)(unaff_EBP + 0x1f3a5a + iVar9 * 4);\n          uVar5 = FUN_00191a20();\n          bVar13 = CARRY4(uVar5,local_50);\n          local_50 = uVar5 + local_50;\n          if (bVar13) {\n            return 2;\n          }\n          iVar9 = iVar9 + 1;\n          uVar5 = uVar8;\n        } while (iVar12 != iVar9);" (do "do") (compound_statement "{\n          while ((*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2) != iVar9 || (iVar9 == 1))\n                ) {\n            iVar9 = iVar9 + 1;\n            if (iVar12 == iVar9) goto LAB_00191bad;\n          }\n          if (uVar5 == 5) goto LAB_00191bc8;\n          uVar8 = uVar5 + 1;\n          local_30[uVar5] = *(undefined4 *)(unaff_EBP + 0x1f3a5a + iVar9 * 4);\n          uVar5 = FUN_00191a20();\n          bVar13 = CARRY4(uVar5,local_50);\n          local_50 = uVar5 + local_50;\n          if (bVar13) {\n            return 2;\n          }\n          iVar9 = iVar9 + 1;\n          uVar5 = uVar8;\n        }" ({ "{") (while_statement "while ((*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2) != iVar9 || (iVar9 == 1))\n                ) {\n            iVar9 = iVar9 + 1;\n            if (iVar12 == iVar9) goto LAB_00191bad;\n          }" (while "while") (parenthesized_expression "((*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2) != iVar9 || (iVar9 == 1))\n                )" (( "(") (parenthesized_expression "(*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2) != iVar9 || (iVar9 == 1))" (( "(") (binary_expression "*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2) != iVar9 || (iVar9 == 1)" (binary_expression "*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2) != iVar9" (pointer_expression "*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2)" (* "*") (cast_expression "(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2)" (( "(") (binary_expression "unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2" (binary_expression "unaff_EBP + 0x109a1a + iVar4 * 2" (binary_expression "unaff_EBP + 0x109a1a" (identifier "unaff_EBP") (+ "+") (number_literal "0x109a1a")) (+ "+") (binary_expression "iVar4 * 2" (identifier "iVar4") (* "*") (number_literal "2"))) (+ "+") (binary_expression "iVar9 * 2" (identifier "iVar9") (* "*") (number_literal "2"))) () ")")))) (!= "!=") (identifier "iVar9")) (|| "||") (parenthesized_expression "(iVar9 == 1)" (( "(") (binary_expression "iVar9 == 1" (identifier "iVar9") (== "==") (number_literal "1")) () ")"))) () ")")) () ")")) (compound_statement "{\n            iVar9 = iVar9 + 1;\n            if (iVar12 == iVar9) goto LAB_00191bad;\n          }" ({ "{") (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" (identifier "iVar9") (= "=") (binary_expression "iVar9 + 1" (identifier "iVar9") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (iVar12 == iVar9) goto LAB_00191bad;" (if "if") (parenthesized_expression "(iVar12 == iVar9)" (( "(") (binary_expression "iVar12 == iVar9" (identifier "iVar12") (== "==") (identifier "iVar9")) () ")")) (goto_statement "goto LAB_00191bad;" (goto "goto") (statement_identifier "LAB_00191bad") (; ";"))) (} "}"))) (if_statement "if (uVar5 == 5) goto LAB_00191bc8;" (if "if") (parenthesized_expression "(uVar5 == 5)" (( "(") (binary_expression "uVar5 == 5" (identifier "uVar5") (== "==") (number_literal "5")) () ")")) (goto_statement "goto LAB_00191bc8;" (goto "goto") (statement_identifier "LAB_00191bc8") (; ";"))) (expression_statement "uVar8 = uVar5 + 1;" (assignment_expression "uVar8 = uVar5 + 1" (identifier "uVar8") (= "=") (binary_expression "uVar5 + 1" (identifier "uVar5") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_30[uVar5] = *(undefined4 *)(unaff_EBP + 0x1f3a5a + iVar9 * 4);" (assignment_expression "local_30[uVar5] = *(undefined4 *)(unaff_EBP + 0x1f3a5a + iVar9 * 4)" (subscript_expression "local_30[uVar5]" (identifier "local_30") ([ "[") (identifier "uVar5") (] "]")) (= "=") (pointer_expression "*(undefined4 *)(unaff_EBP + 0x1f3a5a + iVar9 * 4)" (* "*") (cast_expression "(undefined4 *)(unaff_EBP + 0x1f3a5a + iVar9 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x1f3a5a + iVar9 * 4)" (( "(") (binary_expression "unaff_EBP + 0x1f3a5a + iVar9 * 4" (binary_expression "unaff_EBP + 0x1f3a5a" (identifier "unaff_EBP") (+ "+") (number_literal "0x1f3a5a")) (+ "+") (binary_expression "iVar9 * 4" (identifier "iVar9") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "uVar5 = FUN_00191a20();" (assignment_expression "uVar5 = FUN_00191a20()" (identifier "uVar5") (= "=") (call_expression "FUN_00191a20()" (identifier "FUN_00191a20") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "bVar13 = CARRY4(uVar5,local_50);" (assignment_expression "bVar13 = CARRY4(uVar5,local_50)" (identifier "bVar13") (= "=") (call_expression "CARRY4(uVar5,local_50)" (identifier "CARRY4") (argument_list "(uVar5,local_50)" (( "(") (identifier "uVar5") (, ",") (identifier "local_50") () ")")))) (; ";")) (expression_statement "local_50 = uVar5 + local_50;" (assignment_expression "local_50 = uVar5 + local_50" (identifier "local_50") (= "=") (binary_expression "uVar5 + local_50" (identifier "uVar5") (+ "+") (identifier "local_50"))) (; ";")) (if_statement "if (bVar13) {\n            return 2;\n          }" (if "if") (parenthesized_expression "(bVar13)" (( "(") (identifier "bVar13") () ")")) (compound_statement "{\n            return 2;\n          }" ({ "{") (return_statement "return 2;" (return "return") (number_literal "2") (; ";")) (} "}"))) (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" (identifier "iVar9") (= "=") (binary_expression "iVar9 + 1" (identifier "iVar9") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar5 = uVar8;" (assignment_expression "uVar5 = uVar8" (identifier "uVar5") (= "=") (identifier "uVar8")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar12 != iVar9)" (( "(") (binary_expression "iVar12 != iVar9" (identifier "iVar12") (!= "!=") (identifier "iVar9")) () ")")) (; ";")) (labeled_statement "LAB_00191bad:\n        if (uVar5 < 6) {\n                    \n                    \n          uVar6 = (*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a))();\n          return uVar6;\n        }" (statement_identifier "LAB_00191bad") (: ":") (if_statement "if (uVar5 < 6) {\n                    \n                    \n          uVar6 = (*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a))();\n          return uVar6;\n        }" (if "if") (parenthesized_expression "(uVar5 < 6)" (( "(") (binary_expression "uVar5 < 6" (identifier "uVar5") (< "<") (number_literal "6")) () ")")) (compound_statement "{\n                    \n                    \n          uVar6 = (*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a))();\n          return uVar6;\n        }" ({ "{") (expression_statement "uVar6 = (*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a))();" (assignment_expression "uVar6 = (*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a))()" (identifier "uVar6") (= "=") (call_expression "(*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a))()" (parenthesized_expression "(*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a))" (( "(") (pointer_expression "*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a)" (* "*") (cast_expression "(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a)" (( "(") (binary_expression "*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a" (binary_expression "*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP" (pointer_expression "*(int *)(unaff_EBP + 0x10945a + uVar5 * 4)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x10945a + uVar5 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x10945a + uVar5 * 4)" (( "(") (binary_expression "unaff_EBP + 0x10945a + uVar5 * 4" (binary_expression "unaff_EBP + 0x10945a" (identifier "unaff_EBP") (+ "+") (number_literal "0x10945a")) (+ "+") (binary_expression "uVar5 * 4" (identifier "uVar5") (* "*") (number_literal "4"))) () ")")))) (+ "+") (identifier "unaff_EBP")) (+ "+") (number_literal "0x1fd53a")) () ")")))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (return_statement "return uVar6;" (return "return") (identifier "uVar6") (; ";")) (} "}")))) (expression_statement "uVar8 = strlen((char *)0x0);" (assignment_expression "uVar8 = strlen((char *)0x0)" (identifier "uVar8") (= "=") (call_expression "strlen((char *)0x0)" (identifier "strlen") (argument_list "((char *)0x0)" (( "(") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) () ")")))) (; ";")) (expression_statement "local_48 = local_50;" (assignment_expression "local_48 = local_50" (identifier "local_48") (= "=") (identifier "local_50")) (; ";")) (expression_statement "pcVar10 = (char *)0x0;" (assignment_expression "pcVar10 = (char *)0x0" (identifier "pcVar10") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_00191bd8;" (goto "goto") (statement_identifier "LAB_00191bd8") (; ";")) (} "}"))) (} "}"))) (labeled_statement "LAB_00191bc8:\n    uVar8 = 0x1b;" (statement_identifier "LAB_00191bc8") (: ":") (expression_statement "uVar8 = 0x1b;" (assignment_expression "uVar8 = 0x1b" (identifier "uVar8") (= "=") (number_literal "0x1b")) (; ";"))) (expression_statement "uVar5 = 1;" (assignment_expression "uVar5 = 1" (identifier "uVar5") (= "=") (number_literal "1")) (; ";")) (expression_statement "pcVar10 = (char *)(unaff_EBP + 0x108e01);" (assignment_expression "pcVar10 = (char *)(unaff_EBP + 0x108e01)" (identifier "pcVar10") (= "=") (cast_expression "(char *)(unaff_EBP + 0x108e01)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x108e01)" (( "(") (binary_expression "unaff_EBP + 0x108e01" (identifier "unaff_EBP") (+ "+") (number_literal "0x108e01")) () ")")))) (; ";")) (} "}")))) (labeled_statement "LAB_00191bd8:\n  uVar7 = uVar8 + local_48;" (statement_identifier "LAB_00191bd8") (: ":") (expression_statement "uVar7 = uVar8 + local_48;" (assignment_expression "uVar7 = uVar8 + local_48" (identifier "uVar7") (= "=") (binary_expression "uVar8 + local_48" (identifier "uVar8") (+ "+") (identifier "local_48"))) (; ";"))) (if_statement "if (CARRY4(uVar8,local_48)) {\n    return 2;\n  }" (if "if") (parenthesized_expression "(CARRY4(uVar8,local_48))" (( "(") (call_expression "CARRY4(uVar8,local_48)" (identifier "CARRY4") (argument_list "(uVar8,local_48)" (( "(") (identifier "uVar8") (, ",") (identifier "local_48") () ")"))) () ")")) (compound_statement "{\n    return 2;\n  }" ({ "{") (return_statement "return 2;" (return "return") (number_literal "2") (; ";")) (} "}"))) (if_statement "if (uVar7 <= *puVar3) {\n    iVar4 = 0;\n    pcVar11 = (char *)*(undefined4 *)((ulonglong)uVar14 >> 0x20);\n    cVar1 = *pcVar10;\n    do {\n      *pcVar11 = cVar1;\n      cVar2 = cVar1;\n      if (cVar1 == '\0') {\n        return 0;\n      }\n      while (((cVar1 = pcVar10[1], cVar2 == '%' && (cVar1 == 's')) && (iVar4 < (int)uVar5))) {\n        iVar4 = iVar4 + 1;\n        pcVar10 = pcVar10 + 2;\n        iVar9 = FUN_00191a20();\n        pcVar11 = pcVar11 + iVar9;\n        cVar2 = *pcVar10;\n        *pcVar11 = cVar2;\n        if (cVar2 == '\0') {\n          return 0;\n        }\n      }\n      pcVar11 = pcVar11 + 1;\n      pcVar10 = pcVar10 + 1;\n    } while( true );\n  }" (if "if") (parenthesized_expression "(uVar7 <= *puVar3)" (( "(") (binary_expression "uVar7 <= *puVar3" (identifier "uVar7") (<= "<=") (pointer_expression "*puVar3" (* "*") (identifier "puVar3"))) () ")")) (compound_statement "{\n    iVar4 = 0;\n    pcVar11 = (char *)*(undefined4 *)((ulonglong)uVar14 >> 0x20);\n    cVar1 = *pcVar10;\n    do {\n      *pcVar11 = cVar1;\n      cVar2 = cVar1;\n      if (cVar1 == '\0') {\n        return 0;\n      }\n      while (((cVar1 = pcVar10[1], cVar2 == '%' && (cVar1 == 's')) && (iVar4 < (int)uVar5))) {\n        iVar4 = iVar4 + 1;\n        pcVar10 = pcVar10 + 2;\n        iVar9 = FUN_00191a20();\n        pcVar11 = pcVar11 + iVar9;\n        cVar2 = *pcVar10;\n        *pcVar11 = cVar2;\n        if (cVar2 == '\0') {\n          return 0;\n        }\n      }\n      pcVar11 = pcVar11 + 1;\n      pcVar10 = pcVar10 + 1;\n    } while( true );\n  }" ({ "{") (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" (identifier "iVar4") (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar11 = (char *)*(undefined4 *)((ulonglong)uVar14 >> 0x20);" (assignment_expression "pcVar11 = (char *)*(undefined4 *)((ulonglong)uVar14 >> 0x20)" (identifier "pcVar11") (= "=") (cast_expression "(char *)*(undefined4 *)((ulonglong)uVar14 >> 0x20)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*(undefined4 *)((ulonglong)uVar14 >> 0x20)" (* "*") (cast_expression "(undefined4 *)((ulonglong)uVar14 >> 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulonglong)uVar14 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar14 >> 0x20" (cast_expression "(ulonglong)uVar14" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar14")) (>> ">>") (number_literal "0x20")) () ")")))))) (; ";")) (expression_statement "cVar1 = *pcVar10;" (assignment_expression "cVar1 = *pcVar10" (identifier "cVar1") (= "=") (pointer_expression "*pcVar10" (* "*") (identifier "pcVar10"))) (; ";")) (do_statement "do {\n      *pcVar11 = cVar1;\n      cVar2 = cVar1;\n      if (cVar1 == '\0') {\n        return 0;\n      }\n      while (((cVar1 = pcVar10[1], cVar2 == '%' && (cVar1 == 's')) && (iVar4 < (int)uVar5))) {\n        iVar4 = iVar4 + 1;\n        pcVar10 = pcVar10 + 2;\n        iVar9 = FUN_00191a20();\n        pcVar11 = pcVar11 + iVar9;\n        cVar2 = *pcVar10;\n        *pcVar11 = cVar2;\n        if (cVar2 == '\0') {\n          return 0;\n        }\n      }\n      pcVar11 = pcVar11 + 1;\n      pcVar10 = pcVar10 + 1;\n    } while( true );" (do "do") (compound_statement "{\n      *pcVar11 = cVar1;\n      cVar2 = cVar1;\n      if (cVar1 == '\0') {\n        return 0;\n      }\n      while (((cVar1 = pcVar10[1], cVar2 == '%' && (cVar1 == 's')) && (iVar4 < (int)uVar5))) {\n        iVar4 = iVar4 + 1;\n        pcVar10 = pcVar10 + 2;\n        iVar9 = FUN_00191a20();\n        pcVar11 = pcVar11 + iVar9;\n        cVar2 = *pcVar10;\n        *pcVar11 = cVar2;\n        if (cVar2 == '\0') {\n          return 0;\n        }\n      }\n      pcVar11 = pcVar11 + 1;\n      pcVar10 = pcVar10 + 1;\n    }" ({ "{") (expression_statement "*pcVar11 = cVar1;" (assignment_expression "*pcVar11 = cVar1" (pointer_expression "*pcVar11" (* "*") (identifier "pcVar11")) (= "=") (identifier "cVar1")) (; ";")) (expression_statement "cVar2 = cVar1;" (assignment_expression "cVar2 = cVar1" (identifier "cVar2") (= "=") (identifier "cVar1")) (; ";")) (if_statement "if (cVar1 == '\0') {\n        return 0;\n      }" (if "if") (parenthesized_expression "(cVar1 == '\0')" (( "(") (binary_expression "cVar1 == '\0'" (identifier "cVar1") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        return 0;\n      }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (while_statement "while (((cVar1 = pcVar10[1], cVar2 == '%' && (cVar1 == 's')) && (iVar4 < (int)uVar5))) {\n        iVar4 = iVar4 + 1;\n        pcVar10 = pcVar10 + 2;\n        iVar9 = FUN_00191a20();\n        pcVar11 = pcVar11 + iVar9;\n        cVar2 = *pcVar10;\n        *pcVar11 = cVar2;\n        if (cVar2 == '\0') {\n          return 0;\n        }\n      }" (while "while") (parenthesized_expression "(((cVar1 = pcVar10[1], cVar2 == '%' && (cVar1 == 's')) && (iVar4 < (int)uVar5)))" (( "(") (parenthesized_expression "((cVar1 = pcVar10[1], cVar2 == '%' && (cVar1 == 's')) && (iVar4 < (int)uVar5))" (( "(") (binary_expression "(cVar1 = pcVar10[1], cVar2 == '%' && (cVar1 == 's')) && (iVar4 < (int)uVar5)" (parenthesized_expression "(cVar1 = pcVar10[1], cVar2 == '%' && (cVar1 == 's'))" (( "(") (comma_expression "cVar1 = pcVar10[1], cVar2 == '%' && (cVar1 == 's')" (assignment_expression "cVar1 = pcVar10[1]" (identifier "cVar1") (= "=") (subscript_expression "pcVar10[1]" (identifier "pcVar10") ([ "[") (number_literal "1") (] "]"))) (, ",") (binary_expression "cVar2 == '%' && (cVar1 == 's')" (binary_expression "cVar2 == '%'" (identifier "cVar2") (== "==") (char_literal "'%'" (' "'") (character "%") (' "'"))) (&& "&&") (parenthesized_expression "(cVar1 == 's')" (( "(") (binary_expression "cVar1 == 's'" (identifier "cVar1") (== "==") (char_literal "'s'" (' "'") (character "s") (' "'"))) () ")")))) () ")")) (&& "&&") (parenthesized_expression "(iVar4 < (int)uVar5)" (( "(") (binary_expression "iVar4 < (int)uVar5" (identifier "iVar4") (< "<") (cast_expression "(int)uVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar5"))) () ")"))) () ")")) () ")")) (compound_statement "{\n        iVar4 = iVar4 + 1;\n        pcVar10 = pcVar10 + 2;\n        iVar9 = FUN_00191a20();\n        pcVar11 = pcVar11 + iVar9;\n        cVar2 = *pcVar10;\n        *pcVar11 = cVar2;\n        if (cVar2 == '\0') {\n          return 0;\n        }\n      }" ({ "{") (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" (identifier "iVar4") (= "=") (binary_expression "iVar4 + 1" (identifier "iVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar10 = pcVar10 + 2;" (assignment_expression "pcVar10 = pcVar10 + 2" (identifier "pcVar10") (= "=") (binary_expression "pcVar10 + 2" (identifier "pcVar10") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "iVar9 = FUN_00191a20();" (assignment_expression "iVar9 = FUN_00191a20()" (identifier "iVar9") (= "=") (call_expression "FUN_00191a20()" (identifier "FUN_00191a20") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "pcVar11 = pcVar11 + iVar9;" (assignment_expression "pcVar11 = pcVar11 + iVar9" (identifier "pcVar11") (= "=") (binary_expression "pcVar11 + iVar9" (identifier "pcVar11") (+ "+") (identifier "iVar9"))) (; ";")) (expression_statement "cVar2 = *pcVar10;" (assignment_expression "cVar2 = *pcVar10" (identifier "cVar2") (= "=") (pointer_expression "*pcVar10" (* "*") (identifier "pcVar10"))) (; ";")) (expression_statement "*pcVar11 = cVar2;" (assignment_expression "*pcVar11 = cVar2" (pointer_expression "*pcVar11" (* "*") (identifier "pcVar11")) (= "=") (identifier "cVar2")) (; ";")) (if_statement "if (cVar2 == '\0') {\n          return 0;\n        }" (if "if") (parenthesized_expression "(cVar2 == '\0')" (( "(") (binary_expression "cVar2 == '\0'" (identifier "cVar2") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          return 0;\n        }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (} "}"))) (expression_statement "pcVar11 = pcVar11 + 1;" (assignment_expression "pcVar11 = pcVar11 + 1" (identifier "pcVar11") (= "=") (binary_expression "pcVar11 + 1" (identifier "pcVar11") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar10 = pcVar10 + 1;" (assignment_expression "pcVar10 = pcVar10 + 1" (identifier "pcVar10") (= "=") (binary_expression "pcVar10 + 1" (identifier "pcVar10") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (if_statement "if (uVar7 <= uVar7 * 2) {\n    *puVar3 = uVar7 * 2;\n    return 1;\n  }" (if "if") (parenthesized_expression "(uVar7 <= uVar7 * 2)" (( "(") (binary_expression "uVar7 <= uVar7 * 2" (identifier "uVar7") (<= "<=") (binary_expression "uVar7 * 2" (identifier "uVar7") (* "*") (number_literal "2"))) () ")")) (compound_statement "{\n    *puVar3 = uVar7 * 2;\n    return 1;\n  }" ({ "{") (expression_statement "*puVar3 = uVar7 * 2;" (assignment_expression "*puVar3 = uVar7 * 2" (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) (= "=") (binary_expression "uVar7 * 2" (identifier "uVar7") (* "*") (number_literal "2"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "*puVar3 = 0xffffffff;" (assignment_expression "*puVar3 = 0xffffffff" (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) (= "=") (number_literal "0xffffffff")) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bp replaced with injection: get_pc_thunk.bp */

int __regparm3 function_1(type_1 *yymsg_alloc,char **yymsg,type_2 *yyssp,int var_2)

{
  int iVar1;
  char **ppcVar2;
  char var_13;
  char var_14;
  int var_3;
  type_1 var_8;
  type_1 var_12;
  int var_5;
  char *var_16;
  char *var_17;
  int var_4;
  int var_6;
  bool bVar12;
  type_1 var_9;
  type_1 var_11;
  char *var_15 [5];
  
  var_16 = yytname[var_2];
  var_11 = var_1((char *)0x0,var_16);
  if (var_2 == -2) {
    var_8 = 0xc;
    var_6 = 0;
    var_16 = "syntax error";
  }
  else {
    var_15[0] = var_16;
    var_3 = (int)yypact[*yyssp];
    if (var_3 != -0x1a7) {
      var_5 = -var_3;
      if (-1 < var_3) {
        var_5 = 0;
      }
      var_4 = 0x5ba - var_3;
      if (0x82 < var_4) {
        var_4 = 0x82;
      }
      if (var_5 < var_4) {
        var_6 = 1;
        var_9 = var_11;
        do {
          while ((yycheck[var_3 + var_5] == var_5 && (var_5 != 1))) {
            if (var_6 == 5) goto LAB_00191bc8;
            iVar1 = var_6 + 1;
            var_16 = yytname[var_5];
            var_15[var_6] = var_16;
            var_8 = var_1((char *)0x0,var_16);
            bVar12 = var_7(var_8,var_9);
            var_9 = var_8 + var_9;
            if (bVar12) {
              return 2;
            }
            var_5 = var_5 + 1;
            var_6 = iVar1;
            if (var_4 == var_5) goto LAB_00191bad;
          }
          var_5 = var_5 + 1;
        } while (var_4 != var_5);
LAB_00191bad:
        switch(var_6) {
        default:
          var_8 = var_10((char *)0x0);
          var_11 = var_9;
          var_16 = (char *)0x0;
          break;
        case 1:
          var_16 = "syntax error, unexpected %s";
          var_11 = var_9;
          var_8 = 0x1b;
          break;
        case 2:
          var_16 = "syntax error, unexpected %s, expecting %s";
          var_11 = var_9;
          var_8 = 0x29;
          break;
        case 3:
          var_16 = "syntax error, unexpected %s, expecting %s or %s";
          var_11 = var_9;
          var_8 = 0x2f;
          break;
        case 4:
          var_16 = "syntax error, unexpected %s, expecting %s or %s or %s";
          var_11 = var_9;
          var_8 = 0x35;
          break;
        case 5:
          var_16 = "syntax error, unexpected %s, expecting %s or %s or %s or %s";
          var_11 = var_9;
          var_8 = 0x3b;
        }
        goto LAB_00191bd8;
      }
    }
LAB_00191bc8:
    var_8 = 0x1b;
    var_6 = 1;
    var_16 = "syntax error, unexpected %s";
  }
LAB_00191bd8:
  var_12 = var_8 + var_11;
  if (var_7(var_8,var_11)) {
    return 2;
  }
  if (var_12 <= *yymsg_alloc) {
    var_3 = 0;
    var_17 = *yymsg;
    var_13 = *var_16;
    do {
      *var_17 = var_13;
      var_14 = var_13;
      if (var_13 == '\0') {
        return 0;
      }
      while (((var_13 = var_16[1], var_14 == '%' && (var_13 == 's')) && (var_3 < var_6))) {
        ppcVar2 = var_15 + var_3;
        var_3 = var_3 + 1;
        var_16 = var_16 + 2;
        var_8 = var_1(var_17,*ppcVar2);
        var_17 = var_17 + var_8;
        var_14 = *var_16;
        *var_17 = var_14;
        if (var_14 == '\0') {
          return 0;
        }
      }
      var_17 = var_17 + 1;
      var_16 = var_16 + 1;
    } while( true );
  }
  if (var_12 <= var_12 * 2) {
    *yymsg_alloc = var_12 * 2;
    return 1;
  }
  *yymsg_alloc = 0xffffffff;
  return 1;
}


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

undefined4 MASKED(int param_1)

{
  char cVar1;
  char cVar2;
  uint *puVar3;
  int iVar4;
  uint uVar5;
  undefined4 uVar6;
  uint uVar7;
  uint uVar8;
  short *extraout_ECX;
  int iVar9;
  char *pcVar10;
  int unaff_EBP;
  char *pcVar11;
  int iVar12;
  bool bVar13;
  undefined8 uVar14;
  uint local_50;
  uint local_48;
  undefined4 local_30 [8];
  
  uVar14 = FUN_000559f2();
  puVar3 = (uint *)uVar14;
  uVar6 = *(undefined4 *)(unaff_EBP + 0x1f3a5a + param_1 * 4);
  local_48 = FUN_00191a20();
  if (param_1 == -2) {
    uVar8 = 0xc;
    uVar5 = 0;
    pcVar10 = (char *)(unaff_EBP + 0x108e23);
  }
  else {
    iVar4 = (int)*(short *)(unaff_EBP + 0x10b49a + *extraout_ECX * 2);
    local_30[0] = uVar6;
    if (iVar4 != -0x1a7) {
      iVar9 = -iVar4;
      if (-1 < iVar4) {
        iVar9 = 0;
      }
      iVar12 = 0x5ba - iVar4;
      if (0x82 < iVar12) {
        iVar12 = 0x82;
      }
      if (iVar9 < iVar12) {
        uVar5 = 1;
        local_50 = local_48;
        do {
          while ((*(short *)(unaff_EBP + 0x109a1a + iVar4 * 2 + iVar9 * 2) != iVar9 || (iVar9 == 1))
                ) {
            iVar9 = iVar9 + 1;
            if (iVar12 == iVar9) goto LAB_00191bad;
          }
          if (uVar5 == 5) goto LAB_00191bc8;
          uVar8 = uVar5 + 1;
          local_30[uVar5] = *(undefined4 *)(unaff_EBP + 0x1f3a5a + iVar9 * 4);
          uVar5 = FUN_00191a20();
          bVar13 = CARRY4(uVar5,local_50);
          local_50 = uVar5 + local_50;
          if (bVar13) {
            return 2;
          }
          iVar9 = iVar9 + 1;
          uVar5 = uVar8;
        } while (iVar12 != iVar9);
LAB_00191bad:
        if (uVar5 < 6) {
                    /* WARNING: Could not recover jumptable at 0x00191bc1. Too many branches */
                    /* WARNING: Treating indirect jump as call */
          uVar6 = (*(code *)(*(int *)(unaff_EBP + 0x10945a + uVar5 * 4) + unaff_EBP + 0x1fd53a))();
          return uVar6;
        }
        uVar8 = strlen((char *)0x0);
        local_48 = local_50;
        pcVar10 = (char *)0x0;
        goto LAB_00191bd8;
      }
    }
LAB_00191bc8:
    uVar8 = 0x1b;
    uVar5 = 1;
    pcVar10 = (char *)(unaff_EBP + 0x108e01);
  }
LAB_00191bd8:
  uVar7 = uVar8 + local_48;
  if (CARRY4(uVar8,local_48)) {
    return 2;
  }
  if (uVar7 <= *puVar3) {
    iVar4 = 0;
    pcVar11 = (char *)*(undefined4 *)((ulonglong)uVar14 >> 0x20);
    cVar1 = *pcVar10;
    do {
      *pcVar11 = cVar1;
      cVar2 = cVar1;
      if (cVar1 == '\0') {
        return 0;
      }
      while (((cVar1 = pcVar10[1], cVar2 == '%' && (cVar1 == 's')) && (iVar4 < (int)uVar5))) {
        iVar4 = iVar4 + 1;
        pcVar10 = pcVar10 + 2;
        iVar9 = FUN_00191a20();
        pcVar11 = pcVar11 + iVar9;
        cVar2 = *pcVar10;
        *pcVar11 = cVar2;
        if (cVar2 == '\0') {
          return 0;
        }
      }
      pcVar11 = pcVar11 + 1;
      pcVar10 = pcVar10 + 1;
    } while( true );
  }
  if (uVar7 <= uVar7 * 2) {
    *puVar3 = uVar7 * 2;
    return 1;
  }
  *puVar3 = 0xffffffff;
  return 1;
}

