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

uint next_char_of_string(void)

{
  byte bVar1;
  ushort uVar2;
  byte *pbVar3;
  char *pcVar4;
  int iVar5;
  uint uVar6;
  uint uVar7;
  int iVar8;
  byte *local_28;
  byte local_22;
  
  pcVar4 = input_line_pointer;
  local_28 = (byte *)(input_line_pointer + 1);
  input_line_pointer = (char *)local_28;
  uVar7 = (uint)(byte)*pcVar4;
  if (uVar7 != 10) {
    if (uVar7 < 0xb) {
      input_line_pointer = (char *)local_28;
      if (uVar7 == 0) {
        uVar7 = 0x100;
        input_line_pointer = pcVar4;
      }
    }
    else {
      if (uVar7 == 0x22) {
        return 0x100;
      }
      input_line_pointer = (char *)local_28;
      if (uVar7 == 0x5c) {
        input_line_pointer = pcVar4 + 2;
        uVar7 = (uint)(byte)pcVar4[1];
        switch(uVar7) {
        case 0:
          uVar7 = 0x100;
          input_line_pointer = (char *)local_28;
          break;
        case 10:
          goto _L1361;
        case 0x30:
        case 0x31:
        case 0x32:
        case 0x33:
        case 0x34:
        case 0x35:
        case 0x36:
        case 0x37:
        case 0x38:
        case 0x39:
          uVar6 = 0;
          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {
            uVar7 = 0;
          }
          else {
            do {
              local_28 = (byte *)input_line_pointer;
              uVar6 = (uVar7 - 0x30) + uVar6 * 8;
              uVar7 = (uint)(char)*local_28;
              local_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);
              input_line_pointer = (char *)(local_28 + 1);
            } while ((local_22 & local_28 + 1 + (-2 - (int)pcVar4) != (byte *)0x3) != 0);
            uVar7 = uVar6 & 0xff;
          }
          input_line_pointer = (char *)local_28;
          break;
        case 0x58:
        case 0x78:
          bVar1 = pcVar4[2];
          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);
          if ((uVar2 & 0x100) == 0) {
            uVar7 = 0;
          }
          else {
            uVar7 = 0;
            pbVar3 = (byte *)(pcVar4 + 3);
            do {
              input_line_pointer = (char *)pbVar3;
              iVar5 = (int)(char)bVar1;
              iVar8 = uVar7 * 0x10;
              uVar7 = iVar5 + -0x30 + iVar8;
              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {
                uVar7 = iVar5 + -0x37 + iVar8;
              }
              bVar1 = *input_line_pointer;
              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);
              pbVar3 = (byte *)input_line_pointer + 1;
            } while ((uVar2 & 0x100) != 0);
            uVar7 = uVar7 & 0xff;
          }
          break;
        case 0x62:
          uVar7 = 8;
          break;
        case 0x66:
          uVar7 = 0xc;
          break;
        case 0x6e:
          uVar7 = 10;
          break;
        case 0x72:
          uVar7 = 0xd;
          break;
        case 0x74:
          uVar7 = 9;
          break;
        case 0x76:
          uVar7 = 0xb;
        }
      }
    }
    return uVar7;
  }
_L1361:
  pcVar4 = (char *)dcgettext(0,"unterminated string; newline inserted",5);
  as_warn(pcVar4);
  bump_line_counters();
  return uVar7;
}



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

uint FUN_000303d0(void)

{
  byte bVar1;
  ushort uVar2;
  byte *pbVar3;
  undefined4 uVar4;
  int iVar5;
  uint uVar6;
  uint uVar7;
  int iVar8;
  byte *local_28;
  byte bStack_22;
  
  pbVar3 = DAT_0007cf30;
  local_28 = DAT_0007cf30 + 1;
  DAT_0007cf30 = local_28;
  uVar7 = (uint)*pbVar3;
  if (uVar7 != 10) {
    if (uVar7 < 0xb) {
      DAT_0007cf30 = local_28;
      if (uVar7 == 0) {
        uVar7 = 0x100;
        DAT_0007cf30 = pbVar3;
      }
    }
    else {
      if (uVar7 == 0x22) {
        return 0x100;
      }
      DAT_0007cf30 = local_28;
      if (uVar7 == 0x5c) {
        DAT_0007cf30 = pbVar3 + 2;
        uVar7 = (uint)pbVar3[1];
        switch(uVar7) {
        case 0:
          uVar7 = 0x100;
          DAT_0007cf30 = local_28;
          break;
        case 10:
          goto LAB_00030450;
        case 0x30:
        case 0x31:
        case 0x32:
        case 0x33:
        case 0x34:
        case 0x35:
        case 0x36:
        case 0x37:
        case 0x38:
        case 0x39:
          uVar6 = 0;
          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {
            uVar7 = 0;
          }
          else {
            do {
              local_28 = DAT_0007cf30;
              uVar6 = (uVar7 - 0x30) + uVar6 * 8;
              uVar7 = (uint)(char)*local_28;
              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);
              DAT_0007cf30 = local_28 + 1;
            } while ((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0);
            uVar7 = uVar6 & 0xff;
          }
          DAT_0007cf30 = local_28;
          break;
        case 0x58:
        case 0x78:
          bVar1 = pbVar3[2];
          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);
          if ((uVar2 & 0x100) == 0) {
            uVar7 = 0;
          }
          else {
            uVar7 = 0;
            pbVar3 = pbVar3 + 3;
            do {
              DAT_0007cf30 = pbVar3;
              iVar5 = (int)(char)bVar1;
              iVar8 = uVar7 * 0x10;
              uVar7 = iVar5 + -0x30 + iVar8;
              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {
                uVar7 = iVar5 + -0x37 + iVar8;
              }
              bVar1 = *DAT_0007cf30;
              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);
              pbVar3 = DAT_0007cf30 + 1;
            } while ((uVar2 & 0x100) != 0);
            uVar7 = uVar7 & 0xff;
          }
          break;
        case 0x62:
          uVar7 = 8;
          break;
        case 0x66:
          uVar7 = 0xc;
          break;
        case 0x6e:
          uVar7 = 10;
          break;
        case 0x72:
          uVar7 = 0xd;
          break;
        case 0x74:
          uVar7 = 9;
          break;
        case 0x76:
          uVar7 = 0xb;
        }
      }
    }
    return uVar7;
  }
LAB_00030450:
  uVar4 = dcgettext(0,"unterminated string; newline inserted",5);
  FUN_0002a6d0(uVar4);
  FUN_00024e50();
  return uVar7;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00016030
ADD EBX,0x43c27
SUB ESP,0x1c
LEA EAX,[EBX + 0x8f30]
MOV EDX,dword ptr [EAX]
LEA ECX,[EDX + 0x1]
MOV dword ptr [EAX],ECX
MOVZX ESI,byte ptr [EDX]
CMP ESI,0xa
JZ 0x00030450
JBE 0x00030420
CMP ESI,0x22
JZ 0x00030438
CMP ESI,0x5c
JNZ 0x0003042b
LEA EDI,[EDX + 0x2]
MOV dword ptr [EAX],EDI
MOVZX ESI,byte ptr [EDX + 0x1]
MOV dword ptr [ESP + 0x4],EDI
CMP ESI,0x78
JA 0x0003042b
MOV EBP,dword ptr [EBX + ESI*0x4 + 0xfffe07e8]
ADD EBP,EBX
JMP EBP
TEST ESI,ESI
JNZ 0x0003042b
MOV dword ptr [EAX],EDX
MOV ESI,0x100
ADD ESP,0x1c
MOV EAX,ESI
POP EBX
POP ESI
POP EDI
POP EBP
RET
ADD ESP,0x1c
MOV ESI,0x100
POP EBX
MOV EAX,ESI
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0x4
LEA EAX,[EBX + 0xfffdfd84]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000141a0
MOV dword ptr [ESP],EAX
CALL 0x0002a6d0
CALL 0x00024e50
ADD ESP,0x10
MOV EAX,ESI
ADD ESP,0x1c
POP EBX
POP ESI
POP EDI
POP EBP
RET
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nuint FUN_000303d0(void)\n\n{\n  byte bVar1;\n  ushort uVar2;\n  byte *pbVar3;\n  undefined4 uVar4;\n  int iVar5;\n  uint uVar6;\n  uint uVar7;\n  int iVar8;\n  byte *local_28;\n  byte bStack_22;\n  \n  pbVar3 = DAT_0007cf30;\n  local_28 = DAT_0007cf30 + 1;\n  DAT_0007cf30 = local_28;\n  uVar7 = (uint)*pbVar3;\n  if (uVar7 != 10) {\n    if (uVar7 < 0xb) {\n      DAT_0007cf30 = local_28;\n      if (uVar7 == 0) {\n        uVar7 = 0x100;\n        DAT_0007cf30 = pbVar3;\n      }\n    }\n    else {\n      if (uVar7 == 0x22) {\n        return 0x100;\n      }\n      DAT_0007cf30 = local_28;\n      if (uVar7 == 0x5c) {\n        DAT_0007cf30 = pbVar3 + 2;\n        uVar7 = (uint)pbVar3[1];\n        switch(uVar7) {\n        case 0:\n          uVar7 = 0x100;\n          DAT_0007cf30 = local_28;\n          break;\n        case 10:\n          goto LAB_00030450;\n        case 0x30:\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          uVar6 = 0;\n          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = DAT_0007cf30;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              DAT_0007cf30 = local_28 + 1;\n            } while ((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }\n          DAT_0007cf30 = local_28;\n          break;\n        case 0x58:\n        case 0x78:\n          bVar1 = pbVar3[2];\n          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n          if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = pbVar3 + 3;\n            do {\n              DAT_0007cf30 = pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *DAT_0007cf30;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = DAT_0007cf30 + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }\n          break;\n        case 0x62:\n          uVar7 = 8;\n          break;\n        case 0x66:\n          uVar7 = 0xc;\n          break;\n        case 0x6e:\n          uVar7 = 10;\n          break;\n        case 0x72:\n          uVar7 = 0xd;\n          break;\n        case 0x74:\n          uVar7 = 9;\n          break;\n        case 0x76:\n          uVar7 = 0xb;\n        }\n      }\n    }\n    return uVar7;\n  }\nLAB_00030450:\n  uVar4 = dcgettext(0,"unterminated string; newline inserted",5);\n  FUN_0002a6d0(uVar4);\n  FUN_00024e50();\n  return uVar7;\n}\n\n" comment (function_definition "uint FUN_000303d0(void)\n\n{\n  byte bVar1;\n  ushort uVar2;\n  byte *pbVar3;\n  undefined4 uVar4;\n  int iVar5;\n  uint uVar6;\n  uint uVar7;\n  int iVar8;\n  byte *local_28;\n  byte bStack_22;\n  \n  pbVar3 = DAT_0007cf30;\n  local_28 = DAT_0007cf30 + 1;\n  DAT_0007cf30 = local_28;\n  uVar7 = (uint)*pbVar3;\n  if (uVar7 != 10) {\n    if (uVar7 < 0xb) {\n      DAT_0007cf30 = local_28;\n      if (uVar7 == 0) {\n        uVar7 = 0x100;\n        DAT_0007cf30 = pbVar3;\n      }\n    }\n    else {\n      if (uVar7 == 0x22) {\n        return 0x100;\n      }\n      DAT_0007cf30 = local_28;\n      if (uVar7 == 0x5c) {\n        DAT_0007cf30 = pbVar3 + 2;\n        uVar7 = (uint)pbVar3[1];\n        switch(uVar7) {\n        case 0:\n          uVar7 = 0x100;\n          DAT_0007cf30 = local_28;\n          break;\n        case 10:\n          goto LAB_00030450;\n        case 0x30:\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          uVar6 = 0;\n          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = DAT_0007cf30;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              DAT_0007cf30 = local_28 + 1;\n            } while ((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }\n          DAT_0007cf30 = local_28;\n          break;\n        case 0x58:\n        case 0x78:\n          bVar1 = pbVar3[2];\n          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n          if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = pbVar3 + 3;\n            do {\n              DAT_0007cf30 = pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *DAT_0007cf30;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = DAT_0007cf30 + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }\n          break;\n        case 0x62:\n          uVar7 = 8;\n          break;\n        case 0x66:\n          uVar7 = 0xc;\n          break;\n        case 0x6e:\n          uVar7 = 10;\n          break;\n        case 0x72:\n          uVar7 = 0xd;\n          break;\n        case 0x74:\n          uVar7 = 9;\n          break;\n        case 0x76:\n          uVar7 = 0xb;\n        }\n      }\n    }\n    return uVar7;\n  }\nLAB_00030450:\n  uVar4 = dcgettext(0,"unterminated string; newline inserted",5);\n  FUN_0002a6d0(uVar4);\n  FUN_00024e50();\n  return uVar7;\n}" type_identifier (function_declarator "FUN_000303d0(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  byte bVar1;\n  ushort uVar2;\n  byte *pbVar3;\n  undefined4 uVar4;\n  int iVar5;\n  uint uVar6;\n  uint uVar7;\n  int iVar8;\n  byte *local_28;\n  byte bStack_22;\n  \n  pbVar3 = DAT_0007cf30;\n  local_28 = DAT_0007cf30 + 1;\n  DAT_0007cf30 = local_28;\n  uVar7 = (uint)*pbVar3;\n  if (uVar7 != 10) {\n    if (uVar7 < 0xb) {\n      DAT_0007cf30 = local_28;\n      if (uVar7 == 0) {\n        uVar7 = 0x100;\n        DAT_0007cf30 = pbVar3;\n      }\n    }\n    else {\n      if (uVar7 == 0x22) {\n        return 0x100;\n      }\n      DAT_0007cf30 = local_28;\n      if (uVar7 == 0x5c) {\n        DAT_0007cf30 = pbVar3 + 2;\n        uVar7 = (uint)pbVar3[1];\n        switch(uVar7) {\n        case 0:\n          uVar7 = 0x100;\n          DAT_0007cf30 = local_28;\n          break;\n        case 10:\n          goto LAB_00030450;\n        case 0x30:\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          uVar6 = 0;\n          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = DAT_0007cf30;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              DAT_0007cf30 = local_28 + 1;\n            } while ((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }\n          DAT_0007cf30 = local_28;\n          break;\n        case 0x58:\n        case 0x78:\n          bVar1 = pbVar3[2];\n          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n          if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = pbVar3 + 3;\n            do {\n              DAT_0007cf30 = pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *DAT_0007cf30;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = DAT_0007cf30 + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }\n          break;\n        case 0x62:\n          uVar7 = 8;\n          break;\n        case 0x66:\n          uVar7 = 0xc;\n          break;\n        case 0x6e:\n          uVar7 = 10;\n          break;\n        case 0x72:\n          uVar7 = 0xd;\n          break;\n        case 0x74:\n          uVar7 = 9;\n          break;\n        case 0x76:\n          uVar7 = 0xb;\n        }\n      }\n    }\n    return uVar7;\n  }\nLAB_00030450:\n  uVar4 = dcgettext(0,"unterminated string; newline inserted",5);\n  FUN_0002a6d0(uVar4);\n  FUN_00024e50();\n  return uVar7;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "ushort uVar2;" type_identifier identifier ;) (declaration "byte *pbVar3;" type_identifier (pointer_declarator "*pbVar3" * identifier) ;) (declaration "undefined4 uVar4;" type_identifier 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 "byte *local_28;" type_identifier (pointer_declarator "*local_28" * identifier) ;) (declaration "byte bStack_22;" type_identifier identifier ;) (expression_statement "pbVar3 = DAT_0007cf30;" (assignment_expression "pbVar3 = DAT_0007cf30" identifier = identifier) ;) (expression_statement "local_28 = DAT_0007cf30 + 1;" (assignment_expression "local_28 = DAT_0007cf30 + 1" identifier = (binary_expression "DAT_0007cf30 + 1" identifier + number_literal)) ;) (expression_statement "DAT_0007cf30 = local_28;" (assignment_expression "DAT_0007cf30 = local_28" identifier = identifier) ;) (expression_statement "uVar7 = (uint)*pbVar3;" (assignment_expression "uVar7 = (uint)*pbVar3" identifier = (binary_expression "(uint)*pbVar3" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if (uVar7 != 10) {\n    if (uVar7 < 0xb) {\n      DAT_0007cf30 = local_28;\n      if (uVar7 == 0) {\n        uVar7 = 0x100;\n        DAT_0007cf30 = pbVar3;\n      }\n    }\n    else {\n      if (uVar7 == 0x22) {\n        return 0x100;\n      }\n      DAT_0007cf30 = local_28;\n      if (uVar7 == 0x5c) {\n        DAT_0007cf30 = pbVar3 + 2;\n        uVar7 = (uint)pbVar3[1];\n        switch(uVar7) {\n        case 0:\n          uVar7 = 0x100;\n          DAT_0007cf30 = local_28;\n          break;\n        case 10:\n          goto LAB_00030450;\n        case 0x30:\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          uVar6 = 0;\n          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = DAT_0007cf30;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              DAT_0007cf30 = local_28 + 1;\n            } while ((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }\n          DAT_0007cf30 = local_28;\n          break;\n        case 0x58:\n        case 0x78:\n          bVar1 = pbVar3[2];\n          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n          if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = pbVar3 + 3;\n            do {\n              DAT_0007cf30 = pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *DAT_0007cf30;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = DAT_0007cf30 + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }\n          break;\n        case 0x62:\n          uVar7 = 8;\n          break;\n        case 0x66:\n          uVar7 = 0xc;\n          break;\n        case 0x6e:\n          uVar7 = 10;\n          break;\n        case 0x72:\n          uVar7 = 0xd;\n          break;\n        case 0x74:\n          uVar7 = 9;\n          break;\n        case 0x76:\n          uVar7 = 0xb;\n        }\n      }\n    }\n    return uVar7;\n  }" if (parenthesized_expression "(uVar7 != 10)" ( (binary_expression "uVar7 != 10" identifier != number_literal) )) (compound_statement "{\n    if (uVar7 < 0xb) {\n      DAT_0007cf30 = local_28;\n      if (uVar7 == 0) {\n        uVar7 = 0x100;\n        DAT_0007cf30 = pbVar3;\n      }\n    }\n    else {\n      if (uVar7 == 0x22) {\n        return 0x100;\n      }\n      DAT_0007cf30 = local_28;\n      if (uVar7 == 0x5c) {\n        DAT_0007cf30 = pbVar3 + 2;\n        uVar7 = (uint)pbVar3[1];\n        switch(uVar7) {\n        case 0:\n          uVar7 = 0x100;\n          DAT_0007cf30 = local_28;\n          break;\n        case 10:\n          goto LAB_00030450;\n        case 0x30:\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          uVar6 = 0;\n          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = DAT_0007cf30;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              DAT_0007cf30 = local_28 + 1;\n            } while ((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }\n          DAT_0007cf30 = local_28;\n          break;\n        case 0x58:\n        case 0x78:\n          bVar1 = pbVar3[2];\n          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n          if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = pbVar3 + 3;\n            do {\n              DAT_0007cf30 = pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *DAT_0007cf30;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = DAT_0007cf30 + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }\n          break;\n        case 0x62:\n          uVar7 = 8;\n          break;\n        case 0x66:\n          uVar7 = 0xc;\n          break;\n        case 0x6e:\n          uVar7 = 10;\n          break;\n        case 0x72:\n          uVar7 = 0xd;\n          break;\n        case 0x74:\n          uVar7 = 9;\n          break;\n        case 0x76:\n          uVar7 = 0xb;\n        }\n      }\n    }\n    return uVar7;\n  }" { (if_statement "if (uVar7 < 0xb) {\n      DAT_0007cf30 = local_28;\n      if (uVar7 == 0) {\n        uVar7 = 0x100;\n        DAT_0007cf30 = pbVar3;\n      }\n    }\n    else {\n      if (uVar7 == 0x22) {\n        return 0x100;\n      }\n      DAT_0007cf30 = local_28;\n      if (uVar7 == 0x5c) {\n        DAT_0007cf30 = pbVar3 + 2;\n        uVar7 = (uint)pbVar3[1];\n        switch(uVar7) {\n        case 0:\n          uVar7 = 0x100;\n          DAT_0007cf30 = local_28;\n          break;\n        case 10:\n          goto LAB_00030450;\n        case 0x30:\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          uVar6 = 0;\n          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = DAT_0007cf30;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              DAT_0007cf30 = local_28 + 1;\n            } while ((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }\n          DAT_0007cf30 = local_28;\n          break;\n        case 0x58:\n        case 0x78:\n          bVar1 = pbVar3[2];\n          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n          if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = pbVar3 + 3;\n            do {\n              DAT_0007cf30 = pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *DAT_0007cf30;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = DAT_0007cf30 + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }\n          break;\n        case 0x62:\n          uVar7 = 8;\n          break;\n        case 0x66:\n          uVar7 = 0xc;\n          break;\n        case 0x6e:\n          uVar7 = 10;\n          break;\n        case 0x72:\n          uVar7 = 0xd;\n          break;\n        case 0x74:\n          uVar7 = 9;\n          break;\n        case 0x76:\n          uVar7 = 0xb;\n        }\n      }\n    }" if (parenthesized_expression "(uVar7 < 0xb)" ( (binary_expression "uVar7 < 0xb" identifier < number_literal) )) (compound_statement "{\n      DAT_0007cf30 = local_28;\n      if (uVar7 == 0) {\n        uVar7 = 0x100;\n        DAT_0007cf30 = pbVar3;\n      }\n    }" { (expression_statement "DAT_0007cf30 = local_28;" (assignment_expression "DAT_0007cf30 = local_28" identifier = identifier) ;) (if_statement "if (uVar7 == 0) {\n        uVar7 = 0x100;\n        DAT_0007cf30 = pbVar3;\n      }" if (parenthesized_expression "(uVar7 == 0)" ( (binary_expression "uVar7 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar7 = 0x100;\n        DAT_0007cf30 = pbVar3;\n      }" { (expression_statement "uVar7 = 0x100;" (assignment_expression "uVar7 = 0x100" identifier = number_literal) ;) (expression_statement "DAT_0007cf30 = pbVar3;" (assignment_expression "DAT_0007cf30 = pbVar3" identifier = identifier) ;) })) }) (else_clause "else {\n      if (uVar7 == 0x22) {\n        return 0x100;\n      }\n      DAT_0007cf30 = local_28;\n      if (uVar7 == 0x5c) {\n        DAT_0007cf30 = pbVar3 + 2;\n        uVar7 = (uint)pbVar3[1];\n        switch(uVar7) {\n        case 0:\n          uVar7 = 0x100;\n          DAT_0007cf30 = local_28;\n          break;\n        case 10:\n          goto LAB_00030450;\n        case 0x30:\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          uVar6 = 0;\n          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = DAT_0007cf30;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              DAT_0007cf30 = local_28 + 1;\n            } while ((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }\n          DAT_0007cf30 = local_28;\n          break;\n        case 0x58:\n        case 0x78:\n          bVar1 = pbVar3[2];\n          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n          if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = pbVar3 + 3;\n            do {\n              DAT_0007cf30 = pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *DAT_0007cf30;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = DAT_0007cf30 + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }\n          break;\n        case 0x62:\n          uVar7 = 8;\n          break;\n        case 0x66:\n          uVar7 = 0xc;\n          break;\n        case 0x6e:\n          uVar7 = 10;\n          break;\n        case 0x72:\n          uVar7 = 0xd;\n          break;\n        case 0x74:\n          uVar7 = 9;\n          break;\n        case 0x76:\n          uVar7 = 0xb;\n        }\n      }\n    }" else (compound_statement "{\n      if (uVar7 == 0x22) {\n        return 0x100;\n      }\n      DAT_0007cf30 = local_28;\n      if (uVar7 == 0x5c) {\n        DAT_0007cf30 = pbVar3 + 2;\n        uVar7 = (uint)pbVar3[1];\n        switch(uVar7) {\n        case 0:\n          uVar7 = 0x100;\n          DAT_0007cf30 = local_28;\n          break;\n        case 10:\n          goto LAB_00030450;\n        case 0x30:\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          uVar6 = 0;\n          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = DAT_0007cf30;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              DAT_0007cf30 = local_28 + 1;\n            } while ((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }\n          DAT_0007cf30 = local_28;\n          break;\n        case 0x58:\n        case 0x78:\n          bVar1 = pbVar3[2];\n          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n          if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = pbVar3 + 3;\n            do {\n              DAT_0007cf30 = pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *DAT_0007cf30;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = DAT_0007cf30 + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }\n          break;\n        case 0x62:\n          uVar7 = 8;\n          break;\n        case 0x66:\n          uVar7 = 0xc;\n          break;\n        case 0x6e:\n          uVar7 = 10;\n          break;\n        case 0x72:\n          uVar7 = 0xd;\n          break;\n        case 0x74:\n          uVar7 = 9;\n          break;\n        case 0x76:\n          uVar7 = 0xb;\n        }\n      }\n    }" { (if_statement "if (uVar7 == 0x22) {\n        return 0x100;\n      }" if (parenthesized_expression "(uVar7 == 0x22)" ( (binary_expression "uVar7 == 0x22" identifier == number_literal) )) (compound_statement "{\n        return 0x100;\n      }" { (return_statement "return 0x100;" return number_literal ;) })) (expression_statement "DAT_0007cf30 = local_28;" (assignment_expression "DAT_0007cf30 = local_28" identifier = identifier) ;) (if_statement "if (uVar7 == 0x5c) {\n        DAT_0007cf30 = pbVar3 + 2;\n        uVar7 = (uint)pbVar3[1];\n        switch(uVar7) {\n        case 0:\n          uVar7 = 0x100;\n          DAT_0007cf30 = local_28;\n          break;\n        case 10:\n          goto LAB_00030450;\n        case 0x30:\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          uVar6 = 0;\n          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = DAT_0007cf30;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              DAT_0007cf30 = local_28 + 1;\n            } while ((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }\n          DAT_0007cf30 = local_28;\n          break;\n        case 0x58:\n        case 0x78:\n          bVar1 = pbVar3[2];\n          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n          if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = pbVar3 + 3;\n            do {\n              DAT_0007cf30 = pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *DAT_0007cf30;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = DAT_0007cf30 + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }\n          break;\n        case 0x62:\n          uVar7 = 8;\n          break;\n        case 0x66:\n          uVar7 = 0xc;\n          break;\n        case 0x6e:\n          uVar7 = 10;\n          break;\n        case 0x72:\n          uVar7 = 0xd;\n          break;\n        case 0x74:\n          uVar7 = 9;\n          break;\n        case 0x76:\n          uVar7 = 0xb;\n        }\n      }" if (parenthesized_expression "(uVar7 == 0x5c)" ( (binary_expression "uVar7 == 0x5c" identifier == number_literal) )) (compound_statement "{\n        DAT_0007cf30 = pbVar3 + 2;\n        uVar7 = (uint)pbVar3[1];\n        switch(uVar7) {\n        case 0:\n          uVar7 = 0x100;\n          DAT_0007cf30 = local_28;\n          break;\n        case 10:\n          goto LAB_00030450;\n        case 0x30:\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          uVar6 = 0;\n          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = DAT_0007cf30;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              DAT_0007cf30 = local_28 + 1;\n            } while ((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }\n          DAT_0007cf30 = local_28;\n          break;\n        case 0x58:\n        case 0x78:\n          bVar1 = pbVar3[2];\n          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n          if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = pbVar3 + 3;\n            do {\n              DAT_0007cf30 = pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *DAT_0007cf30;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = DAT_0007cf30 + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }\n          break;\n        case 0x62:\n          uVar7 = 8;\n          break;\n        case 0x66:\n          uVar7 = 0xc;\n          break;\n        case 0x6e:\n          uVar7 = 10;\n          break;\n        case 0x72:\n          uVar7 = 0xd;\n          break;\n        case 0x74:\n          uVar7 = 9;\n          break;\n        case 0x76:\n          uVar7 = 0xb;\n        }\n      }" { (expression_statement "DAT_0007cf30 = pbVar3 + 2;" (assignment_expression "DAT_0007cf30 = pbVar3 + 2" identifier = (binary_expression "pbVar3 + 2" identifier + number_literal)) ;) (expression_statement "uVar7 = (uint)pbVar3[1];" (assignment_expression "uVar7 = (uint)pbVar3[1]" identifier = (cast_expression "(uint)pbVar3[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar3[1]" identifier [ number_literal ]))) ;) (switch_statement "switch(uVar7) {\n        case 0:\n          uVar7 = 0x100;\n          DAT_0007cf30 = local_28;\n          break;\n        case 10:\n          goto LAB_00030450;\n        case 0x30:\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          uVar6 = 0;\n          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = DAT_0007cf30;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              DAT_0007cf30 = local_28 + 1;\n            } while ((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }\n          DAT_0007cf30 = local_28;\n          break;\n        case 0x58:\n        case 0x78:\n          bVar1 = pbVar3[2];\n          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n          if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = pbVar3 + 3;\n            do {\n              DAT_0007cf30 = pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *DAT_0007cf30;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = DAT_0007cf30 + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }\n          break;\n        case 0x62:\n          uVar7 = 8;\n          break;\n        case 0x66:\n          uVar7 = 0xc;\n          break;\n        case 0x6e:\n          uVar7 = 10;\n          break;\n        case 0x72:\n          uVar7 = 0xd;\n          break;\n        case 0x74:\n          uVar7 = 9;\n          break;\n        case 0x76:\n          uVar7 = 0xb;\n        }" switch (parenthesized_expression "(uVar7)" ( identifier )) (compound_statement "{\n        case 0:\n          uVar7 = 0x100;\n          DAT_0007cf30 = local_28;\n          break;\n        case 10:\n          goto LAB_00030450;\n        case 0x30:\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          uVar6 = 0;\n          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = DAT_0007cf30;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              DAT_0007cf30 = local_28 + 1;\n            } while ((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }\n          DAT_0007cf30 = local_28;\n          break;\n        case 0x58:\n        case 0x78:\n          bVar1 = pbVar3[2];\n          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n          if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = pbVar3 + 3;\n            do {\n              DAT_0007cf30 = pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *DAT_0007cf30;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = DAT_0007cf30 + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }\n          break;\n        case 0x62:\n          uVar7 = 8;\n          break;\n        case 0x66:\n          uVar7 = 0xc;\n          break;\n        case 0x6e:\n          uVar7 = 10;\n          break;\n        case 0x72:\n          uVar7 = 0xd;\n          break;\n        case 0x74:\n          uVar7 = 9;\n          break;\n        case 0x76:\n          uVar7 = 0xb;\n        }" { (case_statement "case 0:\n          uVar7 = 0x100;\n          DAT_0007cf30 = local_28;\n          break;" case number_literal : (expression_statement "uVar7 = 0x100;" (assignment_expression "uVar7 = 0x100" identifier = number_literal) ;) (expression_statement "DAT_0007cf30 = local_28;" (assignment_expression "DAT_0007cf30 = local_28" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 10:\n          goto LAB_00030450;" case number_literal : (goto_statement "goto LAB_00030450;" goto statement_identifier ;)) (case_statement "case 0x30:" case number_literal :) (case_statement "case 0x31:" case number_literal :) (case_statement "case 0x32:" case number_literal :) (case_statement "case 0x33:" case number_literal :) (case_statement "case 0x34:" case number_literal :) (case_statement "case 0x35:" case number_literal :) (case_statement "case 0x36:" case number_literal :) (case_statement "case 0x37:" case number_literal :) (case_statement "case 0x38:" case number_literal :) (case_statement "case 0x39:\n          uVar6 = 0;\n          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = DAT_0007cf30;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              DAT_0007cf30 = local_28 + 1;\n            } while ((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }\n          DAT_0007cf30 = local_28;\n          break;" case number_literal : (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (if_statement "if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = DAT_0007cf30;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              DAT_0007cf30 = local_28 + 1;\n            } while ((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }" if (parenthesized_expression "((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0)" ( (binary_expression "(PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0" (parenthesized_expression "(PTR__sch_istable_00073f84[uVar7 * 2] & 4)" ( (binary_expression "PTR__sch_istable_00073f84[uVar7 * 2] & 4" (subscript_expression "PTR__sch_istable_00073f84[uVar7 * 2]" identifier [ (binary_expression "uVar7 * 2" identifier * number_literal) ]) & number_literal) )) == number_literal) )) (compound_statement "{\n            uVar7 = 0;\n          }" { (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) }) (else_clause "else {\n            do {\n              local_28 = DAT_0007cf30;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              DAT_0007cf30 = local_28 + 1;\n            } while ((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }" else (compound_statement "{\n            do {\n              local_28 = DAT_0007cf30;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              DAT_0007cf30 = local_28 + 1;\n            } while ((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }" { (do_statement "do {\n              local_28 = DAT_0007cf30;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              DAT_0007cf30 = local_28 + 1;\n            } while ((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0);" do (compound_statement "{\n              local_28 = DAT_0007cf30;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              DAT_0007cf30 = local_28 + 1;\n            }" { (expression_statement "local_28 = DAT_0007cf30;" (assignment_expression "local_28 = DAT_0007cf30" identifier = identifier) ;) (expression_statement "uVar6 = (uVar7 - 0x30) + uVar6 * 8;" (assignment_expression "uVar6 = (uVar7 - 0x30) + uVar6 * 8" identifier = (binary_expression "(uVar7 - 0x30) + uVar6 * 8" (parenthesized_expression "(uVar7 - 0x30)" ( (binary_expression "uVar7 - 0x30" identifier - number_literal) )) + (binary_expression "uVar6 * 8" identifier * number_literal))) ;) (expression_statement "uVar7 = (uint)(char)*local_28;" (assignment_expression "uVar7 = (uint)(char)*local_28" identifier = (binary_expression "(uint)(char)*local_28" (call_expression "(uint)(char)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(char)" ( identifier ))) * identifier)) ;) (expression_statement "bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);" (assignment_expression "bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2)" identifier = (call_expression "(byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2)" ( (binary_expression "*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2" (pointer_expression "*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2)" * (cast_expression "(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__sch_istable_00073f84 + (uint)*local_28 * 2)" ( (binary_expression "PTR__sch_istable_00073f84 + (uint)*local_28 * 2" identifier + (binary_expression "(uint)*local_28 * 2" (binary_expression "(uint)*local_28" (parenthesized_expression "(uint)" ( identifier )) * identifier) * number_literal)) )))) >> number_literal) )))) ;) (expression_statement "DAT_0007cf30 = local_28 + 1;" (assignment_expression "DAT_0007cf30 = local_28 + 1" identifier = (binary_expression "local_28 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0)" ( (binary_expression "(bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0" (parenthesized_expression "(bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3)" ( (binary_expression "bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3" identifier & (binary_expression "local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3" (binary_expression "local_28 + 1 + (-2 - (int)pbVar3)" (binary_expression "local_28 + 1" identifier + number_literal) + (parenthesized_expression "(-2 - (int)pbVar3)" ( (binary_expression "-2 - (int)pbVar3" number_literal - (cast_expression "(int)pbVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ))) != (cast_expression "(byte *)0x3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) != number_literal) )) ;) (expression_statement "uVar7 = uVar6 & 0xff;" (assignment_expression "uVar7 = uVar6 & 0xff" identifier = (binary_expression "uVar6 & 0xff" identifier & number_literal)) ;) }))) (expression_statement "DAT_0007cf30 = local_28;" (assignment_expression "DAT_0007cf30 = local_28" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 0x58:" case number_literal :) (case_statement "case 0x78:\n          bVar1 = pbVar3[2];\n          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n          if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = pbVar3 + 3;\n            do {\n              DAT_0007cf30 = pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *DAT_0007cf30;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = DAT_0007cf30 + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }\n          break;" case number_literal : (expression_statement "bVar1 = pbVar3[2];" (assignment_expression "bVar1 = pbVar3[2]" identifier = (subscript_expression "pbVar3[2]" identifier [ number_literal ])) ;) (expression_statement "uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);" (assignment_expression "uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2)" identifier = (pointer_expression "*(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2)" * (cast_expression "(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__sch_istable_00073f84 + (uint)bVar1 * 2)" ( (binary_expression "PTR__sch_istable_00073f84 + (uint)bVar1 * 2" identifier + (binary_expression "(uint)bVar1 * 2" (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) ))))) ;) (if_statement "if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = pbVar3 + 3;\n            do {\n              DAT_0007cf30 = pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *DAT_0007cf30;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = DAT_0007cf30 + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }" if (parenthesized_expression "((uVar2 & 0x100) == 0)" ( (binary_expression "(uVar2 & 0x100) == 0" (parenthesized_expression "(uVar2 & 0x100)" ( (binary_expression "uVar2 & 0x100" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            uVar7 = 0;\n          }" { (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) }) (else_clause "else {\n            uVar7 = 0;\n            pbVar3 = pbVar3 + 3;\n            do {\n              DAT_0007cf30 = pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *DAT_0007cf30;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = DAT_0007cf30 + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }" else (compound_statement "{\n            uVar7 = 0;\n            pbVar3 = pbVar3 + 3;\n            do {\n              DAT_0007cf30 = pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *DAT_0007cf30;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = DAT_0007cf30 + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }" { (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (expression_statement "pbVar3 = pbVar3 + 3;" (assignment_expression "pbVar3 = pbVar3 + 3" identifier = (binary_expression "pbVar3 + 3" identifier + number_literal)) ;) (do_statement "do {\n              DAT_0007cf30 = pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *DAT_0007cf30;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = DAT_0007cf30 + 1;\n            } while ((uVar2 & 0x100) != 0);" do (compound_statement "{\n              DAT_0007cf30 = pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *DAT_0007cf30;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = DAT_0007cf30 + 1;\n            }" { (expression_statement "DAT_0007cf30 = pbVar3;" (assignment_expression "DAT_0007cf30 = pbVar3" identifier = identifier) ;) (expression_statement "iVar5 = (int)(char)bVar1;" (assignment_expression "iVar5 = (int)(char)bVar1" identifier = (cast_expression "(int)(char)bVar1" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (expression_statement "iVar8 = uVar7 * 0x10;" (assignment_expression "iVar8 = uVar7 * 0x10" identifier = (binary_expression "uVar7 * 0x10" identifier * number_literal)) ;) (expression_statement "uVar7 = iVar5 + -0x30 + iVar8;" (assignment_expression "uVar7 = iVar5 + -0x30 + iVar8" identifier = (binary_expression "iVar5 + -0x30 + iVar8" (binary_expression "iVar5 + -0x30" identifier + number_literal) + identifier)) ;) (if_statement "if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }" if (parenthesized_expression "(((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0))" ( (binary_expression "((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)" (parenthesized_expression "((uVar2 & 4) == 0)" ( (binary_expression "(uVar2 & 4) == 0" (parenthesized_expression "(uVar2 & 4)" ( (binary_expression "uVar2 & 4" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)" ( (comma_expression "uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0" (assignment_expression "uVar7 = iVar5 + -0x57 + iVar8" identifier = (binary_expression "iVar5 + -0x57 + iVar8" (binary_expression "iVar5 + -0x57" identifier + number_literal) + identifier)) , (binary_expression "(uVar2 & 0x80) != 0" (parenthesized_expression "(uVar2 & 0x80)" ( (binary_expression "uVar2 & 0x80" identifier & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }" { (expression_statement "uVar7 = iVar5 + -0x37 + iVar8;" (assignment_expression "uVar7 = iVar5 + -0x37 + iVar8" identifier = (binary_expression "iVar5 + -0x37 + iVar8" (binary_expression "iVar5 + -0x37" identifier + number_literal) + identifier)) ;) })) (expression_statement "bVar1 = *DAT_0007cf30;" (assignment_expression "bVar1 = *DAT_0007cf30" identifier = (pointer_expression "*DAT_0007cf30" * identifier)) ;) (expression_statement "uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);" (assignment_expression "uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2)" identifier = (pointer_expression "*(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2)" * (cast_expression "(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__sch_istable_00073f84 + (uint)bVar1 * 2)" ( (binary_expression "PTR__sch_istable_00073f84 + (uint)bVar1 * 2" identifier + (binary_expression "(uint)bVar1 * 2" (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) ))))) ;) (expression_statement "pbVar3 = DAT_0007cf30 + 1;" (assignment_expression "pbVar3 = DAT_0007cf30 + 1" identifier = (binary_expression "DAT_0007cf30 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((uVar2 & 0x100) != 0)" ( (binary_expression "(uVar2 & 0x100) != 0" (parenthesized_expression "(uVar2 & 0x100)" ( (binary_expression "uVar2 & 0x100" identifier & number_literal) )) != number_literal) )) ;) (expression_statement "uVar7 = uVar7 & 0xff;" (assignment_expression "uVar7 = uVar7 & 0xff" identifier = (binary_expression "uVar7 & 0xff" identifier & number_literal)) ;) }))) (break_statement "break;" break ;)) (case_statement "case 0x62:\n          uVar7 = 8;\n          break;" case number_literal : (expression_statement "uVar7 = 8;" (assignment_expression "uVar7 = 8" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x66:\n          uVar7 = 0xc;\n          break;" case number_literal : (expression_statement "uVar7 = 0xc;" (assignment_expression "uVar7 = 0xc" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x6e:\n          uVar7 = 10;\n          break;" case number_literal : (expression_statement "uVar7 = 10;" (assignment_expression "uVar7 = 10" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x72:\n          uVar7 = 0xd;\n          break;" case number_literal : (expression_statement "uVar7 = 0xd;" (assignment_expression "uVar7 = 0xd" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x74:\n          uVar7 = 9;\n          break;" case number_literal : (expression_statement "uVar7 = 9;" (assignment_expression "uVar7 = 9" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x76:\n          uVar7 = 0xb;" case number_literal : (expression_statement "uVar7 = 0xb;" (assignment_expression "uVar7 = 0xb" identifier = number_literal) ;)) })) })) }))) (return_statement "return uVar7;" return identifier ;) })) (labeled_statement "LAB_00030450:\n  uVar4 = dcgettext(0,"unterminated string; newline inserted",5);" statement_identifier : (expression_statement "uVar4 = dcgettext(0,"unterminated string; newline inserted",5);" (assignment_expression "uVar4 = dcgettext(0,"unterminated string; newline inserted",5)" identifier = (call_expression "dcgettext(0,"unterminated string; newline inserted",5)" identifier (argument_list "(0,"unterminated string; newline inserted",5)" ( number_literal , (string_literal ""unterminated string; newline inserted"" " string_content ") , number_literal )))) ;)) (expression_statement "FUN_0002a6d0(uVar4);" (call_expression "FUN_0002a6d0(uVar4)" identifier (argument_list "(uVar4)" ( identifier ))) ;) (expression_statement "FUN_00024e50();" (call_expression "FUN_00024e50()" identifier (argument_list "()" ( ))) ;) (return_statement "return uVar7;" return identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention */\n\nuint next_char_of_string(void)\n\n{\n  byte bVar1;\n  ushort uVar2;\n  byte *pbVar3;\n  char *pcVar4;\n  int iVar5;\n  uint uVar6;\n  uint uVar7;\n  int iVar8;\n  byte *local_28;\n  byte local_22;\n  \n  pcVar4 = input_line_pointer;\n  local_28 = (byte *)(input_line_pointer + 1);\n  input_line_pointer = (char *)local_28;\n  uVar7 = (uint)(byte)*pcVar4;\n  if (uVar7 != 10) {\n    if (uVar7 < 0xb) {\n      input_line_pointer = (char *)local_28;\n      if (uVar7 == 0) {\n        uVar7 = 0x100;\n        input_line_pointer = pcVar4;\n      }\n    }\n    else {\n      if (uVar7 == 0x22) {\n        return 0x100;\n      }\n      input_line_pointer = (char *)local_28;\n      if (uVar7 == 0x5c) {\n        input_line_pointer = pcVar4 + 2;\n        uVar7 = (uint)(byte)pcVar4[1];\n        switch(uVar7) {\n        case 0:\n          uVar7 = 0x100;\n          input_line_pointer = (char *)local_28;\n          break;\n        case 10:\n          goto _L1361;\n        case 0x30:\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          uVar6 = 0;\n          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = (byte *)input_line_pointer;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              local_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              input_line_pointer = (char *)(local_28 + 1);\n            } while ((local_22 & local_28 + 1 + (-2 - (int)pcVar4) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }\n          input_line_pointer = (char *)local_28;\n          break;\n        case 0x58:\n        case 0x78:\n          bVar1 = pcVar4[2];\n          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n          if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = (byte *)(pcVar4 + 3);\n            do {\n              input_line_pointer = (char *)pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *input_line_pointer;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = (byte *)input_line_pointer + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }\n          break;\n        case 0x62:\n          uVar7 = 8;\n          break;\n        case 0x66:\n          uVar7 = 0xc;\n          break;\n        case 0x6e:\n          uVar7 = 10;\n          break;\n        case 0x72:\n          uVar7 = 0xd;\n          break;\n        case 0x74:\n          uVar7 = 9;\n          break;\n        case 0x76:\n          uVar7 = 0xb;\n        }\n      }\n    }\n    return uVar7;\n  }\n_L1361:\n  pcVar4 = (char *)dcgettext(0,"unterminated string; newline inserted",5);\n  as_warn(pcVar4);\n  bump_line_counters();\n  return uVar7;\n}\n\n" comment comment (function_definition "uint next_char_of_string(void)\n\n{\n  byte bVar1;\n  ushort uVar2;\n  byte *pbVar3;\n  char *pcVar4;\n  int iVar5;\n  uint uVar6;\n  uint uVar7;\n  int iVar8;\n  byte *local_28;\n  byte local_22;\n  \n  pcVar4 = input_line_pointer;\n  local_28 = (byte *)(input_line_pointer + 1);\n  input_line_pointer = (char *)local_28;\n  uVar7 = (uint)(byte)*pcVar4;\n  if (uVar7 != 10) {\n    if (uVar7 < 0xb) {\n      input_line_pointer = (char *)local_28;\n      if (uVar7 == 0) {\n        uVar7 = 0x100;\n        input_line_pointer = pcVar4;\n      }\n    }\n    else {\n      if (uVar7 == 0x22) {\n        return 0x100;\n      }\n      input_line_pointer = (char *)local_28;\n      if (uVar7 == 0x5c) {\n        input_line_pointer = pcVar4 + 2;\n        uVar7 = (uint)(byte)pcVar4[1];\n        switch(uVar7) {\n        case 0:\n          uVar7 = 0x100;\n          input_line_pointer = (char *)local_28;\n          break;\n        case 10:\n          goto _L1361;\n        case 0x30:\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          uVar6 = 0;\n          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = (byte *)input_line_pointer;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              local_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              input_line_pointer = (char *)(local_28 + 1);\n            } while ((local_22 & local_28 + 1 + (-2 - (int)pcVar4) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }\n          input_line_pointer = (char *)local_28;\n          break;\n        case 0x58:\n        case 0x78:\n          bVar1 = pcVar4[2];\n          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n          if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = (byte *)(pcVar4 + 3);\n            do {\n              input_line_pointer = (char *)pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *input_line_pointer;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = (byte *)input_line_pointer + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }\n          break;\n        case 0x62:\n          uVar7 = 8;\n          break;\n        case 0x66:\n          uVar7 = 0xc;\n          break;\n        case 0x6e:\n          uVar7 = 10;\n          break;\n        case 0x72:\n          uVar7 = 0xd;\n          break;\n        case 0x74:\n          uVar7 = 9;\n          break;\n        case 0x76:\n          uVar7 = 0xb;\n        }\n      }\n    }\n    return uVar7;\n  }\n_L1361:\n  pcVar4 = (char *)dcgettext(0,"unterminated string; newline inserted",5);\n  as_warn(pcVar4);\n  bump_line_counters();\n  return uVar7;\n}" type_identifier (function_declarator "next_char_of_string(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  byte bVar1;\n  ushort uVar2;\n  byte *pbVar3;\n  char *pcVar4;\n  int iVar5;\n  uint uVar6;\n  uint uVar7;\n  int iVar8;\n  byte *local_28;\n  byte local_22;\n  \n  pcVar4 = input_line_pointer;\n  local_28 = (byte *)(input_line_pointer + 1);\n  input_line_pointer = (char *)local_28;\n  uVar7 = (uint)(byte)*pcVar4;\n  if (uVar7 != 10) {\n    if (uVar7 < 0xb) {\n      input_line_pointer = (char *)local_28;\n      if (uVar7 == 0) {\n        uVar7 = 0x100;\n        input_line_pointer = pcVar4;\n      }\n    }\n    else {\n      if (uVar7 == 0x22) {\n        return 0x100;\n      }\n      input_line_pointer = (char *)local_28;\n      if (uVar7 == 0x5c) {\n        input_line_pointer = pcVar4 + 2;\n        uVar7 = (uint)(byte)pcVar4[1];\n        switch(uVar7) {\n        case 0:\n          uVar7 = 0x100;\n          input_line_pointer = (char *)local_28;\n          break;\n        case 10:\n          goto _L1361;\n        case 0x30:\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          uVar6 = 0;\n          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = (byte *)input_line_pointer;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              local_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              input_line_pointer = (char *)(local_28 + 1);\n            } while ((local_22 & local_28 + 1 + (-2 - (int)pcVar4) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }\n          input_line_pointer = (char *)local_28;\n          break;\n        case 0x58:\n        case 0x78:\n          bVar1 = pcVar4[2];\n          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n          if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = (byte *)(pcVar4 + 3);\n            do {\n              input_line_pointer = (char *)pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *input_line_pointer;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = (byte *)input_line_pointer + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }\n          break;\n        case 0x62:\n          uVar7 = 8;\n          break;\n        case 0x66:\n          uVar7 = 0xc;\n          break;\n        case 0x6e:\n          uVar7 = 10;\n          break;\n        case 0x72:\n          uVar7 = 0xd;\n          break;\n        case 0x74:\n          uVar7 = 9;\n          break;\n        case 0x76:\n          uVar7 = 0xb;\n        }\n      }\n    }\n    return uVar7;\n  }\n_L1361:\n  pcVar4 = (char *)dcgettext(0,"unterminated string; newline inserted",5);\n  as_warn(pcVar4);\n  bump_line_counters();\n  return uVar7;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "ushort uVar2;" type_identifier identifier ;) (declaration "byte *pbVar3;" type_identifier (pointer_declarator "*pbVar3" * identifier) ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * 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 "byte *local_28;" type_identifier (pointer_declarator "*local_28" * identifier) ;) (declaration "byte local_22;" type_identifier identifier ;) (expression_statement "pcVar4 = input_line_pointer;" (assignment_expression "pcVar4 = input_line_pointer" identifier = identifier) ;) (expression_statement "local_28 = (byte *)(input_line_pointer + 1);" (assignment_expression "local_28 = (byte *)(input_line_pointer + 1)" identifier = (cast_expression "(byte *)(input_line_pointer + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(input_line_pointer + 1)" ( (binary_expression "input_line_pointer + 1" identifier + number_literal) )))) ;) (expression_statement "input_line_pointer = (char *)local_28;" (assignment_expression "input_line_pointer = (char *)local_28" identifier = (cast_expression "(char *)local_28" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "uVar7 = (uint)(byte)*pcVar4;" (assignment_expression "uVar7 = (uint)(byte)*pcVar4" identifier = (binary_expression "(uint)(byte)*pcVar4" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) * identifier)) ;) (if_statement "if (uVar7 != 10) {\n    if (uVar7 < 0xb) {\n      input_line_pointer = (char *)local_28;\n      if (uVar7 == 0) {\n        uVar7 = 0x100;\n        input_line_pointer = pcVar4;\n      }\n    }\n    else {\n      if (uVar7 == 0x22) {\n        return 0x100;\n      }\n      input_line_pointer = (char *)local_28;\n      if (uVar7 == 0x5c) {\n        input_line_pointer = pcVar4 + 2;\n        uVar7 = (uint)(byte)pcVar4[1];\n        switch(uVar7) {\n        case 0:\n          uVar7 = 0x100;\n          input_line_pointer = (char *)local_28;\n          break;\n        case 10:\n          goto _L1361;\n        case 0x30:\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          uVar6 = 0;\n          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = (byte *)input_line_pointer;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              local_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              input_line_pointer = (char *)(local_28 + 1);\n            } while ((local_22 & local_28 + 1 + (-2 - (int)pcVar4) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }\n          input_line_pointer = (char *)local_28;\n          break;\n        case 0x58:\n        case 0x78:\n          bVar1 = pcVar4[2];\n          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n          if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = (byte *)(pcVar4 + 3);\n            do {\n              input_line_pointer = (char *)pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *input_line_pointer;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = (byte *)input_line_pointer + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }\n          break;\n        case 0x62:\n          uVar7 = 8;\n          break;\n        case 0x66:\n          uVar7 = 0xc;\n          break;\n        case 0x6e:\n          uVar7 = 10;\n          break;\n        case 0x72:\n          uVar7 = 0xd;\n          break;\n        case 0x74:\n          uVar7 = 9;\n          break;\n        case 0x76:\n          uVar7 = 0xb;\n        }\n      }\n    }\n    return uVar7;\n  }" if (parenthesized_expression "(uVar7 != 10)" ( (binary_expression "uVar7 != 10" identifier != number_literal) )) (compound_statement "{\n    if (uVar7 < 0xb) {\n      input_line_pointer = (char *)local_28;\n      if (uVar7 == 0) {\n        uVar7 = 0x100;\n        input_line_pointer = pcVar4;\n      }\n    }\n    else {\n      if (uVar7 == 0x22) {\n        return 0x100;\n      }\n      input_line_pointer = (char *)local_28;\n      if (uVar7 == 0x5c) {\n        input_line_pointer = pcVar4 + 2;\n        uVar7 = (uint)(byte)pcVar4[1];\n        switch(uVar7) {\n        case 0:\n          uVar7 = 0x100;\n          input_line_pointer = (char *)local_28;\n          break;\n        case 10:\n          goto _L1361;\n        case 0x30:\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          uVar6 = 0;\n          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = (byte *)input_line_pointer;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              local_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              input_line_pointer = (char *)(local_28 + 1);\n            } while ((local_22 & local_28 + 1 + (-2 - (int)pcVar4) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }\n          input_line_pointer = (char *)local_28;\n          break;\n        case 0x58:\n        case 0x78:\n          bVar1 = pcVar4[2];\n          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n          if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = (byte *)(pcVar4 + 3);\n            do {\n              input_line_pointer = (char *)pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *input_line_pointer;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = (byte *)input_line_pointer + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }\n          break;\n        case 0x62:\n          uVar7 = 8;\n          break;\n        case 0x66:\n          uVar7 = 0xc;\n          break;\n        case 0x6e:\n          uVar7 = 10;\n          break;\n        case 0x72:\n          uVar7 = 0xd;\n          break;\n        case 0x74:\n          uVar7 = 9;\n          break;\n        case 0x76:\n          uVar7 = 0xb;\n        }\n      }\n    }\n    return uVar7;\n  }" { (if_statement "if (uVar7 < 0xb) {\n      input_line_pointer = (char *)local_28;\n      if (uVar7 == 0) {\n        uVar7 = 0x100;\n        input_line_pointer = pcVar4;\n      }\n    }\n    else {\n      if (uVar7 == 0x22) {\n        return 0x100;\n      }\n      input_line_pointer = (char *)local_28;\n      if (uVar7 == 0x5c) {\n        input_line_pointer = pcVar4 + 2;\n        uVar7 = (uint)(byte)pcVar4[1];\n        switch(uVar7) {\n        case 0:\n          uVar7 = 0x100;\n          input_line_pointer = (char *)local_28;\n          break;\n        case 10:\n          goto _L1361;\n        case 0x30:\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          uVar6 = 0;\n          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = (byte *)input_line_pointer;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              local_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              input_line_pointer = (char *)(local_28 + 1);\n            } while ((local_22 & local_28 + 1 + (-2 - (int)pcVar4) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }\n          input_line_pointer = (char *)local_28;\n          break;\n        case 0x58:\n        case 0x78:\n          bVar1 = pcVar4[2];\n          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n          if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = (byte *)(pcVar4 + 3);\n            do {\n              input_line_pointer = (char *)pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *input_line_pointer;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = (byte *)input_line_pointer + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }\n          break;\n        case 0x62:\n          uVar7 = 8;\n          break;\n        case 0x66:\n          uVar7 = 0xc;\n          break;\n        case 0x6e:\n          uVar7 = 10;\n          break;\n        case 0x72:\n          uVar7 = 0xd;\n          break;\n        case 0x74:\n          uVar7 = 9;\n          break;\n        case 0x76:\n          uVar7 = 0xb;\n        }\n      }\n    }" if (parenthesized_expression "(uVar7 < 0xb)" ( (binary_expression "uVar7 < 0xb" identifier < number_literal) )) (compound_statement "{\n      input_line_pointer = (char *)local_28;\n      if (uVar7 == 0) {\n        uVar7 = 0x100;\n        input_line_pointer = pcVar4;\n      }\n    }" { (expression_statement "input_line_pointer = (char *)local_28;" (assignment_expression "input_line_pointer = (char *)local_28" identifier = (cast_expression "(char *)local_28" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (uVar7 == 0) {\n        uVar7 = 0x100;\n        input_line_pointer = pcVar4;\n      }" if (parenthesized_expression "(uVar7 == 0)" ( (binary_expression "uVar7 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar7 = 0x100;\n        input_line_pointer = pcVar4;\n      }" { (expression_statement "uVar7 = 0x100;" (assignment_expression "uVar7 = 0x100" identifier = number_literal) ;) (expression_statement "input_line_pointer = pcVar4;" (assignment_expression "input_line_pointer = pcVar4" identifier = identifier) ;) })) }) (else_clause "else {\n      if (uVar7 == 0x22) {\n        return 0x100;\n      }\n      input_line_pointer = (char *)local_28;\n      if (uVar7 == 0x5c) {\n        input_line_pointer = pcVar4 + 2;\n        uVar7 = (uint)(byte)pcVar4[1];\n        switch(uVar7) {\n        case 0:\n          uVar7 = 0x100;\n          input_line_pointer = (char *)local_28;\n          break;\n        case 10:\n          goto _L1361;\n        case 0x30:\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          uVar6 = 0;\n          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = (byte *)input_line_pointer;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              local_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              input_line_pointer = (char *)(local_28 + 1);\n            } while ((local_22 & local_28 + 1 + (-2 - (int)pcVar4) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }\n          input_line_pointer = (char *)local_28;\n          break;\n        case 0x58:\n        case 0x78:\n          bVar1 = pcVar4[2];\n          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n          if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = (byte *)(pcVar4 + 3);\n            do {\n              input_line_pointer = (char *)pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *input_line_pointer;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = (byte *)input_line_pointer + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }\n          break;\n        case 0x62:\n          uVar7 = 8;\n          break;\n        case 0x66:\n          uVar7 = 0xc;\n          break;\n        case 0x6e:\n          uVar7 = 10;\n          break;\n        case 0x72:\n          uVar7 = 0xd;\n          break;\n        case 0x74:\n          uVar7 = 9;\n          break;\n        case 0x76:\n          uVar7 = 0xb;\n        }\n      }\n    }" else (compound_statement "{\n      if (uVar7 == 0x22) {\n        return 0x100;\n      }\n      input_line_pointer = (char *)local_28;\n      if (uVar7 == 0x5c) {\n        input_line_pointer = pcVar4 + 2;\n        uVar7 = (uint)(byte)pcVar4[1];\n        switch(uVar7) {\n        case 0:\n          uVar7 = 0x100;\n          input_line_pointer = (char *)local_28;\n          break;\n        case 10:\n          goto _L1361;\n        case 0x30:\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          uVar6 = 0;\n          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = (byte *)input_line_pointer;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              local_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              input_line_pointer = (char *)(local_28 + 1);\n            } while ((local_22 & local_28 + 1 + (-2 - (int)pcVar4) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }\n          input_line_pointer = (char *)local_28;\n          break;\n        case 0x58:\n        case 0x78:\n          bVar1 = pcVar4[2];\n          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n          if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = (byte *)(pcVar4 + 3);\n            do {\n              input_line_pointer = (char *)pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *input_line_pointer;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = (byte *)input_line_pointer + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }\n          break;\n        case 0x62:\n          uVar7 = 8;\n          break;\n        case 0x66:\n          uVar7 = 0xc;\n          break;\n        case 0x6e:\n          uVar7 = 10;\n          break;\n        case 0x72:\n          uVar7 = 0xd;\n          break;\n        case 0x74:\n          uVar7 = 9;\n          break;\n        case 0x76:\n          uVar7 = 0xb;\n        }\n      }\n    }" { (if_statement "if (uVar7 == 0x22) {\n        return 0x100;\n      }" if (parenthesized_expression "(uVar7 == 0x22)" ( (binary_expression "uVar7 == 0x22" identifier == number_literal) )) (compound_statement "{\n        return 0x100;\n      }" { (return_statement "return 0x100;" return number_literal ;) })) (expression_statement "input_line_pointer = (char *)local_28;" (assignment_expression "input_line_pointer = (char *)local_28" identifier = (cast_expression "(char *)local_28" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (uVar7 == 0x5c) {\n        input_line_pointer = pcVar4 + 2;\n        uVar7 = (uint)(byte)pcVar4[1];\n        switch(uVar7) {\n        case 0:\n          uVar7 = 0x100;\n          input_line_pointer = (char *)local_28;\n          break;\n        case 10:\n          goto _L1361;\n        case 0x30:\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          uVar6 = 0;\n          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = (byte *)input_line_pointer;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              local_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              input_line_pointer = (char *)(local_28 + 1);\n            } while ((local_22 & local_28 + 1 + (-2 - (int)pcVar4) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }\n          input_line_pointer = (char *)local_28;\n          break;\n        case 0x58:\n        case 0x78:\n          bVar1 = pcVar4[2];\n          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n          if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = (byte *)(pcVar4 + 3);\n            do {\n              input_line_pointer = (char *)pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *input_line_pointer;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = (byte *)input_line_pointer + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }\n          break;\n        case 0x62:\n          uVar7 = 8;\n          break;\n        case 0x66:\n          uVar7 = 0xc;\n          break;\n        case 0x6e:\n          uVar7 = 10;\n          break;\n        case 0x72:\n          uVar7 = 0xd;\n          break;\n        case 0x74:\n          uVar7 = 9;\n          break;\n        case 0x76:\n          uVar7 = 0xb;\n        }\n      }" if (parenthesized_expression "(uVar7 == 0x5c)" ( (binary_expression "uVar7 == 0x5c" identifier == number_literal) )) (compound_statement "{\n        input_line_pointer = pcVar4 + 2;\n        uVar7 = (uint)(byte)pcVar4[1];\n        switch(uVar7) {\n        case 0:\n          uVar7 = 0x100;\n          input_line_pointer = (char *)local_28;\n          break;\n        case 10:\n          goto _L1361;\n        case 0x30:\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          uVar6 = 0;\n          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = (byte *)input_line_pointer;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              local_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              input_line_pointer = (char *)(local_28 + 1);\n            } while ((local_22 & local_28 + 1 + (-2 - (int)pcVar4) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }\n          input_line_pointer = (char *)local_28;\n          break;\n        case 0x58:\n        case 0x78:\n          bVar1 = pcVar4[2];\n          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n          if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = (byte *)(pcVar4 + 3);\n            do {\n              input_line_pointer = (char *)pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *input_line_pointer;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = (byte *)input_line_pointer + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }\n          break;\n        case 0x62:\n          uVar7 = 8;\n          break;\n        case 0x66:\n          uVar7 = 0xc;\n          break;\n        case 0x6e:\n          uVar7 = 10;\n          break;\n        case 0x72:\n          uVar7 = 0xd;\n          break;\n        case 0x74:\n          uVar7 = 9;\n          break;\n        case 0x76:\n          uVar7 = 0xb;\n        }\n      }" { (expression_statement "input_line_pointer = pcVar4 + 2;" (assignment_expression "input_line_pointer = pcVar4 + 2" identifier = (binary_expression "pcVar4 + 2" identifier + number_literal)) ;) (expression_statement "uVar7 = (uint)(byte)pcVar4[1];" (assignment_expression "uVar7 = (uint)(byte)pcVar4[1]" identifier = (cast_expression "(uint)(byte)pcVar4[1]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)pcVar4[1]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "pcVar4[1]" identifier [ number_literal ])))) ;) (switch_statement "switch(uVar7) {\n        case 0:\n          uVar7 = 0x100;\n          input_line_pointer = (char *)local_28;\n          break;\n        case 10:\n          goto _L1361;\n        case 0x30:\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          uVar6 = 0;\n          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = (byte *)input_line_pointer;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              local_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              input_line_pointer = (char *)(local_28 + 1);\n            } while ((local_22 & local_28 + 1 + (-2 - (int)pcVar4) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }\n          input_line_pointer = (char *)local_28;\n          break;\n        case 0x58:\n        case 0x78:\n          bVar1 = pcVar4[2];\n          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n          if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = (byte *)(pcVar4 + 3);\n            do {\n              input_line_pointer = (char *)pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *input_line_pointer;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = (byte *)input_line_pointer + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }\n          break;\n        case 0x62:\n          uVar7 = 8;\n          break;\n        case 0x66:\n          uVar7 = 0xc;\n          break;\n        case 0x6e:\n          uVar7 = 10;\n          break;\n        case 0x72:\n          uVar7 = 0xd;\n          break;\n        case 0x74:\n          uVar7 = 9;\n          break;\n        case 0x76:\n          uVar7 = 0xb;\n        }" switch (parenthesized_expression "(uVar7)" ( identifier )) (compound_statement "{\n        case 0:\n          uVar7 = 0x100;\n          input_line_pointer = (char *)local_28;\n          break;\n        case 10:\n          goto _L1361;\n        case 0x30:\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          uVar6 = 0;\n          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = (byte *)input_line_pointer;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              local_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              input_line_pointer = (char *)(local_28 + 1);\n            } while ((local_22 & local_28 + 1 + (-2 - (int)pcVar4) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }\n          input_line_pointer = (char *)local_28;\n          break;\n        case 0x58:\n        case 0x78:\n          bVar1 = pcVar4[2];\n          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n          if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = (byte *)(pcVar4 + 3);\n            do {\n              input_line_pointer = (char *)pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *input_line_pointer;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = (byte *)input_line_pointer + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }\n          break;\n        case 0x62:\n          uVar7 = 8;\n          break;\n        case 0x66:\n          uVar7 = 0xc;\n          break;\n        case 0x6e:\n          uVar7 = 10;\n          break;\n        case 0x72:\n          uVar7 = 0xd;\n          break;\n        case 0x74:\n          uVar7 = 9;\n          break;\n        case 0x76:\n          uVar7 = 0xb;\n        }" { (case_statement "case 0:\n          uVar7 = 0x100;\n          input_line_pointer = (char *)local_28;\n          break;" case number_literal : (expression_statement "uVar7 = 0x100;" (assignment_expression "uVar7 = 0x100" identifier = number_literal) ;) (expression_statement "input_line_pointer = (char *)local_28;" (assignment_expression "input_line_pointer = (char *)local_28" identifier = (cast_expression "(char *)local_28" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 10:\n          goto _L1361;" case number_literal : (goto_statement "goto _L1361;" goto statement_identifier ;)) (case_statement "case 0x30:" case number_literal :) (case_statement "case 0x31:" case number_literal :) (case_statement "case 0x32:" case number_literal :) (case_statement "case 0x33:" case number_literal :) (case_statement "case 0x34:" case number_literal :) (case_statement "case 0x35:" case number_literal :) (case_statement "case 0x36:" case number_literal :) (case_statement "case 0x37:" case number_literal :) (case_statement "case 0x38:" case number_literal :) (case_statement "case 0x39:\n          uVar6 = 0;\n          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = (byte *)input_line_pointer;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              local_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              input_line_pointer = (char *)(local_28 + 1);\n            } while ((local_22 & local_28 + 1 + (-2 - (int)pcVar4) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }\n          input_line_pointer = (char *)local_28;\n          break;" case number_literal : (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (if_statement "if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = (byte *)input_line_pointer;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              local_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              input_line_pointer = (char *)(local_28 + 1);\n            } while ((local_22 & local_28 + 1 + (-2 - (int)pcVar4) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }" if (parenthesized_expression "((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0)" ( (binary_expression "(PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0" (parenthesized_expression "(PTR__sch_istable_00073f84[uVar7 * 2] & 4)" ( (binary_expression "PTR__sch_istable_00073f84[uVar7 * 2] & 4" (subscript_expression "PTR__sch_istable_00073f84[uVar7 * 2]" identifier [ (binary_expression "uVar7 * 2" identifier * number_literal) ]) & number_literal) )) == number_literal) )) (compound_statement "{\n            uVar7 = 0;\n          }" { (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) }) (else_clause "else {\n            do {\n              local_28 = (byte *)input_line_pointer;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              local_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              input_line_pointer = (char *)(local_28 + 1);\n            } while ((local_22 & local_28 + 1 + (-2 - (int)pcVar4) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }" else (compound_statement "{\n            do {\n              local_28 = (byte *)input_line_pointer;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              local_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              input_line_pointer = (char *)(local_28 + 1);\n            } while ((local_22 & local_28 + 1 + (-2 - (int)pcVar4) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }" { (do_statement "do {\n              local_28 = (byte *)input_line_pointer;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              local_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              input_line_pointer = (char *)(local_28 + 1);\n            } while ((local_22 & local_28 + 1 + (-2 - (int)pcVar4) != (byte *)0x3) != 0);" do (compound_statement "{\n              local_28 = (byte *)input_line_pointer;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              local_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              input_line_pointer = (char *)(local_28 + 1);\n            }" { (expression_statement "local_28 = (byte *)input_line_pointer;" (assignment_expression "local_28 = (byte *)input_line_pointer" identifier = (cast_expression "(byte *)input_line_pointer" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "uVar6 = (uVar7 - 0x30) + uVar6 * 8;" (assignment_expression "uVar6 = (uVar7 - 0x30) + uVar6 * 8" identifier = (binary_expression "(uVar7 - 0x30) + uVar6 * 8" (parenthesized_expression "(uVar7 - 0x30)" ( (binary_expression "uVar7 - 0x30" identifier - number_literal) )) + (binary_expression "uVar6 * 8" identifier * number_literal))) ;) (expression_statement "uVar7 = (uint)(char)*local_28;" (assignment_expression "uVar7 = (uint)(char)*local_28" identifier = (binary_expression "(uint)(char)*local_28" (call_expression "(uint)(char)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(char)" ( identifier ))) * identifier)) ;) (expression_statement "local_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);" (assignment_expression "local_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2)" identifier = (call_expression "(byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2)" ( (binary_expression "*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2" (pointer_expression "*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2)" * (cast_expression "(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__sch_istable_00073f84 + (uint)*local_28 * 2)" ( (binary_expression "PTR__sch_istable_00073f84 + (uint)*local_28 * 2" identifier + (binary_expression "(uint)*local_28 * 2" (binary_expression "(uint)*local_28" (parenthesized_expression "(uint)" ( identifier )) * identifier) * number_literal)) )))) >> number_literal) )))) ;) (expression_statement "input_line_pointer = (char *)(local_28 + 1);" (assignment_expression "input_line_pointer = (char *)(local_28 + 1)" identifier = (cast_expression "(char *)(local_28 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_28 + 1)" ( (binary_expression "local_28 + 1" identifier + number_literal) )))) ;) }) while (parenthesized_expression "((local_22 & local_28 + 1 + (-2 - (int)pcVar4) != (byte *)0x3) != 0)" ( (binary_expression "(local_22 & local_28 + 1 + (-2 - (int)pcVar4) != (byte *)0x3) != 0" (parenthesized_expression "(local_22 & local_28 + 1 + (-2 - (int)pcVar4) != (byte *)0x3)" ( (binary_expression "local_22 & local_28 + 1 + (-2 - (int)pcVar4) != (byte *)0x3" identifier & (binary_expression "local_28 + 1 + (-2 - (int)pcVar4) != (byte *)0x3" (binary_expression "local_28 + 1 + (-2 - (int)pcVar4)" (binary_expression "local_28 + 1" identifier + number_literal) + (parenthesized_expression "(-2 - (int)pcVar4)" ( (binary_expression "-2 - (int)pcVar4" number_literal - (cast_expression "(int)pcVar4" ( (type_descriptor "int" primitive_type) ) identifier)) ))) != (cast_expression "(byte *)0x3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) != number_literal) )) ;) (expression_statement "uVar7 = uVar6 & 0xff;" (assignment_expression "uVar7 = uVar6 & 0xff" identifier = (binary_expression "uVar6 & 0xff" identifier & number_literal)) ;) }))) (expression_statement "input_line_pointer = (char *)local_28;" (assignment_expression "input_line_pointer = (char *)local_28" identifier = (cast_expression "(char *)local_28" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0x58:" case number_literal :) (case_statement "case 0x78:\n          bVar1 = pcVar4[2];\n          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n          if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = (byte *)(pcVar4 + 3);\n            do {\n              input_line_pointer = (char *)pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *input_line_pointer;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = (byte *)input_line_pointer + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }\n          break;" case number_literal : (expression_statement "bVar1 = pcVar4[2];" (assignment_expression "bVar1 = pcVar4[2]" identifier = (subscript_expression "pcVar4[2]" identifier [ number_literal ])) ;) (expression_statement "uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);" (assignment_expression "uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2)" identifier = (pointer_expression "*(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2)" * (cast_expression "(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__sch_istable_00073f84 + (uint)bVar1 * 2)" ( (binary_expression "PTR__sch_istable_00073f84 + (uint)bVar1 * 2" identifier + (binary_expression "(uint)bVar1 * 2" (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) ))))) ;) (if_statement "if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = (byte *)(pcVar4 + 3);\n            do {\n              input_line_pointer = (char *)pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *input_line_pointer;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = (byte *)input_line_pointer + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }" if (parenthesized_expression "((uVar2 & 0x100) == 0)" ( (binary_expression "(uVar2 & 0x100) == 0" (parenthesized_expression "(uVar2 & 0x100)" ( (binary_expression "uVar2 & 0x100" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            uVar7 = 0;\n          }" { (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) }) (else_clause "else {\n            uVar7 = 0;\n            pbVar3 = (byte *)(pcVar4 + 3);\n            do {\n              input_line_pointer = (char *)pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *input_line_pointer;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = (byte *)input_line_pointer + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }" else (compound_statement "{\n            uVar7 = 0;\n            pbVar3 = (byte *)(pcVar4 + 3);\n            do {\n              input_line_pointer = (char *)pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *input_line_pointer;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = (byte *)input_line_pointer + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }" { (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (expression_statement "pbVar3 = (byte *)(pcVar4 + 3);" (assignment_expression "pbVar3 = (byte *)(pcVar4 + 3)" identifier = (cast_expression "(byte *)(pcVar4 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 3)" ( (binary_expression "pcVar4 + 3" identifier + number_literal) )))) ;) (do_statement "do {\n              input_line_pointer = (char *)pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *input_line_pointer;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = (byte *)input_line_pointer + 1;\n            } while ((uVar2 & 0x100) != 0);" do (compound_statement "{\n              input_line_pointer = (char *)pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *input_line_pointer;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = (byte *)input_line_pointer + 1;\n            }" { (expression_statement "input_line_pointer = (char *)pbVar3;" (assignment_expression "input_line_pointer = (char *)pbVar3" identifier = (cast_expression "(char *)pbVar3" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iVar5 = (int)(char)bVar1;" (assignment_expression "iVar5 = (int)(char)bVar1" identifier = (cast_expression "(int)(char)bVar1" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (expression_statement "iVar8 = uVar7 * 0x10;" (assignment_expression "iVar8 = uVar7 * 0x10" identifier = (binary_expression "uVar7 * 0x10" identifier * number_literal)) ;) (expression_statement "uVar7 = iVar5 + -0x30 + iVar8;" (assignment_expression "uVar7 = iVar5 + -0x30 + iVar8" identifier = (binary_expression "iVar5 + -0x30 + iVar8" (binary_expression "iVar5 + -0x30" identifier + number_literal) + identifier)) ;) (if_statement "if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }" if (parenthesized_expression "(((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0))" ( (binary_expression "((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)" (parenthesized_expression "((uVar2 & 4) == 0)" ( (binary_expression "(uVar2 & 4) == 0" (parenthesized_expression "(uVar2 & 4)" ( (binary_expression "uVar2 & 4" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)" ( (comma_expression "uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0" (assignment_expression "uVar7 = iVar5 + -0x57 + iVar8" identifier = (binary_expression "iVar5 + -0x57 + iVar8" (binary_expression "iVar5 + -0x57" identifier + number_literal) + identifier)) , (binary_expression "(uVar2 & 0x80) != 0" (parenthesized_expression "(uVar2 & 0x80)" ( (binary_expression "uVar2 & 0x80" identifier & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }" { (expression_statement "uVar7 = iVar5 + -0x37 + iVar8;" (assignment_expression "uVar7 = iVar5 + -0x37 + iVar8" identifier = (binary_expression "iVar5 + -0x37 + iVar8" (binary_expression "iVar5 + -0x37" identifier + number_literal) + identifier)) ;) })) (expression_statement "bVar1 = *input_line_pointer;" (assignment_expression "bVar1 = *input_line_pointer" identifier = (pointer_expression "*input_line_pointer" * identifier)) ;) (expression_statement "uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);" (assignment_expression "uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2)" identifier = (pointer_expression "*(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2)" * (cast_expression "(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__sch_istable_00073f84 + (uint)bVar1 * 2)" ( (binary_expression "PTR__sch_istable_00073f84 + (uint)bVar1 * 2" identifier + (binary_expression "(uint)bVar1 * 2" (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) ))))) ;) (expression_statement "pbVar3 = (byte *)input_line_pointer + 1;" (assignment_expression "pbVar3 = (byte *)input_line_pointer + 1" identifier = (binary_expression "(byte *)input_line_pointer + 1" (cast_expression "(byte *)input_line_pointer" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal)) ;) }) while (parenthesized_expression "((uVar2 & 0x100) != 0)" ( (binary_expression "(uVar2 & 0x100) != 0" (parenthesized_expression "(uVar2 & 0x100)" ( (binary_expression "uVar2 & 0x100" identifier & number_literal) )) != number_literal) )) ;) (expression_statement "uVar7 = uVar7 & 0xff;" (assignment_expression "uVar7 = uVar7 & 0xff" identifier = (binary_expression "uVar7 & 0xff" identifier & number_literal)) ;) }))) (break_statement "break;" break ;)) (case_statement "case 0x62:\n          uVar7 = 8;\n          break;" case number_literal : (expression_statement "uVar7 = 8;" (assignment_expression "uVar7 = 8" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x66:\n          uVar7 = 0xc;\n          break;" case number_literal : (expression_statement "uVar7 = 0xc;" (assignment_expression "uVar7 = 0xc" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x6e:\n          uVar7 = 10;\n          break;" case number_literal : (expression_statement "uVar7 = 10;" (assignment_expression "uVar7 = 10" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x72:\n          uVar7 = 0xd;\n          break;" case number_literal : (expression_statement "uVar7 = 0xd;" (assignment_expression "uVar7 = 0xd" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x74:\n          uVar7 = 9;\n          break;" case number_literal : (expression_statement "uVar7 = 9;" (assignment_expression "uVar7 = 9" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x76:\n          uVar7 = 0xb;" case number_literal : (expression_statement "uVar7 = 0xb;" (assignment_expression "uVar7 = 0xb" identifier = number_literal) ;)) })) })) }))) (return_statement "return uVar7;" return identifier ;) })) (labeled_statement "_L1361:\n  pcVar4 = (char *)dcgettext(0,"unterminated string; newline inserted",5);" statement_identifier : (expression_statement "pcVar4 = (char *)dcgettext(0,"unterminated string; newline inserted",5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,"unterminated string; newline inserted",5)" identifier = (cast_expression "(char *)dcgettext(0,"unterminated string; newline inserted",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"unterminated string; newline inserted",5)" identifier (argument_list "(0,"unterminated string; newline inserted",5)" ( number_literal , (string_literal ""unterminated string; newline inserted"" " string_content ") , number_literal ))))) ;)) (expression_statement "as_warn(pcVar4);" (call_expression "as_warn(pcVar4)" identifier (argument_list "(pcVar4)" ( identifier ))) ;) (expression_statement "bump_line_counters();" (call_expression "bump_line_counters()" identifier (argument_list "()" ( ))) ;) (return_statement "return uVar7;" return identifier ;) })))
(translation_unit "uint FUN_000303d0(void)\n\n{\n  byte bVar1;\n  ushort uVar2;\n  byte *pbVar3;\n  undefined4 uVar4;\n  int iVar5;\n  uint uVar6;\n  uint uVar7;\n  int iVar8;\n  byte *local_28;\n  byte bStack_22;\n  \n  pbVar3 = DAT_0007cf30;\n  local_28 = DAT_0007cf30 + 1;\n  DAT_0007cf30 = local_28;\n  uVar7 = (uint)*pbVar3;\n  if (uVar7 != 10) {\n    if (uVar7 < 0xb) {\n      DAT_0007cf30 = local_28;\n      if (uVar7 == 0) {\n        uVar7 = 0x100;\n        DAT_0007cf30 = pbVar3;\n      }\n    }\n    else {\n      if (uVar7 == 0x22) {\n        return 0x100;\n      }\n      DAT_0007cf30 = local_28;\n      if (uVar7 == 0x5c) {\n        DAT_0007cf30 = pbVar3 + 2;\n        uVar7 = (uint)pbVar3[1];\n        switch(uVar7) {\n        case 0:\n          uVar7 = 0x100;\n          DAT_0007cf30 = local_28;\n          break;\n        case 10:\n          goto LAB_00030450;\n        case 0x30:\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          uVar6 = 0;\n          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = DAT_0007cf30;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              DAT_0007cf30 = local_28 + 1;\n            } while ((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }\n          DAT_0007cf30 = local_28;\n          break;\n        case 0x58:\n        case 0x78:\n          bVar1 = pbVar3[2];\n          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n          if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = pbVar3 + 3;\n            do {\n              DAT_0007cf30 = pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *DAT_0007cf30;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = DAT_0007cf30 + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }\n          break;\n        case 0x62:\n          uVar7 = 8;\n          break;\n        case 0x66:\n          uVar7 = 0xc;\n          break;\n        case 0x6e:\n          uVar7 = 10;\n          break;\n        case 0x72:\n          uVar7 = 0xd;\n          break;\n        case 0x74:\n          uVar7 = 9;\n          break;\n        case 0x76:\n          uVar7 = 0xb;\n        }\n      }\n    }\n    return uVar7;\n  }\nLAB_00030450:\n  uVar4 = dcgettext(0,"unterminated string; newline inserted",5);\n  FUN_0002a6d0(uVar4);\n  FUN_00024e50();\n  return uVar7;\n}\n\n" (function_definition "uint FUN_000303d0(void)\n\n{\n  byte bVar1;\n  ushort uVar2;\n  byte *pbVar3;\n  undefined4 uVar4;\n  int iVar5;\n  uint uVar6;\n  uint uVar7;\n  int iVar8;\n  byte *local_28;\n  byte bStack_22;\n  \n  pbVar3 = DAT_0007cf30;\n  local_28 = DAT_0007cf30 + 1;\n  DAT_0007cf30 = local_28;\n  uVar7 = (uint)*pbVar3;\n  if (uVar7 != 10) {\n    if (uVar7 < 0xb) {\n      DAT_0007cf30 = local_28;\n      if (uVar7 == 0) {\n        uVar7 = 0x100;\n        DAT_0007cf30 = pbVar3;\n      }\n    }\n    else {\n      if (uVar7 == 0x22) {\n        return 0x100;\n      }\n      DAT_0007cf30 = local_28;\n      if (uVar7 == 0x5c) {\n        DAT_0007cf30 = pbVar3 + 2;\n        uVar7 = (uint)pbVar3[1];\n        switch(uVar7) {\n        case 0:\n          uVar7 = 0x100;\n          DAT_0007cf30 = local_28;\n          break;\n        case 10:\n          goto LAB_00030450;\n        case 0x30:\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          uVar6 = 0;\n          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = DAT_0007cf30;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              DAT_0007cf30 = local_28 + 1;\n            } while ((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }\n          DAT_0007cf30 = local_28;\n          break;\n        case 0x58:\n        case 0x78:\n          bVar1 = pbVar3[2];\n          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n          if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = pbVar3 + 3;\n            do {\n              DAT_0007cf30 = pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *DAT_0007cf30;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = DAT_0007cf30 + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }\n          break;\n        case 0x62:\n          uVar7 = 8;\n          break;\n        case 0x66:\n          uVar7 = 0xc;\n          break;\n        case 0x6e:\n          uVar7 = 10;\n          break;\n        case 0x72:\n          uVar7 = 0xd;\n          break;\n        case 0x74:\n          uVar7 = 9;\n          break;\n        case 0x76:\n          uVar7 = 0xb;\n        }\n      }\n    }\n    return uVar7;\n  }\nLAB_00030450:\n  uVar4 = dcgettext(0,"unterminated string; newline inserted",5);\n  FUN_0002a6d0(uVar4);\n  FUN_00024e50();\n  return uVar7;\n}" type_identifier (function_declarator "FUN_000303d0(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  byte bVar1;\n  ushort uVar2;\n  byte *pbVar3;\n  undefined4 uVar4;\n  int iVar5;\n  uint uVar6;\n  uint uVar7;\n  int iVar8;\n  byte *local_28;\n  byte bStack_22;\n  \n  pbVar3 = DAT_0007cf30;\n  local_28 = DAT_0007cf30 + 1;\n  DAT_0007cf30 = local_28;\n  uVar7 = (uint)*pbVar3;\n  if (uVar7 != 10) {\n    if (uVar7 < 0xb) {\n      DAT_0007cf30 = local_28;\n      if (uVar7 == 0) {\n        uVar7 = 0x100;\n        DAT_0007cf30 = pbVar3;\n      }\n    }\n    else {\n      if (uVar7 == 0x22) {\n        return 0x100;\n      }\n      DAT_0007cf30 = local_28;\n      if (uVar7 == 0x5c) {\n        DAT_0007cf30 = pbVar3 + 2;\n        uVar7 = (uint)pbVar3[1];\n        switch(uVar7) {\n        case 0:\n          uVar7 = 0x100;\n          DAT_0007cf30 = local_28;\n          break;\n        case 10:\n          goto LAB_00030450;\n        case 0x30:\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          uVar6 = 0;\n          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = DAT_0007cf30;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              DAT_0007cf30 = local_28 + 1;\n            } while ((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }\n          DAT_0007cf30 = local_28;\n          break;\n        case 0x58:\n        case 0x78:\n          bVar1 = pbVar3[2];\n          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n          if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = pbVar3 + 3;\n            do {\n              DAT_0007cf30 = pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *DAT_0007cf30;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = DAT_0007cf30 + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }\n          break;\n        case 0x62:\n          uVar7 = 8;\n          break;\n        case 0x66:\n          uVar7 = 0xc;\n          break;\n        case 0x6e:\n          uVar7 = 10;\n          break;\n        case 0x72:\n          uVar7 = 0xd;\n          break;\n        case 0x74:\n          uVar7 = 9;\n          break;\n        case 0x76:\n          uVar7 = 0xb;\n        }\n      }\n    }\n    return uVar7;\n  }\nLAB_00030450:\n  uVar4 = dcgettext(0,"unterminated string; newline inserted",5);\n  FUN_0002a6d0(uVar4);\n  FUN_00024e50();\n  return uVar7;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "ushort uVar2;" type_identifier identifier ;) (declaration "byte *pbVar3;" type_identifier (pointer_declarator "*pbVar3" * identifier) ;) (declaration "undefined4 uVar4;" type_identifier 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 "byte *local_28;" type_identifier (pointer_declarator "*local_28" * identifier) ;) (declaration "byte bStack_22;" type_identifier identifier ;) (expression_statement "pbVar3 = DAT_0007cf30;" (assignment_expression "pbVar3 = DAT_0007cf30" identifier = identifier) ;) (expression_statement "local_28 = DAT_0007cf30 + 1;" (assignment_expression "local_28 = DAT_0007cf30 + 1" identifier = (binary_expression "DAT_0007cf30 + 1" identifier + number_literal)) ;) (expression_statement "DAT_0007cf30 = local_28;" (assignment_expression "DAT_0007cf30 = local_28" identifier = identifier) ;) (expression_statement "uVar7 = (uint)*pbVar3;" (assignment_expression "uVar7 = (uint)*pbVar3" identifier = (binary_expression "(uint)*pbVar3" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if (uVar7 != 10) {\n    if (uVar7 < 0xb) {\n      DAT_0007cf30 = local_28;\n      if (uVar7 == 0) {\n        uVar7 = 0x100;\n        DAT_0007cf30 = pbVar3;\n      }\n    }\n    else {\n      if (uVar7 == 0x22) {\n        return 0x100;\n      }\n      DAT_0007cf30 = local_28;\n      if (uVar7 == 0x5c) {\n        DAT_0007cf30 = pbVar3 + 2;\n        uVar7 = (uint)pbVar3[1];\n        switch(uVar7) {\n        case 0:\n          uVar7 = 0x100;\n          DAT_0007cf30 = local_28;\n          break;\n        case 10:\n          goto LAB_00030450;\n        case 0x30:\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          uVar6 = 0;\n          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = DAT_0007cf30;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              DAT_0007cf30 = local_28 + 1;\n            } while ((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }\n          DAT_0007cf30 = local_28;\n          break;\n        case 0x58:\n        case 0x78:\n          bVar1 = pbVar3[2];\n          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n          if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = pbVar3 + 3;\n            do {\n              DAT_0007cf30 = pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *DAT_0007cf30;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = DAT_0007cf30 + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }\n          break;\n        case 0x62:\n          uVar7 = 8;\n          break;\n        case 0x66:\n          uVar7 = 0xc;\n          break;\n        case 0x6e:\n          uVar7 = 10;\n          break;\n        case 0x72:\n          uVar7 = 0xd;\n          break;\n        case 0x74:\n          uVar7 = 9;\n          break;\n        case 0x76:\n          uVar7 = 0xb;\n        }\n      }\n    }\n    return uVar7;\n  }" if (parenthesized_expression "(uVar7 != 10)" ( (binary_expression "uVar7 != 10" identifier != number_literal) )) (compound_statement "{\n    if (uVar7 < 0xb) {\n      DAT_0007cf30 = local_28;\n      if (uVar7 == 0) {\n        uVar7 = 0x100;\n        DAT_0007cf30 = pbVar3;\n      }\n    }\n    else {\n      if (uVar7 == 0x22) {\n        return 0x100;\n      }\n      DAT_0007cf30 = local_28;\n      if (uVar7 == 0x5c) {\n        DAT_0007cf30 = pbVar3 + 2;\n        uVar7 = (uint)pbVar3[1];\n        switch(uVar7) {\n        case 0:\n          uVar7 = 0x100;\n          DAT_0007cf30 = local_28;\n          break;\n        case 10:\n          goto LAB_00030450;\n        case 0x30:\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          uVar6 = 0;\n          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = DAT_0007cf30;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              DAT_0007cf30 = local_28 + 1;\n            } while ((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }\n          DAT_0007cf30 = local_28;\n          break;\n        case 0x58:\n        case 0x78:\n          bVar1 = pbVar3[2];\n          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n          if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = pbVar3 + 3;\n            do {\n              DAT_0007cf30 = pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *DAT_0007cf30;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = DAT_0007cf30 + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }\n          break;\n        case 0x62:\n          uVar7 = 8;\n          break;\n        case 0x66:\n          uVar7 = 0xc;\n          break;\n        case 0x6e:\n          uVar7 = 10;\n          break;\n        case 0x72:\n          uVar7 = 0xd;\n          break;\n        case 0x74:\n          uVar7 = 9;\n          break;\n        case 0x76:\n          uVar7 = 0xb;\n        }\n      }\n    }\n    return uVar7;\n  }" { (if_statement "if (uVar7 < 0xb) {\n      DAT_0007cf30 = local_28;\n      if (uVar7 == 0) {\n        uVar7 = 0x100;\n        DAT_0007cf30 = pbVar3;\n      }\n    }\n    else {\n      if (uVar7 == 0x22) {\n        return 0x100;\n      }\n      DAT_0007cf30 = local_28;\n      if (uVar7 == 0x5c) {\n        DAT_0007cf30 = pbVar3 + 2;\n        uVar7 = (uint)pbVar3[1];\n        switch(uVar7) {\n        case 0:\n          uVar7 = 0x100;\n          DAT_0007cf30 = local_28;\n          break;\n        case 10:\n          goto LAB_00030450;\n        case 0x30:\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          uVar6 = 0;\n          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = DAT_0007cf30;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              DAT_0007cf30 = local_28 + 1;\n            } while ((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }\n          DAT_0007cf30 = local_28;\n          break;\n        case 0x58:\n        case 0x78:\n          bVar1 = pbVar3[2];\n          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n          if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = pbVar3 + 3;\n            do {\n              DAT_0007cf30 = pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *DAT_0007cf30;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = DAT_0007cf30 + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }\n          break;\n        case 0x62:\n          uVar7 = 8;\n          break;\n        case 0x66:\n          uVar7 = 0xc;\n          break;\n        case 0x6e:\n          uVar7 = 10;\n          break;\n        case 0x72:\n          uVar7 = 0xd;\n          break;\n        case 0x74:\n          uVar7 = 9;\n          break;\n        case 0x76:\n          uVar7 = 0xb;\n        }\n      }\n    }" if (parenthesized_expression "(uVar7 < 0xb)" ( (binary_expression "uVar7 < 0xb" identifier < number_literal) )) (compound_statement "{\n      DAT_0007cf30 = local_28;\n      if (uVar7 == 0) {\n        uVar7 = 0x100;\n        DAT_0007cf30 = pbVar3;\n      }\n    }" { (expression_statement "DAT_0007cf30 = local_28;" (assignment_expression "DAT_0007cf30 = local_28" identifier = identifier) ;) (if_statement "if (uVar7 == 0) {\n        uVar7 = 0x100;\n        DAT_0007cf30 = pbVar3;\n      }" if (parenthesized_expression "(uVar7 == 0)" ( (binary_expression "uVar7 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar7 = 0x100;\n        DAT_0007cf30 = pbVar3;\n      }" { (expression_statement "uVar7 = 0x100;" (assignment_expression "uVar7 = 0x100" identifier = number_literal) ;) (expression_statement "DAT_0007cf30 = pbVar3;" (assignment_expression "DAT_0007cf30 = pbVar3" identifier = identifier) ;) })) }) (else_clause "else {\n      if (uVar7 == 0x22) {\n        return 0x100;\n      }\n      DAT_0007cf30 = local_28;\n      if (uVar7 == 0x5c) {\n        DAT_0007cf30 = pbVar3 + 2;\n        uVar7 = (uint)pbVar3[1];\n        switch(uVar7) {\n        case 0:\n          uVar7 = 0x100;\n          DAT_0007cf30 = local_28;\n          break;\n        case 10:\n          goto LAB_00030450;\n        case 0x30:\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          uVar6 = 0;\n          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = DAT_0007cf30;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              DAT_0007cf30 = local_28 + 1;\n            } while ((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }\n          DAT_0007cf30 = local_28;\n          break;\n        case 0x58:\n        case 0x78:\n          bVar1 = pbVar3[2];\n          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n          if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = pbVar3 + 3;\n            do {\n              DAT_0007cf30 = pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *DAT_0007cf30;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = DAT_0007cf30 + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }\n          break;\n        case 0x62:\n          uVar7 = 8;\n          break;\n        case 0x66:\n          uVar7 = 0xc;\n          break;\n        case 0x6e:\n          uVar7 = 10;\n          break;\n        case 0x72:\n          uVar7 = 0xd;\n          break;\n        case 0x74:\n          uVar7 = 9;\n          break;\n        case 0x76:\n          uVar7 = 0xb;\n        }\n      }\n    }" else (compound_statement "{\n      if (uVar7 == 0x22) {\n        return 0x100;\n      }\n      DAT_0007cf30 = local_28;\n      if (uVar7 == 0x5c) {\n        DAT_0007cf30 = pbVar3 + 2;\n        uVar7 = (uint)pbVar3[1];\n        switch(uVar7) {\n        case 0:\n          uVar7 = 0x100;\n          DAT_0007cf30 = local_28;\n          break;\n        case 10:\n          goto LAB_00030450;\n        case 0x30:\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          uVar6 = 0;\n          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = DAT_0007cf30;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              DAT_0007cf30 = local_28 + 1;\n            } while ((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }\n          DAT_0007cf30 = local_28;\n          break;\n        case 0x58:\n        case 0x78:\n          bVar1 = pbVar3[2];\n          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n          if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = pbVar3 + 3;\n            do {\n              DAT_0007cf30 = pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *DAT_0007cf30;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = DAT_0007cf30 + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }\n          break;\n        case 0x62:\n          uVar7 = 8;\n          break;\n        case 0x66:\n          uVar7 = 0xc;\n          break;\n        case 0x6e:\n          uVar7 = 10;\n          break;\n        case 0x72:\n          uVar7 = 0xd;\n          break;\n        case 0x74:\n          uVar7 = 9;\n          break;\n        case 0x76:\n          uVar7 = 0xb;\n        }\n      }\n    }" { (if_statement "if (uVar7 == 0x22) {\n        return 0x100;\n      }" if (parenthesized_expression "(uVar7 == 0x22)" ( (binary_expression "uVar7 == 0x22" identifier == number_literal) )) (compound_statement "{\n        return 0x100;\n      }" { (return_statement "return 0x100;" return number_literal ;) })) (expression_statement "DAT_0007cf30 = local_28;" (assignment_expression "DAT_0007cf30 = local_28" identifier = identifier) ;) (if_statement "if (uVar7 == 0x5c) {\n        DAT_0007cf30 = pbVar3 + 2;\n        uVar7 = (uint)pbVar3[1];\n        switch(uVar7) {\n        case 0:\n          uVar7 = 0x100;\n          DAT_0007cf30 = local_28;\n          break;\n        case 10:\n          goto LAB_00030450;\n        case 0x30:\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          uVar6 = 0;\n          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = DAT_0007cf30;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              DAT_0007cf30 = local_28 + 1;\n            } while ((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }\n          DAT_0007cf30 = local_28;\n          break;\n        case 0x58:\n        case 0x78:\n          bVar1 = pbVar3[2];\n          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n          if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = pbVar3 + 3;\n            do {\n              DAT_0007cf30 = pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *DAT_0007cf30;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = DAT_0007cf30 + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }\n          break;\n        case 0x62:\n          uVar7 = 8;\n          break;\n        case 0x66:\n          uVar7 = 0xc;\n          break;\n        case 0x6e:\n          uVar7 = 10;\n          break;\n        case 0x72:\n          uVar7 = 0xd;\n          break;\n        case 0x74:\n          uVar7 = 9;\n          break;\n        case 0x76:\n          uVar7 = 0xb;\n        }\n      }" if (parenthesized_expression "(uVar7 == 0x5c)" ( (binary_expression "uVar7 == 0x5c" identifier == number_literal) )) (compound_statement "{\n        DAT_0007cf30 = pbVar3 + 2;\n        uVar7 = (uint)pbVar3[1];\n        switch(uVar7) {\n        case 0:\n          uVar7 = 0x100;\n          DAT_0007cf30 = local_28;\n          break;\n        case 10:\n          goto LAB_00030450;\n        case 0x30:\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          uVar6 = 0;\n          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = DAT_0007cf30;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              DAT_0007cf30 = local_28 + 1;\n            } while ((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }\n          DAT_0007cf30 = local_28;\n          break;\n        case 0x58:\n        case 0x78:\n          bVar1 = pbVar3[2];\n          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n          if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = pbVar3 + 3;\n            do {\n              DAT_0007cf30 = pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *DAT_0007cf30;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = DAT_0007cf30 + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }\n          break;\n        case 0x62:\n          uVar7 = 8;\n          break;\n        case 0x66:\n          uVar7 = 0xc;\n          break;\n        case 0x6e:\n          uVar7 = 10;\n          break;\n        case 0x72:\n          uVar7 = 0xd;\n          break;\n        case 0x74:\n          uVar7 = 9;\n          break;\n        case 0x76:\n          uVar7 = 0xb;\n        }\n      }" { (expression_statement "DAT_0007cf30 = pbVar3 + 2;" (assignment_expression "DAT_0007cf30 = pbVar3 + 2" identifier = (binary_expression "pbVar3 + 2" identifier + number_literal)) ;) (expression_statement "uVar7 = (uint)pbVar3[1];" (assignment_expression "uVar7 = (uint)pbVar3[1]" identifier = (cast_expression "(uint)pbVar3[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar3[1]" identifier [ number_literal ]))) ;) (switch_statement "switch(uVar7) {\n        case 0:\n          uVar7 = 0x100;\n          DAT_0007cf30 = local_28;\n          break;\n        case 10:\n          goto LAB_00030450;\n        case 0x30:\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          uVar6 = 0;\n          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = DAT_0007cf30;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              DAT_0007cf30 = local_28 + 1;\n            } while ((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }\n          DAT_0007cf30 = local_28;\n          break;\n        case 0x58:\n        case 0x78:\n          bVar1 = pbVar3[2];\n          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n          if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = pbVar3 + 3;\n            do {\n              DAT_0007cf30 = pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *DAT_0007cf30;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = DAT_0007cf30 + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }\n          break;\n        case 0x62:\n          uVar7 = 8;\n          break;\n        case 0x66:\n          uVar7 = 0xc;\n          break;\n        case 0x6e:\n          uVar7 = 10;\n          break;\n        case 0x72:\n          uVar7 = 0xd;\n          break;\n        case 0x74:\n          uVar7 = 9;\n          break;\n        case 0x76:\n          uVar7 = 0xb;\n        }" switch (parenthesized_expression "(uVar7)" ( identifier )) (compound_statement "{\n        case 0:\n          uVar7 = 0x100;\n          DAT_0007cf30 = local_28;\n          break;\n        case 10:\n          goto LAB_00030450;\n        case 0x30:\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          uVar6 = 0;\n          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = DAT_0007cf30;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              DAT_0007cf30 = local_28 + 1;\n            } while ((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }\n          DAT_0007cf30 = local_28;\n          break;\n        case 0x58:\n        case 0x78:\n          bVar1 = pbVar3[2];\n          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n          if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = pbVar3 + 3;\n            do {\n              DAT_0007cf30 = pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *DAT_0007cf30;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = DAT_0007cf30 + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }\n          break;\n        case 0x62:\n          uVar7 = 8;\n          break;\n        case 0x66:\n          uVar7 = 0xc;\n          break;\n        case 0x6e:\n          uVar7 = 10;\n          break;\n        case 0x72:\n          uVar7 = 0xd;\n          break;\n        case 0x74:\n          uVar7 = 9;\n          break;\n        case 0x76:\n          uVar7 = 0xb;\n        }" { (case_statement "case 0:\n          uVar7 = 0x100;\n          DAT_0007cf30 = local_28;\n          break;" case number_literal : (expression_statement "uVar7 = 0x100;" (assignment_expression "uVar7 = 0x100" identifier = number_literal) ;) (expression_statement "DAT_0007cf30 = local_28;" (assignment_expression "DAT_0007cf30 = local_28" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 10:\n          goto LAB_00030450;" case number_literal : (goto_statement "goto LAB_00030450;" goto statement_identifier ;)) (case_statement "case 0x30:" case number_literal :) (case_statement "case 0x31:" case number_literal :) (case_statement "case 0x32:" case number_literal :) (case_statement "case 0x33:" case number_literal :) (case_statement "case 0x34:" case number_literal :) (case_statement "case 0x35:" case number_literal :) (case_statement "case 0x36:" case number_literal :) (case_statement "case 0x37:" case number_literal :) (case_statement "case 0x38:" case number_literal :) (case_statement "case 0x39:\n          uVar6 = 0;\n          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = DAT_0007cf30;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              DAT_0007cf30 = local_28 + 1;\n            } while ((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }\n          DAT_0007cf30 = local_28;\n          break;" case number_literal : (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (if_statement "if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = DAT_0007cf30;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              DAT_0007cf30 = local_28 + 1;\n            } while ((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }" if (parenthesized_expression "((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0)" ( (binary_expression "(PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0" (parenthesized_expression "(PTR__sch_istable_00073f84[uVar7 * 2] & 4)" ( (binary_expression "PTR__sch_istable_00073f84[uVar7 * 2] & 4" (subscript_expression "PTR__sch_istable_00073f84[uVar7 * 2]" identifier [ (binary_expression "uVar7 * 2" identifier * number_literal) ]) & number_literal) )) == number_literal) )) (compound_statement "{\n            uVar7 = 0;\n          }" { (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) }) (else_clause "else {\n            do {\n              local_28 = DAT_0007cf30;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              DAT_0007cf30 = local_28 + 1;\n            } while ((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }" else (compound_statement "{\n            do {\n              local_28 = DAT_0007cf30;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              DAT_0007cf30 = local_28 + 1;\n            } while ((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }" { (do_statement "do {\n              local_28 = DAT_0007cf30;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              DAT_0007cf30 = local_28 + 1;\n            } while ((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0);" do (compound_statement "{\n              local_28 = DAT_0007cf30;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              DAT_0007cf30 = local_28 + 1;\n            }" { (expression_statement "local_28 = DAT_0007cf30;" (assignment_expression "local_28 = DAT_0007cf30" identifier = identifier) ;) (expression_statement "uVar6 = (uVar7 - 0x30) + uVar6 * 8;" (assignment_expression "uVar6 = (uVar7 - 0x30) + uVar6 * 8" identifier = (binary_expression "(uVar7 - 0x30) + uVar6 * 8" (parenthesized_expression "(uVar7 - 0x30)" ( (binary_expression "uVar7 - 0x30" identifier - number_literal) )) + (binary_expression "uVar6 * 8" identifier * number_literal))) ;) (expression_statement "uVar7 = (uint)(char)*local_28;" (assignment_expression "uVar7 = (uint)(char)*local_28" identifier = (binary_expression "(uint)(char)*local_28" (call_expression "(uint)(char)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(char)" ( identifier ))) * identifier)) ;) (expression_statement "bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);" (assignment_expression "bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2)" identifier = (call_expression "(byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2)" ( (binary_expression "*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2" (pointer_expression "*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2)" * (cast_expression "(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__sch_istable_00073f84 + (uint)*local_28 * 2)" ( (binary_expression "PTR__sch_istable_00073f84 + (uint)*local_28 * 2" identifier + (binary_expression "(uint)*local_28 * 2" (binary_expression "(uint)*local_28" (parenthesized_expression "(uint)" ( identifier )) * identifier) * number_literal)) )))) >> number_literal) )))) ;) (expression_statement "DAT_0007cf30 = local_28 + 1;" (assignment_expression "DAT_0007cf30 = local_28 + 1" identifier = (binary_expression "local_28 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0)" ( (binary_expression "(bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0" (parenthesized_expression "(bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3)" ( (binary_expression "bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3" identifier & (binary_expression "local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3" (binary_expression "local_28 + 1 + (-2 - (int)pbVar3)" (binary_expression "local_28 + 1" identifier + number_literal) + (parenthesized_expression "(-2 - (int)pbVar3)" ( (binary_expression "-2 - (int)pbVar3" number_literal - (cast_expression "(int)pbVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ))) != (cast_expression "(byte *)0x3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) != number_literal) )) ;) (expression_statement "uVar7 = uVar6 & 0xff;" (assignment_expression "uVar7 = uVar6 & 0xff" identifier = (binary_expression "uVar6 & 0xff" identifier & number_literal)) ;) }))) (expression_statement "DAT_0007cf30 = local_28;" (assignment_expression "DAT_0007cf30 = local_28" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 0x58:" case number_literal :) (case_statement "case 0x78:\n          bVar1 = pbVar3[2];\n          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n          if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = pbVar3 + 3;\n            do {\n              DAT_0007cf30 = pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *DAT_0007cf30;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = DAT_0007cf30 + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }\n          break;" case number_literal : (expression_statement "bVar1 = pbVar3[2];" (assignment_expression "bVar1 = pbVar3[2]" identifier = (subscript_expression "pbVar3[2]" identifier [ number_literal ])) ;) (expression_statement "uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);" (assignment_expression "uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2)" identifier = (pointer_expression "*(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2)" * (cast_expression "(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__sch_istable_00073f84 + (uint)bVar1 * 2)" ( (binary_expression "PTR__sch_istable_00073f84 + (uint)bVar1 * 2" identifier + (binary_expression "(uint)bVar1 * 2" (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) ))))) ;) (if_statement "if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = pbVar3 + 3;\n            do {\n              DAT_0007cf30 = pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *DAT_0007cf30;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = DAT_0007cf30 + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }" if (parenthesized_expression "((uVar2 & 0x100) == 0)" ( (binary_expression "(uVar2 & 0x100) == 0" (parenthesized_expression "(uVar2 & 0x100)" ( (binary_expression "uVar2 & 0x100" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            uVar7 = 0;\n          }" { (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) }) (else_clause "else {\n            uVar7 = 0;\n            pbVar3 = pbVar3 + 3;\n            do {\n              DAT_0007cf30 = pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *DAT_0007cf30;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = DAT_0007cf30 + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }" else (compound_statement "{\n            uVar7 = 0;\n            pbVar3 = pbVar3 + 3;\n            do {\n              DAT_0007cf30 = pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *DAT_0007cf30;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = DAT_0007cf30 + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }" { (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (expression_statement "pbVar3 = pbVar3 + 3;" (assignment_expression "pbVar3 = pbVar3 + 3" identifier = (binary_expression "pbVar3 + 3" identifier + number_literal)) ;) (do_statement "do {\n              DAT_0007cf30 = pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *DAT_0007cf30;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = DAT_0007cf30 + 1;\n            } while ((uVar2 & 0x100) != 0);" do (compound_statement "{\n              DAT_0007cf30 = pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *DAT_0007cf30;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = DAT_0007cf30 + 1;\n            }" { (expression_statement "DAT_0007cf30 = pbVar3;" (assignment_expression "DAT_0007cf30 = pbVar3" identifier = identifier) ;) (expression_statement "iVar5 = (int)(char)bVar1;" (assignment_expression "iVar5 = (int)(char)bVar1" identifier = (cast_expression "(int)(char)bVar1" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (expression_statement "iVar8 = uVar7 * 0x10;" (assignment_expression "iVar8 = uVar7 * 0x10" identifier = (binary_expression "uVar7 * 0x10" identifier * number_literal)) ;) (expression_statement "uVar7 = iVar5 + -0x30 + iVar8;" (assignment_expression "uVar7 = iVar5 + -0x30 + iVar8" identifier = (binary_expression "iVar5 + -0x30 + iVar8" (binary_expression "iVar5 + -0x30" identifier + number_literal) + identifier)) ;) (if_statement "if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }" if (parenthesized_expression "(((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0))" ( (binary_expression "((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)" (parenthesized_expression "((uVar2 & 4) == 0)" ( (binary_expression "(uVar2 & 4) == 0" (parenthesized_expression "(uVar2 & 4)" ( (binary_expression "uVar2 & 4" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)" ( (comma_expression "uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0" (assignment_expression "uVar7 = iVar5 + -0x57 + iVar8" identifier = (binary_expression "iVar5 + -0x57 + iVar8" (binary_expression "iVar5 + -0x57" identifier + number_literal) + identifier)) , (binary_expression "(uVar2 & 0x80) != 0" (parenthesized_expression "(uVar2 & 0x80)" ( (binary_expression "uVar2 & 0x80" identifier & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }" { (expression_statement "uVar7 = iVar5 + -0x37 + iVar8;" (assignment_expression "uVar7 = iVar5 + -0x37 + iVar8" identifier = (binary_expression "iVar5 + -0x37 + iVar8" (binary_expression "iVar5 + -0x37" identifier + number_literal) + identifier)) ;) })) (expression_statement "bVar1 = *DAT_0007cf30;" (assignment_expression "bVar1 = *DAT_0007cf30" identifier = (pointer_expression "*DAT_0007cf30" * identifier)) ;) (expression_statement "uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);" (assignment_expression "uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2)" identifier = (pointer_expression "*(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2)" * (cast_expression "(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__sch_istable_00073f84 + (uint)bVar1 * 2)" ( (binary_expression "PTR__sch_istable_00073f84 + (uint)bVar1 * 2" identifier + (binary_expression "(uint)bVar1 * 2" (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) ))))) ;) (expression_statement "pbVar3 = DAT_0007cf30 + 1;" (assignment_expression "pbVar3 = DAT_0007cf30 + 1" identifier = (binary_expression "DAT_0007cf30 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((uVar2 & 0x100) != 0)" ( (binary_expression "(uVar2 & 0x100) != 0" (parenthesized_expression "(uVar2 & 0x100)" ( (binary_expression "uVar2 & 0x100" identifier & number_literal) )) != number_literal) )) ;) (expression_statement "uVar7 = uVar7 & 0xff;" (assignment_expression "uVar7 = uVar7 & 0xff" identifier = (binary_expression "uVar7 & 0xff" identifier & number_literal)) ;) }))) (break_statement "break;" break ;)) (case_statement "case 0x62:\n          uVar7 = 8;\n          break;" case number_literal : (expression_statement "uVar7 = 8;" (assignment_expression "uVar7 = 8" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x66:\n          uVar7 = 0xc;\n          break;" case number_literal : (expression_statement "uVar7 = 0xc;" (assignment_expression "uVar7 = 0xc" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x6e:\n          uVar7 = 10;\n          break;" case number_literal : (expression_statement "uVar7 = 10;" (assignment_expression "uVar7 = 10" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x72:\n          uVar7 = 0xd;\n          break;" case number_literal : (expression_statement "uVar7 = 0xd;" (assignment_expression "uVar7 = 0xd" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x74:\n          uVar7 = 9;\n          break;" case number_literal : (expression_statement "uVar7 = 9;" (assignment_expression "uVar7 = 9" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x76:\n          uVar7 = 0xb;" case number_literal : (expression_statement "uVar7 = 0xb;" (assignment_expression "uVar7 = 0xb" identifier = number_literal) ;)) })) })) }))) (return_statement "return uVar7;" return identifier ;) })) (labeled_statement "LAB_00030450:\n  uVar4 = dcgettext(0,"unterminated string; newline inserted",5);" statement_identifier : (expression_statement "uVar4 = dcgettext(0,"unterminated string; newline inserted",5);" (assignment_expression "uVar4 = dcgettext(0,"unterminated string; newline inserted",5)" identifier = (call_expression "dcgettext(0,"unterminated string; newline inserted",5)" identifier (argument_list "(0,"unterminated string; newline inserted",5)" ( number_literal , (string_literal ""unterminated string; newline inserted"" " string_content ") , number_literal )))) ;)) (expression_statement "FUN_0002a6d0(uVar4);" (call_expression "FUN_0002a6d0(uVar4)" identifier (argument_list "(uVar4)" ( identifier ))) ;) (expression_statement "FUN_00024e50();" (call_expression "FUN_00024e50()" identifier (argument_list "()" ( ))) ;) (return_statement "return uVar7;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (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 TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (break_statement break ;)) (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ (binary_expression IDENT * LIT) ]) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - LIT) )) + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * IDENT) * LIT)) )))) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & (binary_expression (binary_expression (binary_expression IDENT + LIT) + (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) )) != LIT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + LIT) + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (binary_expression IDENT + LIT) + IDENT)) , (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + LIT) + IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) }))) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;)) })) })) }))) (return_statement return IDENT ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return IDENT ;) })))
(function_definition "uint FUN_000303d0(void)\n\n{\n  byte bVar1;\n  ushort uVar2;\n  byte *pbVar3;\n  undefined4 uVar4;\n  int iVar5;\n  uint uVar6;\n  uint uVar7;\n  int iVar8;\n  byte *local_28;\n  byte bStack_22;\n  \n  pbVar3 = DAT_0007cf30;\n  local_28 = DAT_0007cf30 + 1;\n  DAT_0007cf30 = local_28;\n  uVar7 = (uint)*pbVar3;\n  if (uVar7 != 10) {\n    if (uVar7 < 0xb) {\n      DAT_0007cf30 = local_28;\n      if (uVar7 == 0) {\n        uVar7 = 0x100;\n        DAT_0007cf30 = pbVar3;\n      }\n    }\n    else {\n      if (uVar7 == 0x22) {\n        return 0x100;\n      }\n      DAT_0007cf30 = local_28;\n      if (uVar7 == 0x5c) {\n        DAT_0007cf30 = pbVar3 + 2;\n        uVar7 = (uint)pbVar3[1];\n        switch(uVar7) {\n        case 0:\n          uVar7 = 0x100;\n          DAT_0007cf30 = local_28;\n          break;\n        case 10:\n          goto LAB_00030450;\n        case 0x30:\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          uVar6 = 0;\n          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = DAT_0007cf30;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              DAT_0007cf30 = local_28 + 1;\n            } while ((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }\n          DAT_0007cf30 = local_28;\n          break;\n        case 0x58:\n        case 0x78:\n          bVar1 = pbVar3[2];\n          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n          if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = pbVar3 + 3;\n            do {\n              DAT_0007cf30 = pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *DAT_0007cf30;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = DAT_0007cf30 + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }\n          break;\n        case 0x62:\n          uVar7 = 8;\n          break;\n        case 0x66:\n          uVar7 = 0xc;\n          break;\n        case 0x6e:\n          uVar7 = 10;\n          break;\n        case 0x72:\n          uVar7 = 0xd;\n          break;\n        case 0x74:\n          uVar7 = 9;\n          break;\n        case 0x76:\n          uVar7 = 0xb;\n        }\n      }\n    }\n    return uVar7;\n  }\nLAB_00030450:\n  uVar4 = dcgettext(0,"unterminated string; newline inserted",5);\n  FUN_0002a6d0(uVar4);\n  FUN_00024e50();\n  return uVar7;\n}" (type_identifier "uint") (function_declarator "FUN_000303d0(void)" (identifier "FUN_000303d0") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  byte bVar1;\n  ushort uVar2;\n  byte *pbVar3;\n  undefined4 uVar4;\n  int iVar5;\n  uint uVar6;\n  uint uVar7;\n  int iVar8;\n  byte *local_28;\n  byte bStack_22;\n  \n  pbVar3 = DAT_0007cf30;\n  local_28 = DAT_0007cf30 + 1;\n  DAT_0007cf30 = local_28;\n  uVar7 = (uint)*pbVar3;\n  if (uVar7 != 10) {\n    if (uVar7 < 0xb) {\n      DAT_0007cf30 = local_28;\n      if (uVar7 == 0) {\n        uVar7 = 0x100;\n        DAT_0007cf30 = pbVar3;\n      }\n    }\n    else {\n      if (uVar7 == 0x22) {\n        return 0x100;\n      }\n      DAT_0007cf30 = local_28;\n      if (uVar7 == 0x5c) {\n        DAT_0007cf30 = pbVar3 + 2;\n        uVar7 = (uint)pbVar3[1];\n        switch(uVar7) {\n        case 0:\n          uVar7 = 0x100;\n          DAT_0007cf30 = local_28;\n          break;\n        case 10:\n          goto LAB_00030450;\n        case 0x30:\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          uVar6 = 0;\n          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = DAT_0007cf30;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              DAT_0007cf30 = local_28 + 1;\n            } while ((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }\n          DAT_0007cf30 = local_28;\n          break;\n        case 0x58:\n        case 0x78:\n          bVar1 = pbVar3[2];\n          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n          if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = pbVar3 + 3;\n            do {\n              DAT_0007cf30 = pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *DAT_0007cf30;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = DAT_0007cf30 + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }\n          break;\n        case 0x62:\n          uVar7 = 8;\n          break;\n        case 0x66:\n          uVar7 = 0xc;\n          break;\n        case 0x6e:\n          uVar7 = 10;\n          break;\n        case 0x72:\n          uVar7 = 0xd;\n          break;\n        case 0x74:\n          uVar7 = 9;\n          break;\n        case 0x76:\n          uVar7 = 0xb;\n        }\n      }\n    }\n    return uVar7;\n  }\nLAB_00030450:\n  uVar4 = dcgettext(0,"unterminated string; newline inserted",5);\n  FUN_0002a6d0(uVar4);\n  FUN_00024e50();\n  return uVar7;\n}" ({ "{") (declaration "byte bVar1;" (type_identifier "byte") (identifier "bVar1") (; ";")) (declaration "ushort uVar2;" (type_identifier "ushort") (identifier "uVar2") (; ";")) (declaration "byte *pbVar3;" (type_identifier "byte") (pointer_declarator "*pbVar3" (* "*") (identifier "pbVar3")) (; ";")) (declaration "undefined4 uVar4;" (type_identifier "undefined4") (identifier "uVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "byte *local_28;" (type_identifier "byte") (pointer_declarator "*local_28" (* "*") (identifier "local_28")) (; ";")) (declaration "byte bStack_22;" (type_identifier "byte") (identifier "bStack_22") (; ";")) (expression_statement "pbVar3 = DAT_0007cf30;" (assignment_expression "pbVar3 = DAT_0007cf30" (identifier "pbVar3") (= "=") (identifier "DAT_0007cf30")) (; ";")) (expression_statement "local_28 = DAT_0007cf30 + 1;" (assignment_expression "local_28 = DAT_0007cf30 + 1" (identifier "local_28") (= "=") (binary_expression "DAT_0007cf30 + 1" (identifier "DAT_0007cf30") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "DAT_0007cf30 = local_28;" (assignment_expression "DAT_0007cf30 = local_28" (identifier "DAT_0007cf30") (= "=") (identifier "local_28")) (; ";")) (expression_statement "uVar7 = (uint)*pbVar3;" (assignment_expression "uVar7 = (uint)*pbVar3" (identifier "uVar7") (= "=") (binary_expression "(uint)*pbVar3" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pbVar3"))) (; ";")) (if_statement "if (uVar7 != 10) {\n    if (uVar7 < 0xb) {\n      DAT_0007cf30 = local_28;\n      if (uVar7 == 0) {\n        uVar7 = 0x100;\n        DAT_0007cf30 = pbVar3;\n      }\n    }\n    else {\n      if (uVar7 == 0x22) {\n        return 0x100;\n      }\n      DAT_0007cf30 = local_28;\n      if (uVar7 == 0x5c) {\n        DAT_0007cf30 = pbVar3 + 2;\n        uVar7 = (uint)pbVar3[1];\n        switch(uVar7) {\n        case 0:\n          uVar7 = 0x100;\n          DAT_0007cf30 = local_28;\n          break;\n        case 10:\n          goto LAB_00030450;\n        case 0x30:\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          uVar6 = 0;\n          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = DAT_0007cf30;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              DAT_0007cf30 = local_28 + 1;\n            } while ((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }\n          DAT_0007cf30 = local_28;\n          break;\n        case 0x58:\n        case 0x78:\n          bVar1 = pbVar3[2];\n          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n          if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = pbVar3 + 3;\n            do {\n              DAT_0007cf30 = pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *DAT_0007cf30;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = DAT_0007cf30 + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }\n          break;\n        case 0x62:\n          uVar7 = 8;\n          break;\n        case 0x66:\n          uVar7 = 0xc;\n          break;\n        case 0x6e:\n          uVar7 = 10;\n          break;\n        case 0x72:\n          uVar7 = 0xd;\n          break;\n        case 0x74:\n          uVar7 = 9;\n          break;\n        case 0x76:\n          uVar7 = 0xb;\n        }\n      }\n    }\n    return uVar7;\n  }" (if "if") (parenthesized_expression "(uVar7 != 10)" (( "(") (binary_expression "uVar7 != 10" (identifier "uVar7") (!= "!=") (number_literal "10")) () ")")) (compound_statement "{\n    if (uVar7 < 0xb) {\n      DAT_0007cf30 = local_28;\n      if (uVar7 == 0) {\n        uVar7 = 0x100;\n        DAT_0007cf30 = pbVar3;\n      }\n    }\n    else {\n      if (uVar7 == 0x22) {\n        return 0x100;\n      }\n      DAT_0007cf30 = local_28;\n      if (uVar7 == 0x5c) {\n        DAT_0007cf30 = pbVar3 + 2;\n        uVar7 = (uint)pbVar3[1];\n        switch(uVar7) {\n        case 0:\n          uVar7 = 0x100;\n          DAT_0007cf30 = local_28;\n          break;\n        case 10:\n          goto LAB_00030450;\n        case 0x30:\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          uVar6 = 0;\n          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = DAT_0007cf30;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              DAT_0007cf30 = local_28 + 1;\n            } while ((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }\n          DAT_0007cf30 = local_28;\n          break;\n        case 0x58:\n        case 0x78:\n          bVar1 = pbVar3[2];\n          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n          if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = pbVar3 + 3;\n            do {\n              DAT_0007cf30 = pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *DAT_0007cf30;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = DAT_0007cf30 + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }\n          break;\n        case 0x62:\n          uVar7 = 8;\n          break;\n        case 0x66:\n          uVar7 = 0xc;\n          break;\n        case 0x6e:\n          uVar7 = 10;\n          break;\n        case 0x72:\n          uVar7 = 0xd;\n          break;\n        case 0x74:\n          uVar7 = 9;\n          break;\n        case 0x76:\n          uVar7 = 0xb;\n        }\n      }\n    }\n    return uVar7;\n  }" ({ "{") (if_statement "if (uVar7 < 0xb) {\n      DAT_0007cf30 = local_28;\n      if (uVar7 == 0) {\n        uVar7 = 0x100;\n        DAT_0007cf30 = pbVar3;\n      }\n    }\n    else {\n      if (uVar7 == 0x22) {\n        return 0x100;\n      }\n      DAT_0007cf30 = local_28;\n      if (uVar7 == 0x5c) {\n        DAT_0007cf30 = pbVar3 + 2;\n        uVar7 = (uint)pbVar3[1];\n        switch(uVar7) {\n        case 0:\n          uVar7 = 0x100;\n          DAT_0007cf30 = local_28;\n          break;\n        case 10:\n          goto LAB_00030450;\n        case 0x30:\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          uVar6 = 0;\n          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = DAT_0007cf30;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              DAT_0007cf30 = local_28 + 1;\n            } while ((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }\n          DAT_0007cf30 = local_28;\n          break;\n        case 0x58:\n        case 0x78:\n          bVar1 = pbVar3[2];\n          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n          if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = pbVar3 + 3;\n            do {\n              DAT_0007cf30 = pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *DAT_0007cf30;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = DAT_0007cf30 + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }\n          break;\n        case 0x62:\n          uVar7 = 8;\n          break;\n        case 0x66:\n          uVar7 = 0xc;\n          break;\n        case 0x6e:\n          uVar7 = 10;\n          break;\n        case 0x72:\n          uVar7 = 0xd;\n          break;\n        case 0x74:\n          uVar7 = 9;\n          break;\n        case 0x76:\n          uVar7 = 0xb;\n        }\n      }\n    }" (if "if") (parenthesized_expression "(uVar7 < 0xb)" (( "(") (binary_expression "uVar7 < 0xb" (identifier "uVar7") (< "<") (number_literal "0xb")) () ")")) (compound_statement "{\n      DAT_0007cf30 = local_28;\n      if (uVar7 == 0) {\n        uVar7 = 0x100;\n        DAT_0007cf30 = pbVar3;\n      }\n    }" ({ "{") (expression_statement "DAT_0007cf30 = local_28;" (assignment_expression "DAT_0007cf30 = local_28" (identifier "DAT_0007cf30") (= "=") (identifier "local_28")) (; ";")) (if_statement "if (uVar7 == 0) {\n        uVar7 = 0x100;\n        DAT_0007cf30 = pbVar3;\n      }" (if "if") (parenthesized_expression "(uVar7 == 0)" (( "(") (binary_expression "uVar7 == 0" (identifier "uVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar7 = 0x100;\n        DAT_0007cf30 = pbVar3;\n      }" ({ "{") (expression_statement "uVar7 = 0x100;" (assignment_expression "uVar7 = 0x100" (identifier "uVar7") (= "=") (number_literal "0x100")) (; ";")) (expression_statement "DAT_0007cf30 = pbVar3;" (assignment_expression "DAT_0007cf30 = pbVar3" (identifier "DAT_0007cf30") (= "=") (identifier "pbVar3")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      if (uVar7 == 0x22) {\n        return 0x100;\n      }\n      DAT_0007cf30 = local_28;\n      if (uVar7 == 0x5c) {\n        DAT_0007cf30 = pbVar3 + 2;\n        uVar7 = (uint)pbVar3[1];\n        switch(uVar7) {\n        case 0:\n          uVar7 = 0x100;\n          DAT_0007cf30 = local_28;\n          break;\n        case 10:\n          goto LAB_00030450;\n        case 0x30:\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          uVar6 = 0;\n          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = DAT_0007cf30;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              DAT_0007cf30 = local_28 + 1;\n            } while ((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }\n          DAT_0007cf30 = local_28;\n          break;\n        case 0x58:\n        case 0x78:\n          bVar1 = pbVar3[2];\n          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n          if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = pbVar3 + 3;\n            do {\n              DAT_0007cf30 = pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *DAT_0007cf30;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = DAT_0007cf30 + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }\n          break;\n        case 0x62:\n          uVar7 = 8;\n          break;\n        case 0x66:\n          uVar7 = 0xc;\n          break;\n        case 0x6e:\n          uVar7 = 10;\n          break;\n        case 0x72:\n          uVar7 = 0xd;\n          break;\n        case 0x74:\n          uVar7 = 9;\n          break;\n        case 0x76:\n          uVar7 = 0xb;\n        }\n      }\n    }" (else "else") (compound_statement "{\n      if (uVar7 == 0x22) {\n        return 0x100;\n      }\n      DAT_0007cf30 = local_28;\n      if (uVar7 == 0x5c) {\n        DAT_0007cf30 = pbVar3 + 2;\n        uVar7 = (uint)pbVar3[1];\n        switch(uVar7) {\n        case 0:\n          uVar7 = 0x100;\n          DAT_0007cf30 = local_28;\n          break;\n        case 10:\n          goto LAB_00030450;\n        case 0x30:\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          uVar6 = 0;\n          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = DAT_0007cf30;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              DAT_0007cf30 = local_28 + 1;\n            } while ((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }\n          DAT_0007cf30 = local_28;\n          break;\n        case 0x58:\n        case 0x78:\n          bVar1 = pbVar3[2];\n          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n          if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = pbVar3 + 3;\n            do {\n              DAT_0007cf30 = pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *DAT_0007cf30;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = DAT_0007cf30 + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }\n          break;\n        case 0x62:\n          uVar7 = 8;\n          break;\n        case 0x66:\n          uVar7 = 0xc;\n          break;\n        case 0x6e:\n          uVar7 = 10;\n          break;\n        case 0x72:\n          uVar7 = 0xd;\n          break;\n        case 0x74:\n          uVar7 = 9;\n          break;\n        case 0x76:\n          uVar7 = 0xb;\n        }\n      }\n    }" ({ "{") (if_statement "if (uVar7 == 0x22) {\n        return 0x100;\n      }" (if "if") (parenthesized_expression "(uVar7 == 0x22)" (( "(") (binary_expression "uVar7 == 0x22" (identifier "uVar7") (== "==") (number_literal "0x22")) () ")")) (compound_statement "{\n        return 0x100;\n      }" ({ "{") (return_statement "return 0x100;" (return "return") (number_literal "0x100") (; ";")) (} "}"))) (expression_statement "DAT_0007cf30 = local_28;" (assignment_expression "DAT_0007cf30 = local_28" (identifier "DAT_0007cf30") (= "=") (identifier "local_28")) (; ";")) (if_statement "if (uVar7 == 0x5c) {\n        DAT_0007cf30 = pbVar3 + 2;\n        uVar7 = (uint)pbVar3[1];\n        switch(uVar7) {\n        case 0:\n          uVar7 = 0x100;\n          DAT_0007cf30 = local_28;\n          break;\n        case 10:\n          goto LAB_00030450;\n        case 0x30:\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          uVar6 = 0;\n          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = DAT_0007cf30;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              DAT_0007cf30 = local_28 + 1;\n            } while ((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }\n          DAT_0007cf30 = local_28;\n          break;\n        case 0x58:\n        case 0x78:\n          bVar1 = pbVar3[2];\n          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n          if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = pbVar3 + 3;\n            do {\n              DAT_0007cf30 = pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *DAT_0007cf30;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = DAT_0007cf30 + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }\n          break;\n        case 0x62:\n          uVar7 = 8;\n          break;\n        case 0x66:\n          uVar7 = 0xc;\n          break;\n        case 0x6e:\n          uVar7 = 10;\n          break;\n        case 0x72:\n          uVar7 = 0xd;\n          break;\n        case 0x74:\n          uVar7 = 9;\n          break;\n        case 0x76:\n          uVar7 = 0xb;\n        }\n      }" (if "if") (parenthesized_expression "(uVar7 == 0x5c)" (( "(") (binary_expression "uVar7 == 0x5c" (identifier "uVar7") (== "==") (number_literal "0x5c")) () ")")) (compound_statement "{\n        DAT_0007cf30 = pbVar3 + 2;\n        uVar7 = (uint)pbVar3[1];\n        switch(uVar7) {\n        case 0:\n          uVar7 = 0x100;\n          DAT_0007cf30 = local_28;\n          break;\n        case 10:\n          goto LAB_00030450;\n        case 0x30:\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          uVar6 = 0;\n          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = DAT_0007cf30;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              DAT_0007cf30 = local_28 + 1;\n            } while ((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }\n          DAT_0007cf30 = local_28;\n          break;\n        case 0x58:\n        case 0x78:\n          bVar1 = pbVar3[2];\n          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n          if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = pbVar3 + 3;\n            do {\n              DAT_0007cf30 = pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *DAT_0007cf30;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = DAT_0007cf30 + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }\n          break;\n        case 0x62:\n          uVar7 = 8;\n          break;\n        case 0x66:\n          uVar7 = 0xc;\n          break;\n        case 0x6e:\n          uVar7 = 10;\n          break;\n        case 0x72:\n          uVar7 = 0xd;\n          break;\n        case 0x74:\n          uVar7 = 9;\n          break;\n        case 0x76:\n          uVar7 = 0xb;\n        }\n      }" ({ "{") (expression_statement "DAT_0007cf30 = pbVar3 + 2;" (assignment_expression "DAT_0007cf30 = pbVar3 + 2" (identifier "DAT_0007cf30") (= "=") (binary_expression "pbVar3 + 2" (identifier "pbVar3") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "uVar7 = (uint)pbVar3[1];" (assignment_expression "uVar7 = (uint)pbVar3[1]" (identifier "uVar7") (= "=") (cast_expression "(uint)pbVar3[1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar3[1]" (identifier "pbVar3") ([ "[") (number_literal "1") (] "]")))) (; ";")) (switch_statement "switch(uVar7) {\n        case 0:\n          uVar7 = 0x100;\n          DAT_0007cf30 = local_28;\n          break;\n        case 10:\n          goto LAB_00030450;\n        case 0x30:\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          uVar6 = 0;\n          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = DAT_0007cf30;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              DAT_0007cf30 = local_28 + 1;\n            } while ((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }\n          DAT_0007cf30 = local_28;\n          break;\n        case 0x58:\n        case 0x78:\n          bVar1 = pbVar3[2];\n          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n          if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = pbVar3 + 3;\n            do {\n              DAT_0007cf30 = pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *DAT_0007cf30;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = DAT_0007cf30 + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }\n          break;\n        case 0x62:\n          uVar7 = 8;\n          break;\n        case 0x66:\n          uVar7 = 0xc;\n          break;\n        case 0x6e:\n          uVar7 = 10;\n          break;\n        case 0x72:\n          uVar7 = 0xd;\n          break;\n        case 0x74:\n          uVar7 = 9;\n          break;\n        case 0x76:\n          uVar7 = 0xb;\n        }" (switch "switch") (parenthesized_expression "(uVar7)" (( "(") (identifier "uVar7") () ")")) (compound_statement "{\n        case 0:\n          uVar7 = 0x100;\n          DAT_0007cf30 = local_28;\n          break;\n        case 10:\n          goto LAB_00030450;\n        case 0x30:\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n          uVar6 = 0;\n          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = DAT_0007cf30;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              DAT_0007cf30 = local_28 + 1;\n            } while ((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }\n          DAT_0007cf30 = local_28;\n          break;\n        case 0x58:\n        case 0x78:\n          bVar1 = pbVar3[2];\n          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n          if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = pbVar3 + 3;\n            do {\n              DAT_0007cf30 = pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *DAT_0007cf30;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = DAT_0007cf30 + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }\n          break;\n        case 0x62:\n          uVar7 = 8;\n          break;\n        case 0x66:\n          uVar7 = 0xc;\n          break;\n        case 0x6e:\n          uVar7 = 10;\n          break;\n        case 0x72:\n          uVar7 = 0xd;\n          break;\n        case 0x74:\n          uVar7 = 9;\n          break;\n        case 0x76:\n          uVar7 = 0xb;\n        }" ({ "{") (case_statement "case 0:\n          uVar7 = 0x100;\n          DAT_0007cf30 = local_28;\n          break;" (case "case") (number_literal "0") (: ":") (expression_statement "uVar7 = 0x100;" (assignment_expression "uVar7 = 0x100" (identifier "uVar7") (= "=") (number_literal "0x100")) (; ";")) (expression_statement "DAT_0007cf30 = local_28;" (assignment_expression "DAT_0007cf30 = local_28" (identifier "DAT_0007cf30") (= "=") (identifier "local_28")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 10:\n          goto LAB_00030450;" (case "case") (number_literal "10") (: ":") (goto_statement "goto LAB_00030450;" (goto "goto") (statement_identifier "LAB_00030450") (; ";"))) (case_statement "case 0x30:" (case "case") (number_literal "0x30") (: ":")) (case_statement "case 0x31:" (case "case") (number_literal "0x31") (: ":")) (case_statement "case 0x32:" (case "case") (number_literal "0x32") (: ":")) (case_statement "case 0x33:" (case "case") (number_literal "0x33") (: ":")) (case_statement "case 0x34:" (case "case") (number_literal "0x34") (: ":")) (case_statement "case 0x35:" (case "case") (number_literal "0x35") (: ":")) (case_statement "case 0x36:" (case "case") (number_literal "0x36") (: ":")) (case_statement "case 0x37:" (case "case") (number_literal "0x37") (: ":")) (case_statement "case 0x38:" (case "case") (number_literal "0x38") (: ":")) (case_statement "case 0x39:\n          uVar6 = 0;\n          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = DAT_0007cf30;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              DAT_0007cf30 = local_28 + 1;\n            } while ((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }\n          DAT_0007cf30 = local_28;\n          break;" (case "case") (number_literal "0x39") (: ":") (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" (identifier "uVar6") (= "=") (number_literal "0")) (; ";")) (if_statement "if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            do {\n              local_28 = DAT_0007cf30;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              DAT_0007cf30 = local_28 + 1;\n            } while ((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }" (if "if") (parenthesized_expression "((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0)" (( "(") (binary_expression "(PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0" (parenthesized_expression "(PTR__sch_istable_00073f84[uVar7 * 2] & 4)" (( "(") (binary_expression "PTR__sch_istable_00073f84[uVar7 * 2] & 4" (subscript_expression "PTR__sch_istable_00073f84[uVar7 * 2]" (identifier "PTR__sch_istable_00073f84") ([ "[") (binary_expression "uVar7 * 2" (identifier "uVar7") (* "*") (number_literal "2")) (] "]")) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            uVar7 = 0;\n          }" ({ "{") (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" (identifier "uVar7") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n            do {\n              local_28 = DAT_0007cf30;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              DAT_0007cf30 = local_28 + 1;\n            } while ((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }" (else "else") (compound_statement "{\n            do {\n              local_28 = DAT_0007cf30;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              DAT_0007cf30 = local_28 + 1;\n            } while ((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0);\n            uVar7 = uVar6 & 0xff;\n          }" ({ "{") (do_statement "do {\n              local_28 = DAT_0007cf30;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              DAT_0007cf30 = local_28 + 1;\n            } while ((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0);" (do "do") (compound_statement "{\n              local_28 = DAT_0007cf30;\n              uVar6 = (uVar7 - 0x30) + uVar6 * 8;\n              uVar7 = (uint)(char)*local_28;\n              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);\n              DAT_0007cf30 = local_28 + 1;\n            }" ({ "{") (expression_statement "local_28 = DAT_0007cf30;" (assignment_expression "local_28 = DAT_0007cf30" (identifier "local_28") (= "=") (identifier "DAT_0007cf30")) (; ";")) (expression_statement "uVar6 = (uVar7 - 0x30) + uVar6 * 8;" (assignment_expression "uVar6 = (uVar7 - 0x30) + uVar6 * 8" (identifier "uVar6") (= "=") (binary_expression "(uVar7 - 0x30) + uVar6 * 8" (parenthesized_expression "(uVar7 - 0x30)" (( "(") (binary_expression "uVar7 - 0x30" (identifier "uVar7") (- "-") (number_literal "0x30")) () ")")) (+ "+") (binary_expression "uVar6 * 8" (identifier "uVar6") (* "*") (number_literal "8")))) (; ";")) (expression_statement "uVar7 = (uint)(char)*local_28;" (assignment_expression "uVar7 = (uint)(char)*local_28" (identifier "uVar7") (= "=") (binary_expression "(uint)(char)*local_28" (call_expression "(uint)(char)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(char)" (( "(") (identifier "char") () ")"))) (* "*") (identifier "local_28"))) (; ";")) (expression_statement "bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);" (assignment_expression "bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2)" (identifier "bStack_22") (= "=") (call_expression "(byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2)" (( "(") (binary_expression "*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2" (pointer_expression "*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2)" (* "*") (cast_expression "(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR__sch_istable_00073f84 + (uint)*local_28 * 2)" (( "(") (binary_expression "PTR__sch_istable_00073f84 + (uint)*local_28 * 2" (identifier "PTR__sch_istable_00073f84") (+ "+") (binary_expression "(uint)*local_28 * 2" (binary_expression "(uint)*local_28" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "local_28")) (* "*") (number_literal "2"))) () ")")))) (>> ">>") (number_literal "2")) () ")")))) (; ";")) (expression_statement "DAT_0007cf30 = local_28 + 1;" (assignment_expression "DAT_0007cf30 = local_28 + 1" (identifier "DAT_0007cf30") (= "=") (binary_expression "local_28 + 1" (identifier "local_28") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0)" (( "(") (binary_expression "(bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0" (parenthesized_expression "(bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3)" (( "(") (binary_expression "bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3" (identifier "bStack_22") (& "&") (binary_expression "local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3" (binary_expression "local_28 + 1 + (-2 - (int)pbVar3)" (binary_expression "local_28 + 1" (identifier "local_28") (+ "+") (number_literal "1")) (+ "+") (parenthesized_expression "(-2 - (int)pbVar3)" (( "(") (binary_expression "-2 - (int)pbVar3" (number_literal "-2") (- "-") (cast_expression "(int)pbVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar3"))) () ")"))) (!= "!=") (cast_expression "(byte *)0x3" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x3")))) () ")")) (!= "!=") (number_literal "0")) () ")")) (; ";")) (expression_statement "uVar7 = uVar6 & 0xff;" (assignment_expression "uVar7 = uVar6 & 0xff" (identifier "uVar7") (= "=") (binary_expression "uVar6 & 0xff" (identifier "uVar6") (& "&") (number_literal "0xff"))) (; ";")) (} "}")))) (expression_statement "DAT_0007cf30 = local_28;" (assignment_expression "DAT_0007cf30 = local_28" (identifier "DAT_0007cf30") (= "=") (identifier "local_28")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x58:" (case "case") (number_literal "0x58") (: ":")) (case_statement "case 0x78:\n          bVar1 = pbVar3[2];\n          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n          if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = pbVar3 + 3;\n            do {\n              DAT_0007cf30 = pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *DAT_0007cf30;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = DAT_0007cf30 + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }\n          break;" (case "case") (number_literal "0x78") (: ":") (expression_statement "bVar1 = pbVar3[2];" (assignment_expression "bVar1 = pbVar3[2]" (identifier "bVar1") (= "=") (subscript_expression "pbVar3[2]" (identifier "pbVar3") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);" (assignment_expression "uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2)" (identifier "uVar2") (= "=") (pointer_expression "*(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2)" (* "*") (cast_expression "(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR__sch_istable_00073f84 + (uint)bVar1 * 2)" (( "(") (binary_expression "PTR__sch_istable_00073f84 + (uint)bVar1 * 2" (identifier "PTR__sch_istable_00073f84") (+ "+") (binary_expression "(uint)bVar1 * 2" (cast_expression "(uint)bVar1" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar1")) (* "*") (number_literal "2"))) () ")"))))) (; ";")) (if_statement "if ((uVar2 & 0x100) == 0) {\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 0;\n            pbVar3 = pbVar3 + 3;\n            do {\n              DAT_0007cf30 = pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *DAT_0007cf30;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = DAT_0007cf30 + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }" (if "if") (parenthesized_expression "((uVar2 & 0x100) == 0)" (( "(") (binary_expression "(uVar2 & 0x100) == 0" (parenthesized_expression "(uVar2 & 0x100)" (( "(") (binary_expression "uVar2 & 0x100" (identifier "uVar2") (& "&") (number_literal "0x100")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            uVar7 = 0;\n          }" ({ "{") (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" (identifier "uVar7") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n            uVar7 = 0;\n            pbVar3 = pbVar3 + 3;\n            do {\n              DAT_0007cf30 = pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *DAT_0007cf30;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = DAT_0007cf30 + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }" (else "else") (compound_statement "{\n            uVar7 = 0;\n            pbVar3 = pbVar3 + 3;\n            do {\n              DAT_0007cf30 = pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *DAT_0007cf30;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = DAT_0007cf30 + 1;\n            } while ((uVar2 & 0x100) != 0);\n            uVar7 = uVar7 & 0xff;\n          }" ({ "{") (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" (identifier "uVar7") (= "=") (number_literal "0")) (; ";")) (expression_statement "pbVar3 = pbVar3 + 3;" (assignment_expression "pbVar3 = pbVar3 + 3" (identifier "pbVar3") (= "=") (binary_expression "pbVar3 + 3" (identifier "pbVar3") (+ "+") (number_literal "3"))) (; ";")) (do_statement "do {\n              DAT_0007cf30 = pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *DAT_0007cf30;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = DAT_0007cf30 + 1;\n            } while ((uVar2 & 0x100) != 0);" (do "do") (compound_statement "{\n              DAT_0007cf30 = pbVar3;\n              iVar5 = (int)(char)bVar1;\n              iVar8 = uVar7 * 0x10;\n              uVar7 = iVar5 + -0x30 + iVar8;\n              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }\n              bVar1 = *DAT_0007cf30;\n              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);\n              pbVar3 = DAT_0007cf30 + 1;\n            }" ({ "{") (expression_statement "DAT_0007cf30 = pbVar3;" (assignment_expression "DAT_0007cf30 = pbVar3" (identifier "DAT_0007cf30") (= "=") (identifier "pbVar3")) (; ";")) (expression_statement "iVar5 = (int)(char)bVar1;" (assignment_expression "iVar5 = (int)(char)bVar1" (identifier "iVar5") (= "=") (cast_expression "(int)(char)bVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)bVar1" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar1")))) (; ";")) (expression_statement "iVar8 = uVar7 * 0x10;" (assignment_expression "iVar8 = uVar7 * 0x10" (identifier "iVar8") (= "=") (binary_expression "uVar7 * 0x10" (identifier "uVar7") (* "*") (number_literal "0x10"))) (; ";")) (expression_statement "uVar7 = iVar5 + -0x30 + iVar8;" (assignment_expression "uVar7 = iVar5 + -0x30 + iVar8" (identifier "uVar7") (= "=") (binary_expression "iVar5 + -0x30 + iVar8" (binary_expression "iVar5 + -0x30" (identifier "iVar5") (+ "+") (number_literal "-0x30")) (+ "+") (identifier "iVar8"))) (; ";")) (if_statement "if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }" (if "if") (parenthesized_expression "(((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0))" (( "(") (binary_expression "((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)" (parenthesized_expression "((uVar2 & 4) == 0)" (( "(") (binary_expression "(uVar2 & 4) == 0" (parenthesized_expression "(uVar2 & 4)" (( "(") (binary_expression "uVar2 & 4" (identifier "uVar2") (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)" (( "(") (comma_expression "uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0" (assignment_expression "uVar7 = iVar5 + -0x57 + iVar8" (identifier "uVar7") (= "=") (binary_expression "iVar5 + -0x57 + iVar8" (binary_expression "iVar5 + -0x57" (identifier "iVar5") (+ "+") (number_literal "-0x57")) (+ "+") (identifier "iVar8"))) (, ",") (binary_expression "(uVar2 & 0x80) != 0" (parenthesized_expression "(uVar2 & 0x80)" (( "(") (binary_expression "uVar2 & 0x80" (identifier "uVar2") (& "&") (number_literal "0x80")) () ")")) (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n                uVar7 = iVar5 + -0x37 + iVar8;\n              }" ({ "{") (expression_statement "uVar7 = iVar5 + -0x37 + iVar8;" (assignment_expression "uVar7 = iVar5 + -0x37 + iVar8" (identifier "uVar7") (= "=") (binary_expression "iVar5 + -0x37 + iVar8" (binary_expression "iVar5 + -0x37" (identifier "iVar5") (+ "+") (number_literal "-0x37")) (+ "+") (identifier "iVar8"))) (; ";")) (} "}"))) (expression_statement "bVar1 = *DAT_0007cf30;" (assignment_expression "bVar1 = *DAT_0007cf30" (identifier "bVar1") (= "=") (pointer_expression "*DAT_0007cf30" (* "*") (identifier "DAT_0007cf30"))) (; ";")) (expression_statement "uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);" (assignment_expression "uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2)" (identifier "uVar2") (= "=") (pointer_expression "*(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2)" (* "*") (cast_expression "(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR__sch_istable_00073f84 + (uint)bVar1 * 2)" (( "(") (binary_expression "PTR__sch_istable_00073f84 + (uint)bVar1 * 2" (identifier "PTR__sch_istable_00073f84") (+ "+") (binary_expression "(uint)bVar1 * 2" (cast_expression "(uint)bVar1" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar1")) (* "*") (number_literal "2"))) () ")"))))) (; ";")) (expression_statement "pbVar3 = DAT_0007cf30 + 1;" (assignment_expression "pbVar3 = DAT_0007cf30 + 1" (identifier "pbVar3") (= "=") (binary_expression "DAT_0007cf30 + 1" (identifier "DAT_0007cf30") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((uVar2 & 0x100) != 0)" (( "(") (binary_expression "(uVar2 & 0x100) != 0" (parenthesized_expression "(uVar2 & 0x100)" (( "(") (binary_expression "uVar2 & 0x100" (identifier "uVar2") (& "&") (number_literal "0x100")) () ")")) (!= "!=") (number_literal "0")) () ")")) (; ";")) (expression_statement "uVar7 = uVar7 & 0xff;" (assignment_expression "uVar7 = uVar7 & 0xff" (identifier "uVar7") (= "=") (binary_expression "uVar7 & 0xff" (identifier "uVar7") (& "&") (number_literal "0xff"))) (; ";")) (} "}")))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x62:\n          uVar7 = 8;\n          break;" (case "case") (number_literal "0x62") (: ":") (expression_statement "uVar7 = 8;" (assignment_expression "uVar7 = 8" (identifier "uVar7") (= "=") (number_literal "8")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x66:\n          uVar7 = 0xc;\n          break;" (case "case") (number_literal "0x66") (: ":") (expression_statement "uVar7 = 0xc;" (assignment_expression "uVar7 = 0xc" (identifier "uVar7") (= "=") (number_literal "0xc")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x6e:\n          uVar7 = 10;\n          break;" (case "case") (number_literal "0x6e") (: ":") (expression_statement "uVar7 = 10;" (assignment_expression "uVar7 = 10" (identifier "uVar7") (= "=") (number_literal "10")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x72:\n          uVar7 = 0xd;\n          break;" (case "case") (number_literal "0x72") (: ":") (expression_statement "uVar7 = 0xd;" (assignment_expression "uVar7 = 0xd" (identifier "uVar7") (= "=") (number_literal "0xd")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x74:\n          uVar7 = 9;\n          break;" (case "case") (number_literal "0x74") (: ":") (expression_statement "uVar7 = 9;" (assignment_expression "uVar7 = 9" (identifier "uVar7") (= "=") (number_literal "9")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x76:\n          uVar7 = 0xb;" (case "case") (number_literal "0x76") (: ":") (expression_statement "uVar7 = 0xb;" (assignment_expression "uVar7 = 0xb" (identifier "uVar7") (= "=") (number_literal "0xb")) (; ";"))) (} "}"))) (} "}"))) (} "}")))) (return_statement "return uVar7;" (return "return") (identifier "uVar7") (; ";")) (} "}"))) (labeled_statement "LAB_00030450:\n  uVar4 = dcgettext(0,"unterminated string; newline inserted",5);" (statement_identifier "LAB_00030450") (: ":") (expression_statement "uVar4 = dcgettext(0,"unterminated string; newline inserted",5);" (assignment_expression "uVar4 = dcgettext(0,"unterminated string; newline inserted",5)" (identifier "uVar4") (= "=") (call_expression "dcgettext(0,"unterminated string; newline inserted",5)" (identifier "dcgettext") (argument_list "(0,"unterminated string; newline inserted",5)" (( "(") (number_literal "0") (, ",") (string_literal ""unterminated string; newline inserted"" (" """) (string_content "unterminated string; newline inserted") (" """)) (, ",") (number_literal "5") () ")")))) (; ";"))) (expression_statement "FUN_0002a6d0(uVar4);" (call_expression "FUN_0002a6d0(uVar4)" (identifier "FUN_0002a6d0") (argument_list "(uVar4)" (( "(") (identifier "uVar4") () ")"))) (; ";")) (expression_statement "FUN_00024e50();" (call_expression "FUN_00024e50()" (identifier "FUN_00024e50") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return uVar7;" (return "return") (identifier "uVar7") (; ";")) (} "}")))

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

type_1 function_1(void)

{
  type_2 bVar1;
  type_3 var_8;
  type_2 *pbVar3;
  char *var_2;
  int var_9;
  type_1 var_4;
  type_1 var_3;
  int var_10;
  type_2 *var_5;
  type_2 var_7;
  
  var_2 = var_1;
  var_5 = (type_2 *)(var_1 + 1);
  var_1 = (char *)var_5;
  var_3 = (type_1)(type_2)*var_2;
  if (var_3 != 10) {
    if (var_3 < 0xb) {
      var_1 = (char *)var_5;
      if (var_3 == 0) {
        var_3 = 0x100;
        var_1 = var_2;
      }
    }
    else {
      if (var_3 == 0x22) {
        return 0x100;
      }
      var_1 = (char *)var_5;
      if (var_3 == 0x5c) {
        var_1 = var_2 + 2;
        var_3 = (type_1)(type_2)var_2[1];
        switch(var_3) {
        case 0:
          var_3 = 0x100;
          var_1 = (char *)var_5;
          break;
        case 10:
          goto _L1361;
        case 0x30:
        case 0x31:
        case 0x32:
        case 0x33:
        case 0x34:
        case 0x35:
        case 0x36:
        case 0x37:
        case 0x38:
        case 0x39:
          var_4 = 0;
          if ((var_6[var_3 * 2] & 4) == 0) {
            var_3 = 0;
          }
          else {
            do {
              var_5 = (type_2 *)var_1;
              var_4 = (var_3 - 0x30) + var_4 * 8;
              var_3 = (type_1)(char)*var_5;
              var_7 = (type_2)(*(type_3 *)(var_6 + (type_1)*var_5 * 2) >> 2);
              var_1 = (char *)(var_5 + 1);
            } while ((var_7 & var_5 + 1 + (-2 - (int)var_2) != (type_2 *)0x3) != 0);
            var_3 = var_4 & 0xff;
          }
          var_1 = (char *)var_5;
          break;
        case 0x58:
        case 0x78:
          bVar1 = var_2[2];
          var_8 = *(type_3 *)(var_6 + (type_1)bVar1 * 2);
          if ((var_8 & 0x100) == 0) {
            var_3 = 0;
          }
          else {
            var_3 = 0;
            pbVar3 = (type_2 *)(var_2 + 3);
            do {
              var_1 = (char *)pbVar3;
              var_9 = (int)(char)bVar1;
              var_10 = var_3 * 0x10;
              var_3 = var_9 + -0x30 + var_10;
              if (((var_8 & 4) == 0) && (var_3 = var_9 + -0x57 + var_10, (var_8 & 0x80) != 0)) {
                var_3 = var_9 + -0x37 + var_10;
              }
              bVar1 = *var_1;
              var_8 = *(type_3 *)(var_6 + (type_1)bVar1 * 2);
              pbVar3 = (type_2 *)var_1 + 1;
            } while ((var_8 & 0x100) != 0);
            var_3 = var_3 & 0xff;
          }
          break;
        case 0x62:
          var_3 = 8;
          break;
        case 0x66:
          var_3 = 0xc;
          break;
        case 0x6e:
          var_3 = 10;
          break;
        case 0x72:
          var_3 = 0xd;
          break;
        case 0x74:
          var_3 = 9;
          break;
        case 0x76:
          var_3 = 0xb;
        }
      }
    }
    return var_3;
  }
_L1361:
  var_2 = (char *)var_11(0,"unterminated string; newline inserted",5);
  var_12(var_2);
  var_13();
  return var_3;
}


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

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

uint MASKED(void)

{
  byte bVar1;
  ushort uVar2;
  byte *pbVar3;
  undefined4 uVar4;
  int iVar5;
  uint uVar6;
  uint uVar7;
  int iVar8;
  byte *local_28;
  byte bStack_22;
  
  pbVar3 = DAT_0007cf30;
  local_28 = DAT_0007cf30 + 1;
  DAT_0007cf30 = local_28;
  uVar7 = (uint)*pbVar3;
  if (uVar7 != 10) {
    if (uVar7 < 0xb) {
      DAT_0007cf30 = local_28;
      if (uVar7 == 0) {
        uVar7 = 0x100;
        DAT_0007cf30 = pbVar3;
      }
    }
    else {
      if (uVar7 == 0x22) {
        return 0x100;
      }
      DAT_0007cf30 = local_28;
      if (uVar7 == 0x5c) {
        DAT_0007cf30 = pbVar3 + 2;
        uVar7 = (uint)pbVar3[1];
        switch(uVar7) {
        case 0:
          uVar7 = 0x100;
          DAT_0007cf30 = local_28;
          break;
        case 10:
          goto LAB_00030450;
        case 0x30:
        case 0x31:
        case 0x32:
        case 0x33:
        case 0x34:
        case 0x35:
        case 0x36:
        case 0x37:
        case 0x38:
        case 0x39:
          uVar6 = 0;
          if ((PTR__sch_istable_00073f84[uVar7 * 2] & 4) == 0) {
            uVar7 = 0;
          }
          else {
            do {
              local_28 = DAT_0007cf30;
              uVar6 = (uVar7 - 0x30) + uVar6 * 8;
              uVar7 = (uint)(char)*local_28;
              bStack_22 = (byte)(*(ushort *)(PTR__sch_istable_00073f84 + (uint)*local_28 * 2) >> 2);
              DAT_0007cf30 = local_28 + 1;
            } while ((bStack_22 & local_28 + 1 + (-2 - (int)pbVar3) != (byte *)0x3) != 0);
            uVar7 = uVar6 & 0xff;
          }
          DAT_0007cf30 = local_28;
          break;
        case 0x58:
        case 0x78:
          bVar1 = pbVar3[2];
          uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);
          if ((uVar2 & 0x100) == 0) {
            uVar7 = 0;
          }
          else {
            uVar7 = 0;
            pbVar3 = pbVar3 + 3;
            do {
              DAT_0007cf30 = pbVar3;
              iVar5 = (int)(char)bVar1;
              iVar8 = uVar7 * 0x10;
              uVar7 = iVar5 + -0x30 + iVar8;
              if (((uVar2 & 4) == 0) && (uVar7 = iVar5 + -0x57 + iVar8, (uVar2 & 0x80) != 0)) {
                uVar7 = iVar5 + -0x37 + iVar8;
              }
              bVar1 = *DAT_0007cf30;
              uVar2 = *(ushort *)(PTR__sch_istable_00073f84 + (uint)bVar1 * 2);
              pbVar3 = DAT_0007cf30 + 1;
            } while ((uVar2 & 0x100) != 0);
            uVar7 = uVar7 & 0xff;
          }
          break;
        case 0x62:
          uVar7 = 8;
          break;
        case 0x66:
          uVar7 = 0xc;
          break;
        case 0x6e:
          uVar7 = 10;
          break;
        case 0x72:
          uVar7 = 0xd;
          break;
        case 0x74:
          uVar7 = 9;
          break;
        case 0x76:
          uVar7 = 0xb;
        }
      }
    }
    return uVar7;
  }
LAB_00030450:
  uVar4 = dcgettext(0,"unterminated string; newline inserted",5);
  FUN_0002a6d0(uVar4);
  FUN_00024e50();
  return uVar7;
}

