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

void __regparm3 parse_level_string(char *str,char **return_ptr)

{
  char cVar1;
  byte bVar2;
  ushort *puVar3;
  undefined4 uVar4;
  char *pcVar5;
  long lVar6;
  ushort **ppuVar7;
  uint uVar8;
  __int32_t **pp_Var9;
  int iVar10;
  uint uVar11;
  uint uVar12;
  char *pcVar13;
  __int32_t _Var15;
  char *local_30;
  uint local_2c;
  char *local_20 [3];
  undefined4 uStack_14;
  char *pcVar14;
  
  iVar10 = 0x36;
  uStack_14 = 0x16a4e;
  pcVar5 = parse_level_string::text;
  while (iVar10 != 0) {
    iVar10 = iVar10 + -1;
    builtin_strncpy(pcVar5,"    ",4);
    pcVar5 = pcVar5 + 4;
  }
  parse_level_string::text[0xd7] = '\0';
  cVar1 = *str;
  pcVar5 = parse_level_string::text;
  pcVar14 = str;
  do {
    while( true ) {
      if (cVar1 == '\0') {
        *pcVar5 = '\0';
        local_20[0] = pcVar14;
        pcVar5 = strdup(parse_level_string::text);
        *return_ptr = pcVar5;
        return;
      }
      pcVar13 = pcVar14 + 1;
      local_20[0] = pcVar13;
      if (cVar1 == '\\') break;
      if ((cVar1 == 'x') && (pcVar5 != parse_level_string::text)) {
        local_20[0] = pcVar14;
        lVar6 = strtol(pcVar13,local_20,10);
        cVar1 = pcVar5[-1];
        pcVar14 = pcVar5;
        pcVar13 = pcVar5;
        if (1 < lVar6) {
          do {
            while( true ) {
              pcVar13 = pcVar14 + 1;
              *pcVar14 = cVar1;
              pcVar14 = pcVar13;
              if (*pcVar13 != '\0') break;
              uVar4 = dcgettext(0,"level indent string is too long",5);
              error(3,0,uVar4);
              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;
            }
          } while (pcVar5 + lVar6 + -1 != pcVar13);
        }
        goto LAB_00016abf;
      }
      pcVar13 = pcVar5 + 1;
      *pcVar5 = *pcVar14;
      if (pcVar5[1] != '\0') goto LAB_00016abf;
      uVar4 = dcgettext(0,"level indent string is too long",5);
      error(3,0,uVar4);
      cVar1 = *local_20[0];
      pcVar5 = pcVar13;
      pcVar14 = local_20[0];
    }
    switch(pcVar14[1]) {
    case '0':
      local_30 = pcVar14 + 2;
      uVar12 = (uint)pcVar14[2];
      if (pcVar14[2] != '\0') {
        local_20[0] = local_30;
        ppuVar7 = __ctype_b_loc();
        puVar3 = *ppuVar7;
        local_2c = uVar12 - 0x30;
        if ((*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0) {
          if (uVar12 + 0x80 < 0x180) {
            pp_Var9 = __ctype_toupper_loc();
            uVar12 = (*pp_Var9)[uVar12];
          }
          local_2c = uVar12 - 0x37;
        }
        if (local_2c < 9) {
          _Var15 = (__int32_t)pcVar14[3];
          local_30 = pcVar14 + 3;
          if (pcVar14[3] != '\0') {
            local_30 = pcVar14 + 4;
            uVar12 = _Var15 - 0x30;
            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {
              if (_Var15 + 0x80U < 0x180) {
                pp_Var9 = __ctype_toupper_loc();
                _Var15 = (*pp_Var9)[_Var15];
              }
              uVar12 = _Var15 - 0x37;
            }
            if (uVar12 < 9) {
              uVar12 = uVar12 + local_2c * 8;
              if (pcVar14[4] != '\0') {
                local_30 = pcVar14 + 5;
                _Var15 = (__int32_t)pcVar14[4];
                uVar11 = _Var15 - 0x30;
                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {
                  if (_Var15 + 0x80U < 0x180) {
                    pp_Var9 = __ctype_toupper_loc();
                    _Var15 = (*pp_Var9)[_Var15];
                  }
                  uVar11 = _Var15 - 0x37;
                }
                if (uVar11 < 9) {
                  uVar12 = uVar11 + uVar12 * 8;
                }
              }
              goto LAB_00016ca4;
            }
          }
          uVar12 = local_2c & 0xff;
        }
        else {
LAB_00016e6f:
          local_30 = pcVar14 + 3;
          uVar12 = 0;
        }
      }
      goto LAB_00016ca4;
    default:
      *pcVar5 = pcVar14[1];
      break;
    case 'X':
    case 'x':
      local_20[0] = pcVar14 + 2;
      bVar2 = pcVar14[2];
      uVar12 = (uint)bVar2;
      local_30 = local_20[0];
      if (bVar2 != 0) {
        local_30 = pcVar14 + 3;
        local_2c = (uint)(char)bVar2;
        ppuVar7 = __ctype_b_loc();
        puVar3 = *ppuVar7;
        uVar11 = local_2c - 0x30;
        if ((*(byte *)((int)puVar3 + local_2c * 2 + 1) & 8) == 0) {
          if (local_2c + 0x80 < 0x180) {
            pp_Var9 = __ctype_toupper_loc();
            local_2c = (*pp_Var9)[local_2c];
          }
          uVar11 = local_2c - 0x37;
        }
        if (0x10 < uVar11) goto LAB_00016e6f;
        uVar12 = uVar11;
        if (pcVar14[3] != '\0') {
          local_30 = pcVar14 + 4;
          _Var15 = (__int32_t)pcVar14[3];
          uVar8 = _Var15 - 0x30;
          if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {
            if (_Var15 + 0x80U < 0x180) {
              pp_Var9 = __ctype_toupper_loc();
              _Var15 = (*pp_Var9)[_Var15];
            }
            uVar8 = _Var15 - 0x37;
          }
          uVar12 = uVar11 * 0x10 + uVar8;
          if (0x10 < uVar8) {
            uVar12 = uVar11;
          }
        }
      }
LAB_00016ca4:
      *pcVar5 = (char)uVar12;
      local_20[0] = local_30 + -1;
      break;
    case 'a':
      *pcVar5 = '\a';
      break;
    case 'b':
      *pcVar5 = '\b';
      break;
    case 'e':
      *pcVar5 = '\x1b';
      break;
    case 'f':
      *pcVar5 = '\f';
      break;
    case 'n':
      *pcVar5 = '\n';
      break;
    case 'r':
      *pcVar5 = '\r';
      break;
    case 't':
      *pcVar5 = '\t';
    }
    pcVar13 = pcVar5 + 1;
    local_20[0] = local_20[0] + 1;
LAB_00016abf:
    cVar1 = *local_20[0];
    pcVar5 = pcVar13;
    pcVar14 = local_20[0];
  } while( true );
}



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

void __regparm3 FUN_00016a40(char *param_1,undefined4 *param_2)

{
  char cVar1;
  byte bVar2;
  ushort *puVar3;
  undefined4 uVar4;
  char *pcVar5;
  long lVar6;
  ushort **ppuVar7;
  uint uVar8;
  __int32_t **pp_Var9;
  int iVar10;
  uint uVar11;
  uint uVar12;
  char *pcVar13;
  __int32_t _Var15;
  char *pcStack_30;
  uint uStack_2c;
  char *local_20 [3];
  undefined4 uStack_14;
  char *pcVar14;
  
  iVar10 = 0x36;
  uStack_14 = 0x16a4e;
  pcVar5 = &DAT_0003b8c0;
  while (iVar10 != 0) {
    iVar10 = iVar10 + -1;
    builtin_strncpy(pcVar5,"    ",4);
    pcVar5 = pcVar5 + 4;
  }
  DAT_0003b997 = 0;
  cVar1 = *param_1;
  pcVar5 = &DAT_0003b8c0;
  pcVar14 = param_1;
  do {
    while( true ) {
      if (cVar1 == '\0') {
        *pcVar5 = '\0';
        local_20[0] = pcVar14;
        pcVar5 = strdup(&DAT_0003b8c0);
        *param_2 = pcVar5;
        return;
      }
      pcVar13 = pcVar14 + 1;
      local_20[0] = pcVar13;
      if (cVar1 == '\\') break;
      if ((cVar1 == 'x') && (pcVar5 != &DAT_0003b8c0)) {
        local_20[0] = pcVar14;
        lVar6 = strtol(pcVar13,local_20,10);
        cVar1 = pcVar5[-1];
        pcVar14 = pcVar5;
        pcVar13 = pcVar5;
        if (1 < lVar6) {
          do {
            while( true ) {
              pcVar13 = pcVar14 + 1;
              *pcVar14 = cVar1;
              pcVar14 = pcVar13;
              if (*pcVar13 != '\0') break;
              uVar4 = dcgettext(0,"level indent string is too long",5);
              error(3,0,uVar4);
              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;
            }
          } while (pcVar5 + lVar6 + -1 != pcVar13);
        }
        goto LAB_00016abf;
      }
      pcVar13 = pcVar5 + 1;
      *pcVar5 = *pcVar14;
      if (pcVar5[1] != '\0') goto LAB_00016abf;
      uVar4 = dcgettext(0,"level indent string is too long",5);
      error(3,0,uVar4);
      cVar1 = *local_20[0];
      pcVar5 = pcVar13;
      pcVar14 = local_20[0];
    }
    switch(pcVar14[1]) {
    case '0':
      pcStack_30 = pcVar14 + 2;
      uVar12 = (uint)pcVar14[2];
      if (pcVar14[2] != '\0') {
        local_20[0] = pcStack_30;
        ppuVar7 = __ctype_b_loc();
        puVar3 = *ppuVar7;
        uStack_2c = uVar12 - 0x30;
        if ((*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0) {
          if (uVar12 + 0x80 < 0x180) {
            pp_Var9 = __ctype_toupper_loc();
            uVar12 = (*pp_Var9)[uVar12];
          }
          uStack_2c = uVar12 - 0x37;
        }
        if (uStack_2c < 9) {
          _Var15 = (__int32_t)pcVar14[3];
          pcStack_30 = pcVar14 + 3;
          if (pcVar14[3] != '\0') {
            pcStack_30 = pcVar14 + 4;
            uVar12 = _Var15 - 0x30;
            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {
              if (_Var15 + 0x80U < 0x180) {
                pp_Var9 = __ctype_toupper_loc();
                _Var15 = (*pp_Var9)[_Var15];
              }
              uVar12 = _Var15 - 0x37;
            }
            if (uVar12 < 9) {
              uVar12 = uVar12 + uStack_2c * 8;
              if (pcVar14[4] != '\0') {
                pcStack_30 = pcVar14 + 5;
                _Var15 = (__int32_t)pcVar14[4];
                uVar11 = _Var15 - 0x30;
                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {
                  if (_Var15 + 0x80U < 0x180) {
                    pp_Var9 = __ctype_toupper_loc();
                    _Var15 = (*pp_Var9)[_Var15];
                  }
                  uVar11 = _Var15 - 0x37;
                }
                if (uVar11 < 9) {
                  uVar12 = uVar11 + uVar12 * 8;
                }
              }
              goto code_r0x00016ca4;
            }
          }
          uVar12 = uStack_2c & 0xff;
        }
        else {
code_r0x00016e6f:
          pcStack_30 = pcVar14 + 3;
          uVar12 = 0;
        }
      }
      goto code_r0x00016ca4;
    default:
      *pcVar5 = pcVar14[1];
      break;
    case 'X':
    case 'x':
      local_20[0] = pcVar14 + 2;
      bVar2 = pcVar14[2];
      uVar12 = (uint)bVar2;
      pcStack_30 = local_20[0];
      if (bVar2 != 0) {
        pcStack_30 = pcVar14 + 3;
        uStack_2c = (uint)(char)bVar2;
        ppuVar7 = __ctype_b_loc();
        puVar3 = *ppuVar7;
        uVar11 = uStack_2c - 0x30;
        if ((*(byte *)((int)puVar3 + uStack_2c * 2 + 1) & 8) == 0) {
          if (uStack_2c + 0x80 < 0x180) {
            pp_Var9 = __ctype_toupper_loc();
            uStack_2c = (*pp_Var9)[uStack_2c];
          }
          uVar11 = uStack_2c - 0x37;
        }
        if (0x10 < uVar11) goto code_r0x00016e6f;
        uVar12 = uVar11;
        if (pcVar14[3] != '\0') {
          pcStack_30 = pcVar14 + 4;
          _Var15 = (__int32_t)pcVar14[3];
          uVar8 = _Var15 - 0x30;
          if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {
            if (_Var15 + 0x80U < 0x180) {
              pp_Var9 = __ctype_toupper_loc();
              _Var15 = (*pp_Var9)[_Var15];
            }
            uVar8 = _Var15 - 0x37;
          }
          uVar12 = uVar11 * 0x10 + uVar8;
          if (0x10 < uVar8) {
            uVar12 = uVar11;
          }
        }
      }
code_r0x00016ca4:
      *pcVar5 = (char)uVar12;
      local_20[0] = pcStack_30 + -1;
      break;
    case 'a':
      *pcVar5 = '\a';
      break;
    case 'b':
      *pcVar5 = '\b';
      break;
    case 'e':
      *pcVar5 = '\x1b';
      break;
    case 'f':
      *pcVar5 = '\f';
      break;
    case 'n':
      *pcVar5 = '\n';
      break;
    case 'r':
      *pcVar5 = '\r';
      break;
    case 't':
      *pcVar5 = '\t';
    }
    pcVar13 = pcVar5 + 1;
    local_20[0] = local_20[0] + 1;
LAB_00016abf:
    cVar1 = *local_20[0];
    pcVar5 = pcVar13;
    pcVar14 = local_20[0];
  } while( true );
}


PUSH EBP
MOV ECX,0x36
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00012830
ADD EBX,0x24422
SUB ESP,0x2c
MOV dword ptr [ESP + 0x1c],EAX
MOV EAX,0x20202020
MOV dword ptr [ESP + 0x8],EDX
LEA EDI,[EBX + 0xa50]
MOV EBP,EDI
MOV dword ptr [ESP + 0x4],EDI
STOSD.REP ES:EDI
MOV EDI,dword ptr [ESP + 0x1c]
MOV byte ptr [EBX + 0xb27],0x0
MOVZX EAX,byte ptr [EDI]
TEST AL,AL
JZ 0x00016b25
LEA ECX,[EBX + 0xffff4b80]
MOV dword ptr [ESP],ECX
JMP 0x00016ac6
CMP AL,0x78
JNZ 0x00016aa6
CMP EBP,dword ptr [ESP + 0x4]
JNZ 0x00016b48
MOV dword ptr [ESP + 0x1c],EDX
MOVZX EAX,byte ptr [EDI]
LEA ESI,[EBP + 0x1]
CMP byte ptr [EBP + 0x1],0x0
MOV byte ptr [EBP],AL
JZ 0x00016af8
MOV EDI,dword ptr [ESP + 0x1c]
MOV EBP,ESI
MOVZX EAX,byte ptr [EDI]
TEST AL,AL
JZ 0x00016b25
LEA EDX,[EDI + 0x1]
CMP AL,0x5c
JNZ 0x00016a98
MOV dword ptr [ESP + 0x1c],EDX
MOVZX EDX,byte ptr [EDI + 0x1]
LEA ESI,[EBP + 0x1]
LEA EAX,[EDX + -0x30]
CMP AL,0x48
JA 0x00016d90
MOVZX EAX,AL
MOV ECX,dword ptr [EBX + EAX*0x4 + 0xffff51b0]
ADD ECX,EBX
JMP ECX
SUB ESP,0x4
MOV EBP,ESI
PUSH 0x5
PUSH dword ptr [ESP + 0x8]
PUSH 0x0
CALL 0x00012110
ADD ESP,0xc
PUSH EAX
PUSH 0x0
PUSH 0x3
CALL 0x000121d0
MOV EDI,dword ptr [ESP + 0x2c]
ADD ESP,0x10
MOVZX EAX,byte ptr [EDI]
TEST AL,AL
JNZ 0x00016ac6
SUB ESP,0xc
MOV byte ptr [EBP],0x0
PUSH dword ptr [ESP + 0x10]
CALL 0x000120b0
MOV ECX,dword ptr [ESP + 0x18]
MOV dword ptr [ECX],EAX
ADD ESP,0x3c
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0x4
PUSH 0xa
LEA EAX,[ESP + 0x24]
PUSH EAX
PUSH EDX
CALL 0x00012460
MOVZX EDI,byte ptr [EBP + -0x1]
ADD ESP,0x10
LEA ESI,[EBP + EAX*0x1 + -0x1]
CMP EAX,0x1
JG 0x00016b74
JMP 0x00016ba6
CMP ESI,EBP
JZ 0x00016ba6
ADD EBP,0x1
MOV EAX,EDI
CMP byte ptr [EBP],0x0
MOV byte ptr [EBP + -0x1],AL
JNZ 0x00016b70
SUB ESP,0x4
PUSH 0x5
PUSH dword ptr [ESP + 0x8]
PUSH 0x0
CALL 0x00012110
ADD ESP,0xc
PUSH EAX
PUSH 0x0
PUSH 0x3
CALL 0x000121d0
ADD ESP,0x10
CMP ESI,EBP
JNZ 0x00016b74
MOV EDI,dword ptr [ESP + 0x1c]
JMP 0x00016abf
MOV EAX,dword ptr [ESP + 0x1c]
MOV EBP,ESI
LEA EDI,[EAX + 0x1]
MOV dword ptr [ESP + 0x1c],EDI
JMP 0x00016abf
MOV byte ptr [EBP],DL
JMP 0x00016bb8
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid __regparm3 FUN_00016a40(char *param_1,undefined4 *param_2)\n\n{\n  char cVar1;\n  byte bVar2;\n  ushort *puVar3;\n  undefined4 uVar4;\n  char *pcVar5;\n  long lVar6;\n  ushort **ppuVar7;\n  uint uVar8;\n  __int32_t **pp_Var9;\n  int iVar10;\n  uint uVar11;\n  uint uVar12;\n  char *pcVar13;\n  __int32_t _Var15;\n  char *pcStack_30;\n  uint uStack_2c;\n  char *local_20 [3];\n  undefined4 uStack_14;\n  char *pcVar14;\n  \n  iVar10 = 0x36;\n  uStack_14 = 0x16a4e;\n  pcVar5 = &DAT_0003b8c0;\n  while (iVar10 != 0) {\n    iVar10 = iVar10 + -1;\n    builtin_strncpy(pcVar5,"    ",4);\n    pcVar5 = pcVar5 + 4;\n  }\n  DAT_0003b997 = 0;\n  cVar1 = *param_1;\n  pcVar5 = &DAT_0003b8c0;\n  pcVar14 = param_1;\n  do {\n    while( true ) {\n      if (cVar1 == '\0') {\n        *pcVar5 = '\0';\n        local_20[0] = pcVar14;\n        pcVar5 = strdup(&DAT_0003b8c0);\n        *param_2 = pcVar5;\n        return;\n      }\n      pcVar13 = pcVar14 + 1;\n      local_20[0] = pcVar13;\n      if (cVar1 == '\\') break;\n      if ((cVar1 == 'x') && (pcVar5 != &DAT_0003b8c0)) {\n        local_20[0] = pcVar14;\n        lVar6 = strtol(pcVar13,local_20,10);\n        cVar1 = pcVar5[-1];\n        pcVar14 = pcVar5;\n        pcVar13 = pcVar5;\n        if (1 < lVar6) {\n          do {\n            while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }\n          } while (pcVar5 + lVar6 + -1 != pcVar13);\n        }\n        goto LAB_00016abf;\n      }\n      pcVar13 = pcVar5 + 1;\n      *pcVar5 = *pcVar14;\n      if (pcVar5[1] != '\0') goto LAB_00016abf;\n      uVar4 = dcgettext(0,"level indent string is too long",5);\n      error(3,0,uVar4);\n      cVar1 = *local_20[0];\n      pcVar5 = pcVar13;\n      pcVar14 = local_20[0];\n    }\n    switch(pcVar14[1]) {\n    case '0':\n      pcStack_30 = pcVar14 + 2;\n      uVar12 = (uint)pcVar14[2];\n      if (pcVar14[2] != '\0') {\n        local_20[0] = pcStack_30;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uStack_2c = uVar12 - 0x30;\n        if ((*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0) {\n          if (uVar12 + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }\n          uStack_2c = uVar12 - 0x37;\n        }\n        if (uStack_2c < 9) {\n          _Var15 = (__int32_t)pcVar14[3];\n          pcStack_30 = pcVar14 + 3;\n          if (pcVar14[3] != '\0') {\n            pcStack_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + uStack_2c * 8;\n              if (pcVar14[4] != '\0') {\n                pcStack_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto code_r0x00016ca4;\n            }\n          }\n          uVar12 = uStack_2c & 0xff;\n        }\n        else {\ncode_r0x00016e6f:\n          pcStack_30 = pcVar14 + 3;\n          uVar12 = 0;\n        }\n      }\n      goto code_r0x00016ca4;\n    default:\n      *pcVar5 = pcVar14[1];\n      break;\n    case 'X':\n    case 'x':\n      local_20[0] = pcVar14 + 2;\n      bVar2 = pcVar14[2];\n      uVar12 = (uint)bVar2;\n      pcStack_30 = local_20[0];\n      if (bVar2 != 0) {\n        pcStack_30 = pcVar14 + 3;\n        uStack_2c = (uint)(char)bVar2;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uVar11 = uStack_2c - 0x30;\n        if ((*(byte *)((int)puVar3 + uStack_2c * 2 + 1) & 8) == 0) {\n          if (uStack_2c + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uStack_2c = (*pp_Var9)[uStack_2c];\n          }\n          uVar11 = uStack_2c - 0x37;\n        }\n        if (0x10 < uVar11) goto code_r0x00016e6f;\n        uVar12 = uVar11;\n        if (pcVar14[3] != '\0') {\n          pcStack_30 = pcVar14 + 4;\n          _Var15 = (__int32_t)pcVar14[3];\n          uVar8 = _Var15 - 0x30;\n          if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }\n          uVar12 = uVar11 * 0x10 + uVar8;\n          if (0x10 < uVar8) {\n            uVar12 = uVar11;\n          }\n        }\n      }\ncode_r0x00016ca4:\n      *pcVar5 = (char)uVar12;\n      local_20[0] = pcStack_30 + -1;\n      break;\n    case 'a':\n      *pcVar5 = '\a';\n      break;\n    case 'b':\n      *pcVar5 = '\b';\n      break;\n    case 'e':\n      *pcVar5 = '\x1b';\n      break;\n    case 'f':\n      *pcVar5 = '\f';\n      break;\n    case 'n':\n      *pcVar5 = '\n';\n      break;\n    case 'r':\n      *pcVar5 = '\r';\n      break;\n    case 't':\n      *pcVar5 = '\t';\n    }\n    pcVar13 = pcVar5 + 1;\n    local_20[0] = local_20[0] + 1;\nLAB_00016abf:\n    cVar1 = *local_20[0];\n    pcVar5 = pcVar13;\n    pcVar14 = local_20[0];\n  } while( true );\n}\n\n" comment (function_definition "void __regparm3 FUN_00016a40(char *param_1,undefined4 *param_2)\n\n{\n  char cVar1;\n  byte bVar2;\n  ushort *puVar3;\n  undefined4 uVar4;\n  char *pcVar5;\n  long lVar6;\n  ushort **ppuVar7;\n  uint uVar8;\n  __int32_t **pp_Var9;\n  int iVar10;\n  uint uVar11;\n  uint uVar12;\n  char *pcVar13;\n  __int32_t _Var15;\n  char *pcStack_30;\n  uint uStack_2c;\n  char *local_20 [3];\n  undefined4 uStack_14;\n  char *pcVar14;\n  \n  iVar10 = 0x36;\n  uStack_14 = 0x16a4e;\n  pcVar5 = &DAT_0003b8c0;\n  while (iVar10 != 0) {\n    iVar10 = iVar10 + -1;\n    builtin_strncpy(pcVar5,"    ",4);\n    pcVar5 = pcVar5 + 4;\n  }\n  DAT_0003b997 = 0;\n  cVar1 = *param_1;\n  pcVar5 = &DAT_0003b8c0;\n  pcVar14 = param_1;\n  do {\n    while( true ) {\n      if (cVar1 == '\0') {\n        *pcVar5 = '\0';\n        local_20[0] = pcVar14;\n        pcVar5 = strdup(&DAT_0003b8c0);\n        *param_2 = pcVar5;\n        return;\n      }\n      pcVar13 = pcVar14 + 1;\n      local_20[0] = pcVar13;\n      if (cVar1 == '\\') break;\n      if ((cVar1 == 'x') && (pcVar5 != &DAT_0003b8c0)) {\n        local_20[0] = pcVar14;\n        lVar6 = strtol(pcVar13,local_20,10);\n        cVar1 = pcVar5[-1];\n        pcVar14 = pcVar5;\n        pcVar13 = pcVar5;\n        if (1 < lVar6) {\n          do {\n            while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }\n          } while (pcVar5 + lVar6 + -1 != pcVar13);\n        }\n        goto LAB_00016abf;\n      }\n      pcVar13 = pcVar5 + 1;\n      *pcVar5 = *pcVar14;\n      if (pcVar5[1] != '\0') goto LAB_00016abf;\n      uVar4 = dcgettext(0,"level indent string is too long",5);\n      error(3,0,uVar4);\n      cVar1 = *local_20[0];\n      pcVar5 = pcVar13;\n      pcVar14 = local_20[0];\n    }\n    switch(pcVar14[1]) {\n    case '0':\n      pcStack_30 = pcVar14 + 2;\n      uVar12 = (uint)pcVar14[2];\n      if (pcVar14[2] != '\0') {\n        local_20[0] = pcStack_30;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uStack_2c = uVar12 - 0x30;\n        if ((*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0) {\n          if (uVar12 + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }\n          uStack_2c = uVar12 - 0x37;\n        }\n        if (uStack_2c < 9) {\n          _Var15 = (__int32_t)pcVar14[3];\n          pcStack_30 = pcVar14 + 3;\n          if (pcVar14[3] != '\0') {\n            pcStack_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + uStack_2c * 8;\n              if (pcVar14[4] != '\0') {\n                pcStack_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto code_r0x00016ca4;\n            }\n          }\n          uVar12 = uStack_2c & 0xff;\n        }\n        else {\ncode_r0x00016e6f:\n          pcStack_30 = pcVar14 + 3;\n          uVar12 = 0;\n        }\n      }\n      goto code_r0x00016ca4;\n    default:\n      *pcVar5 = pcVar14[1];\n      break;\n    case 'X':\n    case 'x':\n      local_20[0] = pcVar14 + 2;\n      bVar2 = pcVar14[2];\n      uVar12 = (uint)bVar2;\n      pcStack_30 = local_20[0];\n      if (bVar2 != 0) {\n        pcStack_30 = pcVar14 + 3;\n        uStack_2c = (uint)(char)bVar2;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uVar11 = uStack_2c - 0x30;\n        if ((*(byte *)((int)puVar3 + uStack_2c * 2 + 1) & 8) == 0) {\n          if (uStack_2c + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uStack_2c = (*pp_Var9)[uStack_2c];\n          }\n          uVar11 = uStack_2c - 0x37;\n        }\n        if (0x10 < uVar11) goto code_r0x00016e6f;\n        uVar12 = uVar11;\n        if (pcVar14[3] != '\0') {\n          pcStack_30 = pcVar14 + 4;\n          _Var15 = (__int32_t)pcVar14[3];\n          uVar8 = _Var15 - 0x30;\n          if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }\n          uVar12 = uVar11 * 0x10 + uVar8;\n          if (0x10 < uVar8) {\n            uVar12 = uVar11;\n          }\n        }\n      }\ncode_r0x00016ca4:\n      *pcVar5 = (char)uVar12;\n      local_20[0] = pcStack_30 + -1;\n      break;\n    case 'a':\n      *pcVar5 = '\a';\n      break;\n    case 'b':\n      *pcVar5 = '\b';\n      break;\n    case 'e':\n      *pcVar5 = '\x1b';\n      break;\n    case 'f':\n      *pcVar5 = '\f';\n      break;\n    case 'n':\n      *pcVar5 = '\n';\n      break;\n    case 'r':\n      *pcVar5 = '\r';\n      break;\n    case 't':\n      *pcVar5 = '\t';\n    }\n    pcVar13 = pcVar5 + 1;\n    local_20[0] = local_20[0] + 1;\nLAB_00016abf:\n    cVar1 = *local_20[0];\n    pcVar5 = pcVar13;\n    pcVar14 = local_20[0];\n  } while( true );\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_00016a40(char *param_1,undefined4 *param_2)" identifier (parameter_list "(char *param_1,undefined4 *param_2)" ( (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  char cVar1;\n  byte bVar2;\n  ushort *puVar3;\n  undefined4 uVar4;\n  char *pcVar5;\n  long lVar6;\n  ushort **ppuVar7;\n  uint uVar8;\n  __int32_t **pp_Var9;\n  int iVar10;\n  uint uVar11;\n  uint uVar12;\n  char *pcVar13;\n  __int32_t _Var15;\n  char *pcStack_30;\n  uint uStack_2c;\n  char *local_20 [3];\n  undefined4 uStack_14;\n  char *pcVar14;\n  \n  iVar10 = 0x36;\n  uStack_14 = 0x16a4e;\n  pcVar5 = &DAT_0003b8c0;\n  while (iVar10 != 0) {\n    iVar10 = iVar10 + -1;\n    builtin_strncpy(pcVar5,"    ",4);\n    pcVar5 = pcVar5 + 4;\n  }\n  DAT_0003b997 = 0;\n  cVar1 = *param_1;\n  pcVar5 = &DAT_0003b8c0;\n  pcVar14 = param_1;\n  do {\n    while( true ) {\n      if (cVar1 == '\0') {\n        *pcVar5 = '\0';\n        local_20[0] = pcVar14;\n        pcVar5 = strdup(&DAT_0003b8c0);\n        *param_2 = pcVar5;\n        return;\n      }\n      pcVar13 = pcVar14 + 1;\n      local_20[0] = pcVar13;\n      if (cVar1 == '\\') break;\n      if ((cVar1 == 'x') && (pcVar5 != &DAT_0003b8c0)) {\n        local_20[0] = pcVar14;\n        lVar6 = strtol(pcVar13,local_20,10);\n        cVar1 = pcVar5[-1];\n        pcVar14 = pcVar5;\n        pcVar13 = pcVar5;\n        if (1 < lVar6) {\n          do {\n            while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }\n          } while (pcVar5 + lVar6 + -1 != pcVar13);\n        }\n        goto LAB_00016abf;\n      }\n      pcVar13 = pcVar5 + 1;\n      *pcVar5 = *pcVar14;\n      if (pcVar5[1] != '\0') goto LAB_00016abf;\n      uVar4 = dcgettext(0,"level indent string is too long",5);\n      error(3,0,uVar4);\n      cVar1 = *local_20[0];\n      pcVar5 = pcVar13;\n      pcVar14 = local_20[0];\n    }\n    switch(pcVar14[1]) {\n    case '0':\n      pcStack_30 = pcVar14 + 2;\n      uVar12 = (uint)pcVar14[2];\n      if (pcVar14[2] != '\0') {\n        local_20[0] = pcStack_30;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uStack_2c = uVar12 - 0x30;\n        if ((*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0) {\n          if (uVar12 + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }\n          uStack_2c = uVar12 - 0x37;\n        }\n        if (uStack_2c < 9) {\n          _Var15 = (__int32_t)pcVar14[3];\n          pcStack_30 = pcVar14 + 3;\n          if (pcVar14[3] != '\0') {\n            pcStack_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + uStack_2c * 8;\n              if (pcVar14[4] != '\0') {\n                pcStack_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto code_r0x00016ca4;\n            }\n          }\n          uVar12 = uStack_2c & 0xff;\n        }\n        else {\ncode_r0x00016e6f:\n          pcStack_30 = pcVar14 + 3;\n          uVar12 = 0;\n        }\n      }\n      goto code_r0x00016ca4;\n    default:\n      *pcVar5 = pcVar14[1];\n      break;\n    case 'X':\n    case 'x':\n      local_20[0] = pcVar14 + 2;\n      bVar2 = pcVar14[2];\n      uVar12 = (uint)bVar2;\n      pcStack_30 = local_20[0];\n      if (bVar2 != 0) {\n        pcStack_30 = pcVar14 + 3;\n        uStack_2c = (uint)(char)bVar2;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uVar11 = uStack_2c - 0x30;\n        if ((*(byte *)((int)puVar3 + uStack_2c * 2 + 1) & 8) == 0) {\n          if (uStack_2c + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uStack_2c = (*pp_Var9)[uStack_2c];\n          }\n          uVar11 = uStack_2c - 0x37;\n        }\n        if (0x10 < uVar11) goto code_r0x00016e6f;\n        uVar12 = uVar11;\n        if (pcVar14[3] != '\0') {\n          pcStack_30 = pcVar14 + 4;\n          _Var15 = (__int32_t)pcVar14[3];\n          uVar8 = _Var15 - 0x30;\n          if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }\n          uVar12 = uVar11 * 0x10 + uVar8;\n          if (0x10 < uVar8) {\n            uVar12 = uVar11;\n          }\n        }\n      }\ncode_r0x00016ca4:\n      *pcVar5 = (char)uVar12;\n      local_20[0] = pcStack_30 + -1;\n      break;\n    case 'a':\n      *pcVar5 = '\a';\n      break;\n    case 'b':\n      *pcVar5 = '\b';\n      break;\n    case 'e':\n      *pcVar5 = '\x1b';\n      break;\n    case 'f':\n      *pcVar5 = '\f';\n      break;\n    case 'n':\n      *pcVar5 = '\n';\n      break;\n    case 'r':\n      *pcVar5 = '\r';\n      break;\n    case 't':\n      *pcVar5 = '\t';\n    }\n    pcVar13 = pcVar5 + 1;\n    local_20[0] = local_20[0] + 1;\nLAB_00016abf:\n    cVar1 = *local_20[0];\n    pcVar5 = pcVar13;\n    pcVar14 = local_20[0];\n  } while( true );\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "ushort *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "long lVar6;" (sized_type_specifier "long" long) identifier ;) (declaration "ushort **ppuVar7;" type_identifier (pointer_declarator "**ppuVar7" * (pointer_declarator "*ppuVar7" * identifier)) ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "__int32_t **pp_Var9;" type_identifier (pointer_declarator "**pp_Var9" * (pointer_declarator "*pp_Var9" * identifier)) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "__int32_t _Var15;" type_identifier identifier ;) (declaration "char *pcStack_30;" primitive_type (pointer_declarator "*pcStack_30" * identifier) ;) (declaration "uint uStack_2c;" type_identifier identifier ;) (declaration "char *local_20 [3];" primitive_type (pointer_declarator "*local_20 [3]" * (array_declarator "local_20 [3]" identifier [ number_literal ])) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (declaration "char *pcVar14;" primitive_type (pointer_declarator "*pcVar14" * identifier) ;) (expression_statement "iVar10 = 0x36;" (assignment_expression "iVar10 = 0x36" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x16a4e;" (assignment_expression "uStack_14 = 0x16a4e" identifier = number_literal) ;) (expression_statement "pcVar5 = &DAT_0003b8c0;" (assignment_expression "pcVar5 = &DAT_0003b8c0" identifier = (pointer_expression "&DAT_0003b8c0" & identifier)) ;) (while_statement "while (iVar10 != 0) {\n    iVar10 = iVar10 + -1;\n    builtin_strncpy(pcVar5,"    ",4);\n    pcVar5 = pcVar5 + 4;\n  }" while (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar10 = iVar10 + -1;\n    builtin_strncpy(pcVar5,"    ",4);\n    pcVar5 = pcVar5 + 4;\n  }" { (expression_statement "iVar10 = iVar10 + -1;" (assignment_expression "iVar10 = iVar10 + -1" identifier = (binary_expression "iVar10 + -1" identifier + number_literal)) ;) (expression_statement "builtin_strncpy(pcVar5,"    ",4);" (call_expression "builtin_strncpy(pcVar5,"    ",4)" identifier (argument_list "(pcVar5,"    ",4)" ( identifier , (string_literal ""    "" " string_content ") , number_literal ))) ;) (expression_statement "pcVar5 = pcVar5 + 4;" (assignment_expression "pcVar5 = pcVar5 + 4" identifier = (binary_expression "pcVar5 + 4" identifier + number_literal)) ;) })) (expression_statement "DAT_0003b997 = 0;" (assignment_expression "DAT_0003b997 = 0" identifier = number_literal) ;) (expression_statement "cVar1 = *param_1;" (assignment_expression "cVar1 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "pcVar5 = &DAT_0003b8c0;" (assignment_expression "pcVar5 = &DAT_0003b8c0" identifier = (pointer_expression "&DAT_0003b8c0" & identifier)) ;) (expression_statement "pcVar14 = param_1;" (assignment_expression "pcVar14 = param_1" identifier = identifier) ;) (do_statement "do {\n    while( true ) {\n      if (cVar1 == '\0') {\n        *pcVar5 = '\0';\n        local_20[0] = pcVar14;\n        pcVar5 = strdup(&DAT_0003b8c0);\n        *param_2 = pcVar5;\n        return;\n      }\n      pcVar13 = pcVar14 + 1;\n      local_20[0] = pcVar13;\n      if (cVar1 == '\\') break;\n      if ((cVar1 == 'x') && (pcVar5 != &DAT_0003b8c0)) {\n        local_20[0] = pcVar14;\n        lVar6 = strtol(pcVar13,local_20,10);\n        cVar1 = pcVar5[-1];\n        pcVar14 = pcVar5;\n        pcVar13 = pcVar5;\n        if (1 < lVar6) {\n          do {\n            while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }\n          } while (pcVar5 + lVar6 + -1 != pcVar13);\n        }\n        goto LAB_00016abf;\n      }\n      pcVar13 = pcVar5 + 1;\n      *pcVar5 = *pcVar14;\n      if (pcVar5[1] != '\0') goto LAB_00016abf;\n      uVar4 = dcgettext(0,"level indent string is too long",5);\n      error(3,0,uVar4);\n      cVar1 = *local_20[0];\n      pcVar5 = pcVar13;\n      pcVar14 = local_20[0];\n    }\n    switch(pcVar14[1]) {\n    case '0':\n      pcStack_30 = pcVar14 + 2;\n      uVar12 = (uint)pcVar14[2];\n      if (pcVar14[2] != '\0') {\n        local_20[0] = pcStack_30;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uStack_2c = uVar12 - 0x30;\n        if ((*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0) {\n          if (uVar12 + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }\n          uStack_2c = uVar12 - 0x37;\n        }\n        if (uStack_2c < 9) {\n          _Var15 = (__int32_t)pcVar14[3];\n          pcStack_30 = pcVar14 + 3;\n          if (pcVar14[3] != '\0') {\n            pcStack_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + uStack_2c * 8;\n              if (pcVar14[4] != '\0') {\n                pcStack_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto code_r0x00016ca4;\n            }\n          }\n          uVar12 = uStack_2c & 0xff;\n        }\n        else {\ncode_r0x00016e6f:\n          pcStack_30 = pcVar14 + 3;\n          uVar12 = 0;\n        }\n      }\n      goto code_r0x00016ca4;\n    default:\n      *pcVar5 = pcVar14[1];\n      break;\n    case 'X':\n    case 'x':\n      local_20[0] = pcVar14 + 2;\n      bVar2 = pcVar14[2];\n      uVar12 = (uint)bVar2;\n      pcStack_30 = local_20[0];\n      if (bVar2 != 0) {\n        pcStack_30 = pcVar14 + 3;\n        uStack_2c = (uint)(char)bVar2;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uVar11 = uStack_2c - 0x30;\n        if ((*(byte *)((int)puVar3 + uStack_2c * 2 + 1) & 8) == 0) {\n          if (uStack_2c + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uStack_2c = (*pp_Var9)[uStack_2c];\n          }\n          uVar11 = uStack_2c - 0x37;\n        }\n        if (0x10 < uVar11) goto code_r0x00016e6f;\n        uVar12 = uVar11;\n        if (pcVar14[3] != '\0') {\n          pcStack_30 = pcVar14 + 4;\n          _Var15 = (__int32_t)pcVar14[3];\n          uVar8 = _Var15 - 0x30;\n          if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }\n          uVar12 = uVar11 * 0x10 + uVar8;\n          if (0x10 < uVar8) {\n            uVar12 = uVar11;\n          }\n        }\n      }\ncode_r0x00016ca4:\n      *pcVar5 = (char)uVar12;\n      local_20[0] = pcStack_30 + -1;\n      break;\n    case 'a':\n      *pcVar5 = '\a';\n      break;\n    case 'b':\n      *pcVar5 = '\b';\n      break;\n    case 'e':\n      *pcVar5 = '\x1b';\n      break;\n    case 'f':\n      *pcVar5 = '\f';\n      break;\n    case 'n':\n      *pcVar5 = '\n';\n      break;\n    case 'r':\n      *pcVar5 = '\r';\n      break;\n    case 't':\n      *pcVar5 = '\t';\n    }\n    pcVar13 = pcVar5 + 1;\n    local_20[0] = local_20[0] + 1;\nLAB_00016abf:\n    cVar1 = *local_20[0];\n    pcVar5 = pcVar13;\n    pcVar14 = local_20[0];\n  } while( true );" do (compound_statement "{\n    while( true ) {\n      if (cVar1 == '\0') {\n        *pcVar5 = '\0';\n        local_20[0] = pcVar14;\n        pcVar5 = strdup(&DAT_0003b8c0);\n        *param_2 = pcVar5;\n        return;\n      }\n      pcVar13 = pcVar14 + 1;\n      local_20[0] = pcVar13;\n      if (cVar1 == '\\') break;\n      if ((cVar1 == 'x') && (pcVar5 != &DAT_0003b8c0)) {\n        local_20[0] = pcVar14;\n        lVar6 = strtol(pcVar13,local_20,10);\n        cVar1 = pcVar5[-1];\n        pcVar14 = pcVar5;\n        pcVar13 = pcVar5;\n        if (1 < lVar6) {\n          do {\n            while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }\n          } while (pcVar5 + lVar6 + -1 != pcVar13);\n        }\n        goto LAB_00016abf;\n      }\n      pcVar13 = pcVar5 + 1;\n      *pcVar5 = *pcVar14;\n      if (pcVar5[1] != '\0') goto LAB_00016abf;\n      uVar4 = dcgettext(0,"level indent string is too long",5);\n      error(3,0,uVar4);\n      cVar1 = *local_20[0];\n      pcVar5 = pcVar13;\n      pcVar14 = local_20[0];\n    }\n    switch(pcVar14[1]) {\n    case '0':\n      pcStack_30 = pcVar14 + 2;\n      uVar12 = (uint)pcVar14[2];\n      if (pcVar14[2] != '\0') {\n        local_20[0] = pcStack_30;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uStack_2c = uVar12 - 0x30;\n        if ((*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0) {\n          if (uVar12 + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }\n          uStack_2c = uVar12 - 0x37;\n        }\n        if (uStack_2c < 9) {\n          _Var15 = (__int32_t)pcVar14[3];\n          pcStack_30 = pcVar14 + 3;\n          if (pcVar14[3] != '\0') {\n            pcStack_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + uStack_2c * 8;\n              if (pcVar14[4] != '\0') {\n                pcStack_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto code_r0x00016ca4;\n            }\n          }\n          uVar12 = uStack_2c & 0xff;\n        }\n        else {\ncode_r0x00016e6f:\n          pcStack_30 = pcVar14 + 3;\n          uVar12 = 0;\n        }\n      }\n      goto code_r0x00016ca4;\n    default:\n      *pcVar5 = pcVar14[1];\n      break;\n    case 'X':\n    case 'x':\n      local_20[0] = pcVar14 + 2;\n      bVar2 = pcVar14[2];\n      uVar12 = (uint)bVar2;\n      pcStack_30 = local_20[0];\n      if (bVar2 != 0) {\n        pcStack_30 = pcVar14 + 3;\n        uStack_2c = (uint)(char)bVar2;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uVar11 = uStack_2c - 0x30;\n        if ((*(byte *)((int)puVar3 + uStack_2c * 2 + 1) & 8) == 0) {\n          if (uStack_2c + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uStack_2c = (*pp_Var9)[uStack_2c];\n          }\n          uVar11 = uStack_2c - 0x37;\n        }\n        if (0x10 < uVar11) goto code_r0x00016e6f;\n        uVar12 = uVar11;\n        if (pcVar14[3] != '\0') {\n          pcStack_30 = pcVar14 + 4;\n          _Var15 = (__int32_t)pcVar14[3];\n          uVar8 = _Var15 - 0x30;\n          if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }\n          uVar12 = uVar11 * 0x10 + uVar8;\n          if (0x10 < uVar8) {\n            uVar12 = uVar11;\n          }\n        }\n      }\ncode_r0x00016ca4:\n      *pcVar5 = (char)uVar12;\n      local_20[0] = pcStack_30 + -1;\n      break;\n    case 'a':\n      *pcVar5 = '\a';\n      break;\n    case 'b':\n      *pcVar5 = '\b';\n      break;\n    case 'e':\n      *pcVar5 = '\x1b';\n      break;\n    case 'f':\n      *pcVar5 = '\f';\n      break;\n    case 'n':\n      *pcVar5 = '\n';\n      break;\n    case 'r':\n      *pcVar5 = '\r';\n      break;\n    case 't':\n      *pcVar5 = '\t';\n    }\n    pcVar13 = pcVar5 + 1;\n    local_20[0] = local_20[0] + 1;\nLAB_00016abf:\n    cVar1 = *local_20[0];\n    pcVar5 = pcVar13;\n    pcVar14 = local_20[0];\n  }" { (while_statement "while( true ) {\n      if (cVar1 == '\0') {\n        *pcVar5 = '\0';\n        local_20[0] = pcVar14;\n        pcVar5 = strdup(&DAT_0003b8c0);\n        *param_2 = pcVar5;\n        return;\n      }\n      pcVar13 = pcVar14 + 1;\n      local_20[0] = pcVar13;\n      if (cVar1 == '\\') break;\n      if ((cVar1 == 'x') && (pcVar5 != &DAT_0003b8c0)) {\n        local_20[0] = pcVar14;\n        lVar6 = strtol(pcVar13,local_20,10);\n        cVar1 = pcVar5[-1];\n        pcVar14 = pcVar5;\n        pcVar13 = pcVar5;\n        if (1 < lVar6) {\n          do {\n            while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }\n          } while (pcVar5 + lVar6 + -1 != pcVar13);\n        }\n        goto LAB_00016abf;\n      }\n      pcVar13 = pcVar5 + 1;\n      *pcVar5 = *pcVar14;\n      if (pcVar5[1] != '\0') goto LAB_00016abf;\n      uVar4 = dcgettext(0,"level indent string is too long",5);\n      error(3,0,uVar4);\n      cVar1 = *local_20[0];\n      pcVar5 = pcVar13;\n      pcVar14 = local_20[0];\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      if (cVar1 == '\0') {\n        *pcVar5 = '\0';\n        local_20[0] = pcVar14;\n        pcVar5 = strdup(&DAT_0003b8c0);\n        *param_2 = pcVar5;\n        return;\n      }\n      pcVar13 = pcVar14 + 1;\n      local_20[0] = pcVar13;\n      if (cVar1 == '\\') break;\n      if ((cVar1 == 'x') && (pcVar5 != &DAT_0003b8c0)) {\n        local_20[0] = pcVar14;\n        lVar6 = strtol(pcVar13,local_20,10);\n        cVar1 = pcVar5[-1];\n        pcVar14 = pcVar5;\n        pcVar13 = pcVar5;\n        if (1 < lVar6) {\n          do {\n            while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }\n          } while (pcVar5 + lVar6 + -1 != pcVar13);\n        }\n        goto LAB_00016abf;\n      }\n      pcVar13 = pcVar5 + 1;\n      *pcVar5 = *pcVar14;\n      if (pcVar5[1] != '\0') goto LAB_00016abf;\n      uVar4 = dcgettext(0,"level indent string is too long",5);\n      error(3,0,uVar4);\n      cVar1 = *local_20[0];\n      pcVar5 = pcVar13;\n      pcVar14 = local_20[0];\n    }" { (if_statement "if (cVar1 == '\0') {\n        *pcVar5 = '\0';\n        local_20[0] = pcVar14;\n        pcVar5 = strdup(&DAT_0003b8c0);\n        *param_2 = pcVar5;\n        return;\n      }" if (parenthesized_expression "(cVar1 == '\0')" ( (binary_expression "cVar1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        *pcVar5 = '\0';\n        local_20[0] = pcVar14;\n        pcVar5 = strdup(&DAT_0003b8c0);\n        *param_2 = pcVar5;\n        return;\n      }" { (expression_statement "*pcVar5 = '\0';" (assignment_expression "*pcVar5 = '\0'" (pointer_expression "*pcVar5" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_20[0] = pcVar14;" (assignment_expression "local_20[0] = pcVar14" (subscript_expression "local_20[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pcVar5 = strdup(&DAT_0003b8c0);" (assignment_expression "pcVar5 = strdup(&DAT_0003b8c0)" identifier = (call_expression "strdup(&DAT_0003b8c0)" identifier (argument_list "(&DAT_0003b8c0)" ( (pointer_expression "&DAT_0003b8c0" & identifier) )))) ;) (expression_statement "*param_2 = pcVar5;" (assignment_expression "*param_2 = pcVar5" (pointer_expression "*param_2" * identifier) = identifier) ;) (return_statement "return;" return ;) })) (expression_statement "pcVar13 = pcVar14 + 1;" (assignment_expression "pcVar13 = pcVar14 + 1" identifier = (binary_expression "pcVar14 + 1" identifier + number_literal)) ;) (expression_statement "local_20[0] = pcVar13;" (assignment_expression "local_20[0] = pcVar13" (subscript_expression "local_20[0]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (cVar1 == '\\') break;" if (parenthesized_expression "(cVar1 == '\\')" ( (binary_expression "cVar1 == '\\'" identifier == (char_literal "'\\'" ' escape_sequence ')) )) (break_statement "break;" break ;)) (if_statement "if ((cVar1 == 'x') && (pcVar5 != &DAT_0003b8c0)) {\n        local_20[0] = pcVar14;\n        lVar6 = strtol(pcVar13,local_20,10);\n        cVar1 = pcVar5[-1];\n        pcVar14 = pcVar5;\n        pcVar13 = pcVar5;\n        if (1 < lVar6) {\n          do {\n            while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }\n          } while (pcVar5 + lVar6 + -1 != pcVar13);\n        }\n        goto LAB_00016abf;\n      }" if (parenthesized_expression "((cVar1 == 'x') && (pcVar5 != &DAT_0003b8c0))" ( (binary_expression "(cVar1 == 'x') && (pcVar5 != &DAT_0003b8c0)" (parenthesized_expression "(cVar1 == 'x')" ( (binary_expression "cVar1 == 'x'" identifier == (char_literal "'x'" ' character ')) )) && (parenthesized_expression "(pcVar5 != &DAT_0003b8c0)" ( (binary_expression "pcVar5 != &DAT_0003b8c0" identifier != (pointer_expression "&DAT_0003b8c0" & identifier)) ))) )) (compound_statement "{\n        local_20[0] = pcVar14;\n        lVar6 = strtol(pcVar13,local_20,10);\n        cVar1 = pcVar5[-1];\n        pcVar14 = pcVar5;\n        pcVar13 = pcVar5;\n        if (1 < lVar6) {\n          do {\n            while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }\n          } while (pcVar5 + lVar6 + -1 != pcVar13);\n        }\n        goto LAB_00016abf;\n      }" { (expression_statement "local_20[0] = pcVar14;" (assignment_expression "local_20[0] = pcVar14" (subscript_expression "local_20[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "lVar6 = strtol(pcVar13,local_20,10);" (assignment_expression "lVar6 = strtol(pcVar13,local_20,10)" identifier = (call_expression "strtol(pcVar13,local_20,10)" identifier (argument_list "(pcVar13,local_20,10)" ( identifier , identifier , number_literal )))) ;) (expression_statement "cVar1 = pcVar5[-1];" (assignment_expression "cVar1 = pcVar5[-1]" identifier = (subscript_expression "pcVar5[-1]" identifier [ number_literal ])) ;) (expression_statement "pcVar14 = pcVar5;" (assignment_expression "pcVar14 = pcVar5" identifier = identifier) ;) (expression_statement "pcVar13 = pcVar5;" (assignment_expression "pcVar13 = pcVar5" identifier = identifier) ;) (if_statement "if (1 < lVar6) {\n          do {\n            while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }\n          } while (pcVar5 + lVar6 + -1 != pcVar13);\n        }" if (parenthesized_expression "(1 < lVar6)" ( (binary_expression "1 < lVar6" number_literal < identifier) )) (compound_statement "{\n          do {\n            while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }\n          } while (pcVar5 + lVar6 + -1 != pcVar13);\n        }" { (do_statement "do {\n            while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }\n          } while (pcVar5 + lVar6 + -1 != pcVar13);" do (compound_statement "{\n            while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }\n          }" { (while_statement "while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }" { (expression_statement "pcVar13 = pcVar14 + 1;" (assignment_expression "pcVar13 = pcVar14 + 1" identifier = (binary_expression "pcVar14 + 1" identifier + number_literal)) ;) (expression_statement "*pcVar14 = cVar1;" (assignment_expression "*pcVar14 = cVar1" (pointer_expression "*pcVar14" * identifier) = identifier) ;) (expression_statement "pcVar14 = pcVar13;" (assignment_expression "pcVar14 = pcVar13" identifier = identifier) ;) (if_statement "if (*pcVar13 != '\0') break;" if (parenthesized_expression "(*pcVar13 != '\0')" ( (binary_expression "*pcVar13 != '\0'" (pointer_expression "*pcVar13" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (break_statement "break;" break ;)) (expression_statement "uVar4 = dcgettext(0,"level indent string is too long",5);" (assignment_expression "uVar4 = dcgettext(0,"level indent string is too long",5)" identifier = (call_expression "dcgettext(0,"level indent string is too long",5)" identifier (argument_list "(0,"level indent string is too long",5)" ( number_literal , (string_literal ""level indent string is too long"" " string_content ") , number_literal )))) ;) (expression_statement "error(3,0,uVar4);" (call_expression "error(3,0,uVar4)" identifier (argument_list "(3,0,uVar4)" ( number_literal , number_literal , identifier ))) ;) (if_statement "if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;" if (parenthesized_expression "(pcVar5 + lVar6 + -1 == pcVar13)" ( (binary_expression "pcVar5 + lVar6 + -1 == pcVar13" (binary_expression "pcVar5 + lVar6 + -1" (binary_expression "pcVar5 + lVar6" identifier + identifier) + number_literal) == identifier) )) (goto_statement "goto LAB_00016abf;" goto statement_identifier ;)) })) }) while (parenthesized_expression "(pcVar5 + lVar6 + -1 != pcVar13)" ( (binary_expression "pcVar5 + lVar6 + -1 != pcVar13" (binary_expression "pcVar5 + lVar6 + -1" (binary_expression "pcVar5 + lVar6" identifier + identifier) + number_literal) != identifier) )) ;) })) (goto_statement "goto LAB_00016abf;" goto statement_identifier ;) })) (expression_statement "pcVar13 = pcVar5 + 1;" (assignment_expression "pcVar13 = pcVar5 + 1" identifier = (binary_expression "pcVar5 + 1" identifier + number_literal)) ;) (expression_statement "*pcVar5 = *pcVar14;" (assignment_expression "*pcVar5 = *pcVar14" (pointer_expression "*pcVar5" * identifier) = (pointer_expression "*pcVar14" * identifier)) ;) (if_statement "if (pcVar5[1] != '\0') goto LAB_00016abf;" if (parenthesized_expression "(pcVar5[1] != '\0')" ( (binary_expression "pcVar5[1] != '\0'" (subscript_expression "pcVar5[1]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00016abf;" goto statement_identifier ;)) (expression_statement "uVar4 = dcgettext(0,"level indent string is too long",5);" (assignment_expression "uVar4 = dcgettext(0,"level indent string is too long",5)" identifier = (call_expression "dcgettext(0,"level indent string is too long",5)" identifier (argument_list "(0,"level indent string is too long",5)" ( number_literal , (string_literal ""level indent string is too long"" " string_content ") , number_literal )))) ;) (expression_statement "error(3,0,uVar4);" (call_expression "error(3,0,uVar4)" identifier (argument_list "(3,0,uVar4)" ( number_literal , number_literal , identifier ))) ;) (expression_statement "cVar1 = *local_20[0];" (assignment_expression "cVar1 = *local_20[0]" identifier = (pointer_expression "*local_20[0]" * (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "pcVar5 = pcVar13;" (assignment_expression "pcVar5 = pcVar13" identifier = identifier) ;) (expression_statement "pcVar14 = local_20[0];" (assignment_expression "pcVar14 = local_20[0]" identifier = (subscript_expression "local_20[0]" identifier [ number_literal ])) ;) })) (switch_statement "switch(pcVar14[1]) {\n    case '0':\n      pcStack_30 = pcVar14 + 2;\n      uVar12 = (uint)pcVar14[2];\n      if (pcVar14[2] != '\0') {\n        local_20[0] = pcStack_30;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uStack_2c = uVar12 - 0x30;\n        if ((*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0) {\n          if (uVar12 + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }\n          uStack_2c = uVar12 - 0x37;\n        }\n        if (uStack_2c < 9) {\n          _Var15 = (__int32_t)pcVar14[3];\n          pcStack_30 = pcVar14 + 3;\n          if (pcVar14[3] != '\0') {\n            pcStack_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + uStack_2c * 8;\n              if (pcVar14[4] != '\0') {\n                pcStack_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto code_r0x00016ca4;\n            }\n          }\n          uVar12 = uStack_2c & 0xff;\n        }\n        else {\ncode_r0x00016e6f:\n          pcStack_30 = pcVar14 + 3;\n          uVar12 = 0;\n        }\n      }\n      goto code_r0x00016ca4;\n    default:\n      *pcVar5 = pcVar14[1];\n      break;\n    case 'X':\n    case 'x':\n      local_20[0] = pcVar14 + 2;\n      bVar2 = pcVar14[2];\n      uVar12 = (uint)bVar2;\n      pcStack_30 = local_20[0];\n      if (bVar2 != 0) {\n        pcStack_30 = pcVar14 + 3;\n        uStack_2c = (uint)(char)bVar2;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uVar11 = uStack_2c - 0x30;\n        if ((*(byte *)((int)puVar3 + uStack_2c * 2 + 1) & 8) == 0) {\n          if (uStack_2c + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uStack_2c = (*pp_Var9)[uStack_2c];\n          }\n          uVar11 = uStack_2c - 0x37;\n        }\n        if (0x10 < uVar11) goto code_r0x00016e6f;\n        uVar12 = uVar11;\n        if (pcVar14[3] != '\0') {\n          pcStack_30 = pcVar14 + 4;\n          _Var15 = (__int32_t)pcVar14[3];\n          uVar8 = _Var15 - 0x30;\n          if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }\n          uVar12 = uVar11 * 0x10 + uVar8;\n          if (0x10 < uVar8) {\n            uVar12 = uVar11;\n          }\n        }\n      }\ncode_r0x00016ca4:\n      *pcVar5 = (char)uVar12;\n      local_20[0] = pcStack_30 + -1;\n      break;\n    case 'a':\n      *pcVar5 = '\a';\n      break;\n    case 'b':\n      *pcVar5 = '\b';\n      break;\n    case 'e':\n      *pcVar5 = '\x1b';\n      break;\n    case 'f':\n      *pcVar5 = '\f';\n      break;\n    case 'n':\n      *pcVar5 = '\n';\n      break;\n    case 'r':\n      *pcVar5 = '\r';\n      break;\n    case 't':\n      *pcVar5 = '\t';\n    }" switch (parenthesized_expression "(pcVar14[1])" ( (subscript_expression "pcVar14[1]" identifier [ number_literal ]) )) (compound_statement "{\n    case '0':\n      pcStack_30 = pcVar14 + 2;\n      uVar12 = (uint)pcVar14[2];\n      if (pcVar14[2] != '\0') {\n        local_20[0] = pcStack_30;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uStack_2c = uVar12 - 0x30;\n        if ((*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0) {\n          if (uVar12 + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }\n          uStack_2c = uVar12 - 0x37;\n        }\n        if (uStack_2c < 9) {\n          _Var15 = (__int32_t)pcVar14[3];\n          pcStack_30 = pcVar14 + 3;\n          if (pcVar14[3] != '\0') {\n            pcStack_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + uStack_2c * 8;\n              if (pcVar14[4] != '\0') {\n                pcStack_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto code_r0x00016ca4;\n            }\n          }\n          uVar12 = uStack_2c & 0xff;\n        }\n        else {\ncode_r0x00016e6f:\n          pcStack_30 = pcVar14 + 3;\n          uVar12 = 0;\n        }\n      }\n      goto code_r0x00016ca4;\n    default:\n      *pcVar5 = pcVar14[1];\n      break;\n    case 'X':\n    case 'x':\n      local_20[0] = pcVar14 + 2;\n      bVar2 = pcVar14[2];\n      uVar12 = (uint)bVar2;\n      pcStack_30 = local_20[0];\n      if (bVar2 != 0) {\n        pcStack_30 = pcVar14 + 3;\n        uStack_2c = (uint)(char)bVar2;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uVar11 = uStack_2c - 0x30;\n        if ((*(byte *)((int)puVar3 + uStack_2c * 2 + 1) & 8) == 0) {\n          if (uStack_2c + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uStack_2c = (*pp_Var9)[uStack_2c];\n          }\n          uVar11 = uStack_2c - 0x37;\n        }\n        if (0x10 < uVar11) goto code_r0x00016e6f;\n        uVar12 = uVar11;\n        if (pcVar14[3] != '\0') {\n          pcStack_30 = pcVar14 + 4;\n          _Var15 = (__int32_t)pcVar14[3];\n          uVar8 = _Var15 - 0x30;\n          if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }\n          uVar12 = uVar11 * 0x10 + uVar8;\n          if (0x10 < uVar8) {\n            uVar12 = uVar11;\n          }\n        }\n      }\ncode_r0x00016ca4:\n      *pcVar5 = (char)uVar12;\n      local_20[0] = pcStack_30 + -1;\n      break;\n    case 'a':\n      *pcVar5 = '\a';\n      break;\n    case 'b':\n      *pcVar5 = '\b';\n      break;\n    case 'e':\n      *pcVar5 = '\x1b';\n      break;\n    case 'f':\n      *pcVar5 = '\f';\n      break;\n    case 'n':\n      *pcVar5 = '\n';\n      break;\n    case 'r':\n      *pcVar5 = '\r';\n      break;\n    case 't':\n      *pcVar5 = '\t';\n    }" { (case_statement "case '0':\n      pcStack_30 = pcVar14 + 2;\n      uVar12 = (uint)pcVar14[2];\n      if (pcVar14[2] != '\0') {\n        local_20[0] = pcStack_30;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uStack_2c = uVar12 - 0x30;\n        if ((*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0) {\n          if (uVar12 + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }\n          uStack_2c = uVar12 - 0x37;\n        }\n        if (uStack_2c < 9) {\n          _Var15 = (__int32_t)pcVar14[3];\n          pcStack_30 = pcVar14 + 3;\n          if (pcVar14[3] != '\0') {\n            pcStack_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + uStack_2c * 8;\n              if (pcVar14[4] != '\0') {\n                pcStack_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto code_r0x00016ca4;\n            }\n          }\n          uVar12 = uStack_2c & 0xff;\n        }\n        else {\ncode_r0x00016e6f:\n          pcStack_30 = pcVar14 + 3;\n          uVar12 = 0;\n        }\n      }\n      goto code_r0x00016ca4;" case (char_literal "'0'" ' character ') : (expression_statement "pcStack_30 = pcVar14 + 2;" (assignment_expression "pcStack_30 = pcVar14 + 2" identifier = (binary_expression "pcVar14 + 2" identifier + number_literal)) ;) (expression_statement "uVar12 = (uint)pcVar14[2];" (assignment_expression "uVar12 = (uint)pcVar14[2]" identifier = (cast_expression "(uint)pcVar14[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pcVar14[2]" identifier [ number_literal ]))) ;) (if_statement "if (pcVar14[2] != '\0') {\n        local_20[0] = pcStack_30;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uStack_2c = uVar12 - 0x30;\n        if ((*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0) {\n          if (uVar12 + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }\n          uStack_2c = uVar12 - 0x37;\n        }\n        if (uStack_2c < 9) {\n          _Var15 = (__int32_t)pcVar14[3];\n          pcStack_30 = pcVar14 + 3;\n          if (pcVar14[3] != '\0') {\n            pcStack_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + uStack_2c * 8;\n              if (pcVar14[4] != '\0') {\n                pcStack_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto code_r0x00016ca4;\n            }\n          }\n          uVar12 = uStack_2c & 0xff;\n        }\n        else {\ncode_r0x00016e6f:\n          pcStack_30 = pcVar14 + 3;\n          uVar12 = 0;\n        }\n      }" if (parenthesized_expression "(pcVar14[2] != '\0')" ( (binary_expression "pcVar14[2] != '\0'" (subscript_expression "pcVar14[2]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        local_20[0] = pcStack_30;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uStack_2c = uVar12 - 0x30;\n        if ((*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0) {\n          if (uVar12 + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }\n          uStack_2c = uVar12 - 0x37;\n        }\n        if (uStack_2c < 9) {\n          _Var15 = (__int32_t)pcVar14[3];\n          pcStack_30 = pcVar14 + 3;\n          if (pcVar14[3] != '\0') {\n            pcStack_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + uStack_2c * 8;\n              if (pcVar14[4] != '\0') {\n                pcStack_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto code_r0x00016ca4;\n            }\n          }\n          uVar12 = uStack_2c & 0xff;\n        }\n        else {\ncode_r0x00016e6f:\n          pcStack_30 = pcVar14 + 3;\n          uVar12 = 0;\n        }\n      }" { (expression_statement "local_20[0] = pcStack_30;" (assignment_expression "local_20[0] = pcStack_30" (subscript_expression "local_20[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppuVar7 = __ctype_b_loc();" (assignment_expression "ppuVar7 = __ctype_b_loc()" identifier = (call_expression "__ctype_b_loc()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar3 = *ppuVar7;" (assignment_expression "puVar3 = *ppuVar7" identifier = (pointer_expression "*ppuVar7" * identifier)) ;) (expression_statement "uStack_2c = uVar12 - 0x30;" (assignment_expression "uStack_2c = uVar12 - 0x30" identifier = (binary_expression "uVar12 - 0x30" identifier - number_literal)) ;) (if_statement "if ((*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0) {\n          if (uVar12 + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }\n          uStack_2c = uVar12 - 0x37;\n        }" if (parenthesized_expression "((*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0)" ( (binary_expression "(*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0" (parenthesized_expression "(*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8)" ( (binary_expression "*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8" (pointer_expression "*(byte *)((int)puVar3 + uVar12 * 2 + 1)" * (cast_expression "(byte *)((int)puVar3 + uVar12 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar3 + uVar12 * 2 + 1)" ( (binary_expression "(int)puVar3 + uVar12 * 2 + 1" (binary_expression "(int)puVar3 + uVar12 * 2" (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "uVar12 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n          if (uVar12 + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }\n          uStack_2c = uVar12 - 0x37;\n        }" { (if_statement "if (uVar12 + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }" if (parenthesized_expression "(uVar12 + 0x80 < 0x180)" ( (binary_expression "uVar12 + 0x80 < 0x180" (binary_expression "uVar12 + 0x80" identifier + number_literal) < number_literal) )) (compound_statement "{\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }" { (expression_statement "pp_Var9 = __ctype_toupper_loc();" (assignment_expression "pp_Var9 = __ctype_toupper_loc()" identifier = (call_expression "__ctype_toupper_loc()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar12 = (*pp_Var9)[uVar12];" (assignment_expression "uVar12 = (*pp_Var9)[uVar12]" identifier = (subscript_expression "(*pp_Var9)[uVar12]" (parenthesized_expression "(*pp_Var9)" ( (pointer_expression "*pp_Var9" * identifier) )) [ identifier ])) ;) })) (expression_statement "uStack_2c = uVar12 - 0x37;" (assignment_expression "uStack_2c = uVar12 - 0x37" identifier = (binary_expression "uVar12 - 0x37" identifier - number_literal)) ;) })) (if_statement "if (uStack_2c < 9) {\n          _Var15 = (__int32_t)pcVar14[3];\n          pcStack_30 = pcVar14 + 3;\n          if (pcVar14[3] != '\0') {\n            pcStack_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + uStack_2c * 8;\n              if (pcVar14[4] != '\0') {\n                pcStack_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto code_r0x00016ca4;\n            }\n          }\n          uVar12 = uStack_2c & 0xff;\n        }\n        else {\ncode_r0x00016e6f:\n          pcStack_30 = pcVar14 + 3;\n          uVar12 = 0;\n        }" if (parenthesized_expression "(uStack_2c < 9)" ( (binary_expression "uStack_2c < 9" identifier < number_literal) )) (compound_statement "{\n          _Var15 = (__int32_t)pcVar14[3];\n          pcStack_30 = pcVar14 + 3;\n          if (pcVar14[3] != '\0') {\n            pcStack_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + uStack_2c * 8;\n              if (pcVar14[4] != '\0') {\n                pcStack_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto code_r0x00016ca4;\n            }\n          }\n          uVar12 = uStack_2c & 0xff;\n        }" { (expression_statement "_Var15 = (__int32_t)pcVar14[3];" (assignment_expression "_Var15 = (__int32_t)pcVar14[3]" identifier = (cast_expression "(__int32_t)pcVar14[3]" ( (type_descriptor "__int32_t" type_identifier) ) (subscript_expression "pcVar14[3]" identifier [ number_literal ]))) ;) (expression_statement "pcStack_30 = pcVar14 + 3;" (assignment_expression "pcStack_30 = pcVar14 + 3" identifier = (binary_expression "pcVar14 + 3" identifier + number_literal)) ;) (if_statement "if (pcVar14[3] != '\0') {\n            pcStack_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + uStack_2c * 8;\n              if (pcVar14[4] != '\0') {\n                pcStack_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto code_r0x00016ca4;\n            }\n          }" if (parenthesized_expression "(pcVar14[3] != '\0')" ( (binary_expression "pcVar14[3] != '\0'" (subscript_expression "pcVar14[3]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            pcStack_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + uStack_2c * 8;\n              if (pcVar14[4] != '\0') {\n                pcStack_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto code_r0x00016ca4;\n            }\n          }" { (expression_statement "pcStack_30 = pcVar14 + 4;" (assignment_expression "pcStack_30 = pcVar14 + 4" identifier = (binary_expression "pcVar14 + 4" identifier + number_literal)) ;) (expression_statement "uVar12 = _Var15 - 0x30;" (assignment_expression "uVar12 = _Var15 - 0x30" identifier = (binary_expression "_Var15 - 0x30" identifier - number_literal)) ;) (if_statement "if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }" if (parenthesized_expression "((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0)" ( (binary_expression "(*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0" (parenthesized_expression "(*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8)" ( (binary_expression "*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8" (pointer_expression "*(byte *)((int)puVar3 + _Var15 * 2 + 1)" * (cast_expression "(byte *)((int)puVar3 + _Var15 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar3 + _Var15 * 2 + 1)" ( (binary_expression "(int)puVar3 + _Var15 * 2 + 1" (binary_expression "(int)puVar3 + _Var15 * 2" (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "_Var15 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }" { (if_statement "if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }" if (parenthesized_expression "(_Var15 + 0x80U < 0x180)" ( (binary_expression "_Var15 + 0x80U < 0x180" (binary_expression "_Var15 + 0x80U" identifier + number_literal) < number_literal) )) (compound_statement "{\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }" { (expression_statement "pp_Var9 = __ctype_toupper_loc();" (assignment_expression "pp_Var9 = __ctype_toupper_loc()" identifier = (call_expression "__ctype_toupper_loc()" identifier (argument_list "()" ( )))) ;) (expression_statement "_Var15 = (*pp_Var9)[_Var15];" (assignment_expression "_Var15 = (*pp_Var9)[_Var15]" identifier = (subscript_expression "(*pp_Var9)[_Var15]" (parenthesized_expression "(*pp_Var9)" ( (pointer_expression "*pp_Var9" * identifier) )) [ identifier ])) ;) })) (expression_statement "uVar12 = _Var15 - 0x37;" (assignment_expression "uVar12 = _Var15 - 0x37" identifier = (binary_expression "_Var15 - 0x37" identifier - number_literal)) ;) })) (if_statement "if (uVar12 < 9) {\n              uVar12 = uVar12 + uStack_2c * 8;\n              if (pcVar14[4] != '\0') {\n                pcStack_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto code_r0x00016ca4;\n            }" if (parenthesized_expression "(uVar12 < 9)" ( (binary_expression "uVar12 < 9" identifier < number_literal) )) (compound_statement "{\n              uVar12 = uVar12 + uStack_2c * 8;\n              if (pcVar14[4] != '\0') {\n                pcStack_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto code_r0x00016ca4;\n            }" { (expression_statement "uVar12 = uVar12 + uStack_2c * 8;" (assignment_expression "uVar12 = uVar12 + uStack_2c * 8" identifier = (binary_expression "uVar12 + uStack_2c * 8" identifier + (binary_expression "uStack_2c * 8" identifier * number_literal))) ;) (if_statement "if (pcVar14[4] != '\0') {\n                pcStack_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }" if (parenthesized_expression "(pcVar14[4] != '\0')" ( (binary_expression "pcVar14[4] != '\0'" (subscript_expression "pcVar14[4]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                pcStack_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }" { (expression_statement "pcStack_30 = pcVar14 + 5;" (assignment_expression "pcStack_30 = pcVar14 + 5" identifier = (binary_expression "pcVar14 + 5" identifier + number_literal)) ;) (expression_statement "_Var15 = (__int32_t)pcVar14[4];" (assignment_expression "_Var15 = (__int32_t)pcVar14[4]" identifier = (cast_expression "(__int32_t)pcVar14[4]" ( (type_descriptor "__int32_t" type_identifier) ) (subscript_expression "pcVar14[4]" identifier [ number_literal ]))) ;) (expression_statement "uVar11 = _Var15 - 0x30;" (assignment_expression "uVar11 = _Var15 - 0x30" identifier = (binary_expression "_Var15 - 0x30" identifier - number_literal)) ;) (if_statement "if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }" if (parenthesized_expression "((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0)" ( (binary_expression "(*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0" (parenthesized_expression "(*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8)" ( (binary_expression "*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8" (pointer_expression "*(byte *)((int)puVar3 + _Var15 * 2 + 1)" * (cast_expression "(byte *)((int)puVar3 + _Var15 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar3 + _Var15 * 2 + 1)" ( (binary_expression "(int)puVar3 + _Var15 * 2 + 1" (binary_expression "(int)puVar3 + _Var15 * 2" (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "_Var15 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }" { (if_statement "if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }" if (parenthesized_expression "(_Var15 + 0x80U < 0x180)" ( (binary_expression "_Var15 + 0x80U < 0x180" (binary_expression "_Var15 + 0x80U" identifier + number_literal) < number_literal) )) (compound_statement "{\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }" { (expression_statement "pp_Var9 = __ctype_toupper_loc();" (assignment_expression "pp_Var9 = __ctype_toupper_loc()" identifier = (call_expression "__ctype_toupper_loc()" identifier (argument_list "()" ( )))) ;) (expression_statement "_Var15 = (*pp_Var9)[_Var15];" (assignment_expression "_Var15 = (*pp_Var9)[_Var15]" identifier = (subscript_expression "(*pp_Var9)[_Var15]" (parenthesized_expression "(*pp_Var9)" ( (pointer_expression "*pp_Var9" * identifier) )) [ identifier ])) ;) })) (expression_statement "uVar11 = _Var15 - 0x37;" (assignment_expression "uVar11 = _Var15 - 0x37" identifier = (binary_expression "_Var15 - 0x37" identifier - number_literal)) ;) })) (if_statement "if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }" if (parenthesized_expression "(uVar11 < 9)" ( (binary_expression "uVar11 < 9" identifier < number_literal) )) (compound_statement "{\n                  uVar12 = uVar11 + uVar12 * 8;\n                }" { (expression_statement "uVar12 = uVar11 + uVar12 * 8;" (assignment_expression "uVar12 = uVar11 + uVar12 * 8" identifier = (binary_expression "uVar11 + uVar12 * 8" identifier + (binary_expression "uVar12 * 8" identifier * number_literal))) ;) })) })) (goto_statement "goto code_r0x00016ca4;" goto statement_identifier ;) })) })) (expression_statement "uVar12 = uStack_2c & 0xff;" (assignment_expression "uVar12 = uStack_2c & 0xff" identifier = (binary_expression "uStack_2c & 0xff" identifier & number_literal)) ;) }) (else_clause "else {\ncode_r0x00016e6f:\n          pcStack_30 = pcVar14 + 3;\n          uVar12 = 0;\n        }" else (compound_statement "{\ncode_r0x00016e6f:\n          pcStack_30 = pcVar14 + 3;\n          uVar12 = 0;\n        }" { (labeled_statement "code_r0x00016e6f:\n          pcStack_30 = pcVar14 + 3;" statement_identifier : (expression_statement "pcStack_30 = pcVar14 + 3;" (assignment_expression "pcStack_30 = pcVar14 + 3" identifier = (binary_expression "pcVar14 + 3" identifier + number_literal)) ;)) (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) }))) })) (goto_statement "goto code_r0x00016ca4;" goto statement_identifier ;)) (case_statement "default:\n      *pcVar5 = pcVar14[1];\n      break;" default : (expression_statement "*pcVar5 = pcVar14[1];" (assignment_expression "*pcVar5 = pcVar14[1]" (pointer_expression "*pcVar5" * identifier) = (subscript_expression "pcVar14[1]" identifier [ number_literal ])) ;) (break_statement "break;" break ;)) (case_statement "case 'X':" case (char_literal "'X'" ' character ') :) (case_statement "case 'x':\n      local_20[0] = pcVar14 + 2;\n      bVar2 = pcVar14[2];\n      uVar12 = (uint)bVar2;\n      pcStack_30 = local_20[0];\n      if (bVar2 != 0) {\n        pcStack_30 = pcVar14 + 3;\n        uStack_2c = (uint)(char)bVar2;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uVar11 = uStack_2c - 0x30;\n        if ((*(byte *)((int)puVar3 + uStack_2c * 2 + 1) & 8) == 0) {\n          if (uStack_2c + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uStack_2c = (*pp_Var9)[uStack_2c];\n          }\n          uVar11 = uStack_2c - 0x37;\n        }\n        if (0x10 < uVar11) goto code_r0x00016e6f;\n        uVar12 = uVar11;\n        if (pcVar14[3] != '\0') {\n          pcStack_30 = pcVar14 + 4;\n          _Var15 = (__int32_t)pcVar14[3];\n          uVar8 = _Var15 - 0x30;\n          if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }\n          uVar12 = uVar11 * 0x10 + uVar8;\n          if (0x10 < uVar8) {\n            uVar12 = uVar11;\n          }\n        }\n      }\ncode_r0x00016ca4:\n      *pcVar5 = (char)uVar12;\n      local_20[0] = pcStack_30 + -1;\n      break;" case (char_literal "'x'" ' character ') : (expression_statement "local_20[0] = pcVar14 + 2;" (assignment_expression "local_20[0] = pcVar14 + 2" (subscript_expression "local_20[0]" identifier [ number_literal ]) = (binary_expression "pcVar14 + 2" identifier + number_literal)) ;) (expression_statement "bVar2 = pcVar14[2];" (assignment_expression "bVar2 = pcVar14[2]" identifier = (subscript_expression "pcVar14[2]" identifier [ number_literal ])) ;) (expression_statement "uVar12 = (uint)bVar2;" (assignment_expression "uVar12 = (uint)bVar2" identifier = (cast_expression "(uint)bVar2" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "pcStack_30 = local_20[0];" (assignment_expression "pcStack_30 = local_20[0]" identifier = (subscript_expression "local_20[0]" identifier [ number_literal ])) ;) (if_statement "if (bVar2 != 0) {\n        pcStack_30 = pcVar14 + 3;\n        uStack_2c = (uint)(char)bVar2;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uVar11 = uStack_2c - 0x30;\n        if ((*(byte *)((int)puVar3 + uStack_2c * 2 + 1) & 8) == 0) {\n          if (uStack_2c + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uStack_2c = (*pp_Var9)[uStack_2c];\n          }\n          uVar11 = uStack_2c - 0x37;\n        }\n        if (0x10 < uVar11) goto code_r0x00016e6f;\n        uVar12 = uVar11;\n        if (pcVar14[3] != '\0') {\n          pcStack_30 = pcVar14 + 4;\n          _Var15 = (__int32_t)pcVar14[3];\n          uVar8 = _Var15 - 0x30;\n          if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }\n          uVar12 = uVar11 * 0x10 + uVar8;\n          if (0x10 < uVar8) {\n            uVar12 = uVar11;\n          }\n        }\n      }" if (parenthesized_expression "(bVar2 != 0)" ( (binary_expression "bVar2 != 0" identifier != number_literal) )) (compound_statement "{\n        pcStack_30 = pcVar14 + 3;\n        uStack_2c = (uint)(char)bVar2;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uVar11 = uStack_2c - 0x30;\n        if ((*(byte *)((int)puVar3 + uStack_2c * 2 + 1) & 8) == 0) {\n          if (uStack_2c + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uStack_2c = (*pp_Var9)[uStack_2c];\n          }\n          uVar11 = uStack_2c - 0x37;\n        }\n        if (0x10 < uVar11) goto code_r0x00016e6f;\n        uVar12 = uVar11;\n        if (pcVar14[3] != '\0') {\n          pcStack_30 = pcVar14 + 4;\n          _Var15 = (__int32_t)pcVar14[3];\n          uVar8 = _Var15 - 0x30;\n          if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }\n          uVar12 = uVar11 * 0x10 + uVar8;\n          if (0x10 < uVar8) {\n            uVar12 = uVar11;\n          }\n        }\n      }" { (expression_statement "pcStack_30 = pcVar14 + 3;" (assignment_expression "pcStack_30 = pcVar14 + 3" identifier = (binary_expression "pcVar14 + 3" identifier + number_literal)) ;) (expression_statement "uStack_2c = (uint)(char)bVar2;" (assignment_expression "uStack_2c = (uint)(char)bVar2" identifier = (cast_expression "(uint)(char)bVar2" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char)bVar2" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (expression_statement "ppuVar7 = __ctype_b_loc();" (assignment_expression "ppuVar7 = __ctype_b_loc()" identifier = (call_expression "__ctype_b_loc()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar3 = *ppuVar7;" (assignment_expression "puVar3 = *ppuVar7" identifier = (pointer_expression "*ppuVar7" * identifier)) ;) (expression_statement "uVar11 = uStack_2c - 0x30;" (assignment_expression "uVar11 = uStack_2c - 0x30" identifier = (binary_expression "uStack_2c - 0x30" identifier - number_literal)) ;) (if_statement "if ((*(byte *)((int)puVar3 + uStack_2c * 2 + 1) & 8) == 0) {\n          if (uStack_2c + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uStack_2c = (*pp_Var9)[uStack_2c];\n          }\n          uVar11 = uStack_2c - 0x37;\n        }" if (parenthesized_expression "((*(byte *)((int)puVar3 + uStack_2c * 2 + 1) & 8) == 0)" ( (binary_expression "(*(byte *)((int)puVar3 + uStack_2c * 2 + 1) & 8) == 0" (parenthesized_expression "(*(byte *)((int)puVar3 + uStack_2c * 2 + 1) & 8)" ( (binary_expression "*(byte *)((int)puVar3 + uStack_2c * 2 + 1) & 8" (pointer_expression "*(byte *)((int)puVar3 + uStack_2c * 2 + 1)" * (cast_expression "(byte *)((int)puVar3 + uStack_2c * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar3 + uStack_2c * 2 + 1)" ( (binary_expression "(int)puVar3 + uStack_2c * 2 + 1" (binary_expression "(int)puVar3 + uStack_2c * 2" (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "uStack_2c * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n          if (uStack_2c + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uStack_2c = (*pp_Var9)[uStack_2c];\n          }\n          uVar11 = uStack_2c - 0x37;\n        }" { (if_statement "if (uStack_2c + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uStack_2c = (*pp_Var9)[uStack_2c];\n          }" if (parenthesized_expression "(uStack_2c + 0x80 < 0x180)" ( (binary_expression "uStack_2c + 0x80 < 0x180" (binary_expression "uStack_2c + 0x80" identifier + number_literal) < number_literal) )) (compound_statement "{\n            pp_Var9 = __ctype_toupper_loc();\n            uStack_2c = (*pp_Var9)[uStack_2c];\n          }" { (expression_statement "pp_Var9 = __ctype_toupper_loc();" (assignment_expression "pp_Var9 = __ctype_toupper_loc()" identifier = (call_expression "__ctype_toupper_loc()" identifier (argument_list "()" ( )))) ;) (expression_statement "uStack_2c = (*pp_Var9)[uStack_2c];" (assignment_expression "uStack_2c = (*pp_Var9)[uStack_2c]" identifier = (subscript_expression "(*pp_Var9)[uStack_2c]" (parenthesized_expression "(*pp_Var9)" ( (pointer_expression "*pp_Var9" * identifier) )) [ identifier ])) ;) })) (expression_statement "uVar11 = uStack_2c - 0x37;" (assignment_expression "uVar11 = uStack_2c - 0x37" identifier = (binary_expression "uStack_2c - 0x37" identifier - number_literal)) ;) })) (if_statement "if (0x10 < uVar11) goto code_r0x00016e6f;" if (parenthesized_expression "(0x10 < uVar11)" ( (binary_expression "0x10 < uVar11" number_literal < identifier) )) (goto_statement "goto code_r0x00016e6f;" goto statement_identifier ;)) (expression_statement "uVar12 = uVar11;" (assignment_expression "uVar12 = uVar11" identifier = identifier) ;) (if_statement "if (pcVar14[3] != '\0') {\n          pcStack_30 = pcVar14 + 4;\n          _Var15 = (__int32_t)pcVar14[3];\n          uVar8 = _Var15 - 0x30;\n          if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }\n          uVar12 = uVar11 * 0x10 + uVar8;\n          if (0x10 < uVar8) {\n            uVar12 = uVar11;\n          }\n        }" if (parenthesized_expression "(pcVar14[3] != '\0')" ( (binary_expression "pcVar14[3] != '\0'" (subscript_expression "pcVar14[3]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          pcStack_30 = pcVar14 + 4;\n          _Var15 = (__int32_t)pcVar14[3];\n          uVar8 = _Var15 - 0x30;\n          if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }\n          uVar12 = uVar11 * 0x10 + uVar8;\n          if (0x10 < uVar8) {\n            uVar12 = uVar11;\n          }\n        }" { (expression_statement "pcStack_30 = pcVar14 + 4;" (assignment_expression "pcStack_30 = pcVar14 + 4" identifier = (binary_expression "pcVar14 + 4" identifier + number_literal)) ;) (expression_statement "_Var15 = (__int32_t)pcVar14[3];" (assignment_expression "_Var15 = (__int32_t)pcVar14[3]" identifier = (cast_expression "(__int32_t)pcVar14[3]" ( (type_descriptor "__int32_t" type_identifier) ) (subscript_expression "pcVar14[3]" identifier [ number_literal ]))) ;) (expression_statement "uVar8 = _Var15 - 0x30;" (assignment_expression "uVar8 = _Var15 - 0x30" identifier = (binary_expression "_Var15 - 0x30" identifier - number_literal)) ;) (if_statement "if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }" if (parenthesized_expression "((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0)" ( (binary_expression "(*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0" (parenthesized_expression "(*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8)" ( (binary_expression "*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8" (pointer_expression "*(byte *)((int)puVar3 + _Var15 * 2 + 1)" * (cast_expression "(byte *)((int)puVar3 + _Var15 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar3 + _Var15 * 2 + 1)" ( (binary_expression "(int)puVar3 + _Var15 * 2 + 1" (binary_expression "(int)puVar3 + _Var15 * 2" (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "_Var15 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }" { (if_statement "if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }" if (parenthesized_expression "(_Var15 + 0x80U < 0x180)" ( (binary_expression "_Var15 + 0x80U < 0x180" (binary_expression "_Var15 + 0x80U" identifier + number_literal) < number_literal) )) (compound_statement "{\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }" { (expression_statement "pp_Var9 = __ctype_toupper_loc();" (assignment_expression "pp_Var9 = __ctype_toupper_loc()" identifier = (call_expression "__ctype_toupper_loc()" identifier (argument_list "()" ( )))) ;) (expression_statement "_Var15 = (*pp_Var9)[_Var15];" (assignment_expression "_Var15 = (*pp_Var9)[_Var15]" identifier = (subscript_expression "(*pp_Var9)[_Var15]" (parenthesized_expression "(*pp_Var9)" ( (pointer_expression "*pp_Var9" * identifier) )) [ identifier ])) ;) })) (expression_statement "uVar8 = _Var15 - 0x37;" (assignment_expression "uVar8 = _Var15 - 0x37" identifier = (binary_expression "_Var15 - 0x37" identifier - number_literal)) ;) })) (expression_statement "uVar12 = uVar11 * 0x10 + uVar8;" (assignment_expression "uVar12 = uVar11 * 0x10 + uVar8" identifier = (binary_expression "uVar11 * 0x10 + uVar8" (binary_expression "uVar11 * 0x10" identifier * number_literal) + identifier)) ;) (if_statement "if (0x10 < uVar8) {\n            uVar12 = uVar11;\n          }" if (parenthesized_expression "(0x10 < uVar8)" ( (binary_expression "0x10 < uVar8" number_literal < identifier) )) (compound_statement "{\n            uVar12 = uVar11;\n          }" { (expression_statement "uVar12 = uVar11;" (assignment_expression "uVar12 = uVar11" identifier = identifier) ;) })) })) })) (labeled_statement "code_r0x00016ca4:\n      *pcVar5 = (char)uVar12;" statement_identifier : (expression_statement "*pcVar5 = (char)uVar12;" (assignment_expression "*pcVar5 = (char)uVar12" (pointer_expression "*pcVar5" * identifier) = (cast_expression "(char)uVar12" ( (type_descriptor "char" primitive_type) ) identifier)) ;)) (expression_statement "local_20[0] = pcStack_30 + -1;" (assignment_expression "local_20[0] = pcStack_30 + -1" (subscript_expression "local_20[0]" identifier [ number_literal ]) = (binary_expression "pcStack_30 + -1" identifier + number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 'a':\n      *pcVar5 = '\a';\n      break;" case (char_literal "'a'" ' character ') : (expression_statement "*pcVar5 = '\a';" (assignment_expression "*pcVar5 = '\a'" (pointer_expression "*pcVar5" * identifier) = (char_literal "'\a'" ' escape_sequence ')) ;) (break_statement "break;" break ;)) (case_statement "case 'b':\n      *pcVar5 = '\b';\n      break;" case (char_literal "'b'" ' character ') : (expression_statement "*pcVar5 = '\b';" (assignment_expression "*pcVar5 = '\b'" (pointer_expression "*pcVar5" * identifier) = (char_literal "'\b'" ' escape_sequence ')) ;) (break_statement "break;" break ;)) (case_statement "case 'e':\n      *pcVar5 = '\x1b';\n      break;" case (char_literal "'e'" ' character ') : (expression_statement "*pcVar5 = '\x1b';" (assignment_expression "*pcVar5 = '\x1b'" (pointer_expression "*pcVar5" * identifier) = (char_literal "'\x1b'" ' escape_sequence ')) ;) (break_statement "break;" break ;)) (case_statement "case 'f':\n      *pcVar5 = '\f';\n      break;" case (char_literal "'f'" ' character ') : (expression_statement "*pcVar5 = '\f';" (assignment_expression "*pcVar5 = '\f'" (pointer_expression "*pcVar5" * identifier) = (char_literal "'\f'" ' escape_sequence ')) ;) (break_statement "break;" break ;)) (case_statement "case 'n':\n      *pcVar5 = '\n';\n      break;" case (char_literal "'n'" ' character ') : (expression_statement "*pcVar5 = '\n';" (assignment_expression "*pcVar5 = '\n'" (pointer_expression "*pcVar5" * identifier) = (char_literal "'\n'" ' escape_sequence ')) ;) (break_statement "break;" break ;)) (case_statement "case 'r':\n      *pcVar5 = '\r';\n      break;" case (char_literal "'r'" ' character ') : (expression_statement "*pcVar5 = '\r';" (assignment_expression "*pcVar5 = '\r'" (pointer_expression "*pcVar5" * identifier) = (char_literal "'\r'" ' escape_sequence ')) ;) (break_statement "break;" break ;)) (case_statement "case 't':\n      *pcVar5 = '\t';" case (char_literal "'t'" ' character ') : (expression_statement "*pcVar5 = '\t';" (assignment_expression "*pcVar5 = '\t'" (pointer_expression "*pcVar5" * identifier) = (char_literal "'\t'" ' escape_sequence ')) ;)) })) (expression_statement "pcVar13 = pcVar5 + 1;" (assignment_expression "pcVar13 = pcVar5 + 1" identifier = (binary_expression "pcVar5 + 1" identifier + number_literal)) ;) (expression_statement "local_20[0] = local_20[0] + 1;" (assignment_expression "local_20[0] = local_20[0] + 1" (subscript_expression "local_20[0]" identifier [ number_literal ]) = (binary_expression "local_20[0] + 1" (subscript_expression "local_20[0]" identifier [ number_literal ]) + number_literal)) ;) (labeled_statement "LAB_00016abf:\n    cVar1 = *local_20[0];" statement_identifier : (expression_statement "cVar1 = *local_20[0];" (assignment_expression "cVar1 = *local_20[0]" identifier = (pointer_expression "*local_20[0]" * (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;)) (expression_statement "pcVar5 = pcVar13;" (assignment_expression "pcVar5 = pcVar13" identifier = identifier) ;) (expression_statement "pcVar14 = local_20[0];" (assignment_expression "pcVar14 = local_20[0]" identifier = (subscript_expression "local_20[0]" identifier [ number_literal ])) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid __regparm3 parse_level_string(char *str,char **return_ptr)\n\n{\n  char cVar1;\n  byte bVar2;\n  ushort *puVar3;\n  undefined4 uVar4;\n  char *pcVar5;\n  long lVar6;\n  ushort **ppuVar7;\n  uint uVar8;\n  __int32_t **pp_Var9;\n  int iVar10;\n  uint uVar11;\n  uint uVar12;\n  char *pcVar13;\n  __int32_t _Var15;\n  char *local_30;\n  uint local_2c;\n  char *local_20 [3];\n  undefined4 uStack_14;\n  char *pcVar14;\n  \n  iVar10 = 0x36;\n  uStack_14 = 0x16a4e;\n  pcVar5 = parse_level_string::text;\n  while (iVar10 != 0) {\n    iVar10 = iVar10 + -1;\n    builtin_strncpy(pcVar5,"    ",4);\n    pcVar5 = pcVar5 + 4;\n  }\n  parse_level_string::text[0xd7] = '\0';\n  cVar1 = *str;\n  pcVar5 = parse_level_string::text;\n  pcVar14 = str;\n  do {\n    while( true ) {\n      if (cVar1 == '\0') {\n        *pcVar5 = '\0';\n        local_20[0] = pcVar14;\n        pcVar5 = strdup(parse_level_string::text);\n        *return_ptr = pcVar5;\n        return;\n      }\n      pcVar13 = pcVar14 + 1;\n      local_20[0] = pcVar13;\n      if (cVar1 == '\\') break;\n      if ((cVar1 == 'x') && (pcVar5 != parse_level_string::text)) {\n        local_20[0] = pcVar14;\n        lVar6 = strtol(pcVar13,local_20,10);\n        cVar1 = pcVar5[-1];\n        pcVar14 = pcVar5;\n        pcVar13 = pcVar5;\n        if (1 < lVar6) {\n          do {\n            while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }\n          } while (pcVar5 + lVar6 + -1 != pcVar13);\n        }\n        goto LAB_00016abf;\n      }\n      pcVar13 = pcVar5 + 1;\n      *pcVar5 = *pcVar14;\n      if (pcVar5[1] != '\0') goto LAB_00016abf;\n      uVar4 = dcgettext(0,"level indent string is too long",5);\n      error(3,0,uVar4);\n      cVar1 = *local_20[0];\n      pcVar5 = pcVar13;\n      pcVar14 = local_20[0];\n    }\n    switch(pcVar14[1]) {\n    case '0':\n      local_30 = pcVar14 + 2;\n      uVar12 = (uint)pcVar14[2];\n      if (pcVar14[2] != '\0') {\n        local_20[0] = local_30;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        local_2c = uVar12 - 0x30;\n        if ((*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0) {\n          if (uVar12 + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }\n          local_2c = uVar12 - 0x37;\n        }\n        if (local_2c < 9) {\n          _Var15 = (__int32_t)pcVar14[3];\n          local_30 = pcVar14 + 3;\n          if (pcVar14[3] != '\0') {\n            local_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + local_2c * 8;\n              if (pcVar14[4] != '\0') {\n                local_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto LAB_00016ca4;\n            }\n          }\n          uVar12 = local_2c & 0xff;\n        }\n        else {\nLAB_00016e6f:\n          local_30 = pcVar14 + 3;\n          uVar12 = 0;\n        }\n      }\n      goto LAB_00016ca4;\n    default:\n      *pcVar5 = pcVar14[1];\n      break;\n    case 'X':\n    case 'x':\n      local_20[0] = pcVar14 + 2;\n      bVar2 = pcVar14[2];\n      uVar12 = (uint)bVar2;\n      local_30 = local_20[0];\n      if (bVar2 != 0) {\n        local_30 = pcVar14 + 3;\n        local_2c = (uint)(char)bVar2;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uVar11 = local_2c - 0x30;\n        if ((*(byte *)((int)puVar3 + local_2c * 2 + 1) & 8) == 0) {\n          if (local_2c + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            local_2c = (*pp_Var9)[local_2c];\n          }\n          uVar11 = local_2c - 0x37;\n        }\n        if (0x10 < uVar11) goto LAB_00016e6f;\n        uVar12 = uVar11;\n        if (pcVar14[3] != '\0') {\n          local_30 = pcVar14 + 4;\n          _Var15 = (__int32_t)pcVar14[3];\n          uVar8 = _Var15 - 0x30;\n          if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }\n          uVar12 = uVar11 * 0x10 + uVar8;\n          if (0x10 < uVar8) {\n            uVar12 = uVar11;\n          }\n        }\n      }\nLAB_00016ca4:\n      *pcVar5 = (char)uVar12;\n      local_20[0] = local_30 + -1;\n      break;\n    case 'a':\n      *pcVar5 = '\a';\n      break;\n    case 'b':\n      *pcVar5 = '\b';\n      break;\n    case 'e':\n      *pcVar5 = '\x1b';\n      break;\n    case 'f':\n      *pcVar5 = '\f';\n      break;\n    case 'n':\n      *pcVar5 = '\n';\n      break;\n    case 'r':\n      *pcVar5 = '\r';\n      break;\n    case 't':\n      *pcVar5 = '\t';\n    }\n    pcVar13 = pcVar5 + 1;\n    local_20[0] = local_20[0] + 1;\nLAB_00016abf:\n    cVar1 = *local_20[0];\n    pcVar5 = pcVar13;\n    pcVar14 = local_20[0];\n  } while( true );\n}\n\n" comment (function_definition "void __regparm3 parse_level_string(char *str,char **return_ptr)\n\n{\n  char cVar1;\n  byte bVar2;\n  ushort *puVar3;\n  undefined4 uVar4;\n  char *pcVar5;\n  long lVar6;\n  ushort **ppuVar7;\n  uint uVar8;\n  __int32_t **pp_Var9;\n  int iVar10;\n  uint uVar11;\n  uint uVar12;\n  char *pcVar13;\n  __int32_t _Var15;\n  char *local_30;\n  uint local_2c;\n  char *local_20 [3];\n  undefined4 uStack_14;\n  char *pcVar14;\n  \n  iVar10 = 0x36;\n  uStack_14 = 0x16a4e;\n  pcVar5 = parse_level_string::text;\n  while (iVar10 != 0) {\n    iVar10 = iVar10 + -1;\n    builtin_strncpy(pcVar5,"    ",4);\n    pcVar5 = pcVar5 + 4;\n  }\n  parse_level_string::text[0xd7] = '\0';\n  cVar1 = *str;\n  pcVar5 = parse_level_string::text;\n  pcVar14 = str;\n  do {\n    while( true ) {\n      if (cVar1 == '\0') {\n        *pcVar5 = '\0';\n        local_20[0] = pcVar14;\n        pcVar5 = strdup(parse_level_string::text);\n        *return_ptr = pcVar5;\n        return;\n      }\n      pcVar13 = pcVar14 + 1;\n      local_20[0] = pcVar13;\n      if (cVar1 == '\\') break;\n      if ((cVar1 == 'x') && (pcVar5 != parse_level_string::text)) {\n        local_20[0] = pcVar14;\n        lVar6 = strtol(pcVar13,local_20,10);\n        cVar1 = pcVar5[-1];\n        pcVar14 = pcVar5;\n        pcVar13 = pcVar5;\n        if (1 < lVar6) {\n          do {\n            while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }\n          } while (pcVar5 + lVar6 + -1 != pcVar13);\n        }\n        goto LAB_00016abf;\n      }\n      pcVar13 = pcVar5 + 1;\n      *pcVar5 = *pcVar14;\n      if (pcVar5[1] != '\0') goto LAB_00016abf;\n      uVar4 = dcgettext(0,"level indent string is too long",5);\n      error(3,0,uVar4);\n      cVar1 = *local_20[0];\n      pcVar5 = pcVar13;\n      pcVar14 = local_20[0];\n    }\n    switch(pcVar14[1]) {\n    case '0':\n      local_30 = pcVar14 + 2;\n      uVar12 = (uint)pcVar14[2];\n      if (pcVar14[2] != '\0') {\n        local_20[0] = local_30;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        local_2c = uVar12 - 0x30;\n        if ((*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0) {\n          if (uVar12 + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }\n          local_2c = uVar12 - 0x37;\n        }\n        if (local_2c < 9) {\n          _Var15 = (__int32_t)pcVar14[3];\n          local_30 = pcVar14 + 3;\n          if (pcVar14[3] != '\0') {\n            local_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + local_2c * 8;\n              if (pcVar14[4] != '\0') {\n                local_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto LAB_00016ca4;\n            }\n          }\n          uVar12 = local_2c & 0xff;\n        }\n        else {\nLAB_00016e6f:\n          local_30 = pcVar14 + 3;\n          uVar12 = 0;\n        }\n      }\n      goto LAB_00016ca4;\n    default:\n      *pcVar5 = pcVar14[1];\n      break;\n    case 'X':\n    case 'x':\n      local_20[0] = pcVar14 + 2;\n      bVar2 = pcVar14[2];\n      uVar12 = (uint)bVar2;\n      local_30 = local_20[0];\n      if (bVar2 != 0) {\n        local_30 = pcVar14 + 3;\n        local_2c = (uint)(char)bVar2;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uVar11 = local_2c - 0x30;\n        if ((*(byte *)((int)puVar3 + local_2c * 2 + 1) & 8) == 0) {\n          if (local_2c + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            local_2c = (*pp_Var9)[local_2c];\n          }\n          uVar11 = local_2c - 0x37;\n        }\n        if (0x10 < uVar11) goto LAB_00016e6f;\n        uVar12 = uVar11;\n        if (pcVar14[3] != '\0') {\n          local_30 = pcVar14 + 4;\n          _Var15 = (__int32_t)pcVar14[3];\n          uVar8 = _Var15 - 0x30;\n          if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }\n          uVar12 = uVar11 * 0x10 + uVar8;\n          if (0x10 < uVar8) {\n            uVar12 = uVar11;\n          }\n        }\n      }\nLAB_00016ca4:\n      *pcVar5 = (char)uVar12;\n      local_20[0] = local_30 + -1;\n      break;\n    case 'a':\n      *pcVar5 = '\a';\n      break;\n    case 'b':\n      *pcVar5 = '\b';\n      break;\n    case 'e':\n      *pcVar5 = '\x1b';\n      break;\n    case 'f':\n      *pcVar5 = '\f';\n      break;\n    case 'n':\n      *pcVar5 = '\n';\n      break;\n    case 'r':\n      *pcVar5 = '\r';\n      break;\n    case 't':\n      *pcVar5 = '\t';\n    }\n    pcVar13 = pcVar5 + 1;\n    local_20[0] = local_20[0] + 1;\nLAB_00016abf:\n    cVar1 = *local_20[0];\n    pcVar5 = pcVar13;\n    pcVar14 = local_20[0];\n  } while( true );\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "parse_level_string(char *str,char **return_ptr)" identifier (parameter_list "(char *str,char **return_ptr)" ( (parameter_declaration "char *str" primitive_type (pointer_declarator "*str" * identifier)) , (parameter_declaration "char **return_ptr" primitive_type (pointer_declarator "**return_ptr" * (pointer_declarator "*return_ptr" * identifier))) ))) (compound_statement "{\n  char cVar1;\n  byte bVar2;\n  ushort *puVar3;\n  undefined4 uVar4;\n  char *pcVar5;\n  long lVar6;\n  ushort **ppuVar7;\n  uint uVar8;\n  __int32_t **pp_Var9;\n  int iVar10;\n  uint uVar11;\n  uint uVar12;\n  char *pcVar13;\n  __int32_t _Var15;\n  char *local_30;\n  uint local_2c;\n  char *local_20 [3];\n  undefined4 uStack_14;\n  char *pcVar14;\n  \n  iVar10 = 0x36;\n  uStack_14 = 0x16a4e;\n  pcVar5 = parse_level_string::text;\n  while (iVar10 != 0) {\n    iVar10 = iVar10 + -1;\n    builtin_strncpy(pcVar5,"    ",4);\n    pcVar5 = pcVar5 + 4;\n  }\n  parse_level_string::text[0xd7] = '\0';\n  cVar1 = *str;\n  pcVar5 = parse_level_string::text;\n  pcVar14 = str;\n  do {\n    while( true ) {\n      if (cVar1 == '\0') {\n        *pcVar5 = '\0';\n        local_20[0] = pcVar14;\n        pcVar5 = strdup(parse_level_string::text);\n        *return_ptr = pcVar5;\n        return;\n      }\n      pcVar13 = pcVar14 + 1;\n      local_20[0] = pcVar13;\n      if (cVar1 == '\\') break;\n      if ((cVar1 == 'x') && (pcVar5 != parse_level_string::text)) {\n        local_20[0] = pcVar14;\n        lVar6 = strtol(pcVar13,local_20,10);\n        cVar1 = pcVar5[-1];\n        pcVar14 = pcVar5;\n        pcVar13 = pcVar5;\n        if (1 < lVar6) {\n          do {\n            while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }\n          } while (pcVar5 + lVar6 + -1 != pcVar13);\n        }\n        goto LAB_00016abf;\n      }\n      pcVar13 = pcVar5 + 1;\n      *pcVar5 = *pcVar14;\n      if (pcVar5[1] != '\0') goto LAB_00016abf;\n      uVar4 = dcgettext(0,"level indent string is too long",5);\n      error(3,0,uVar4);\n      cVar1 = *local_20[0];\n      pcVar5 = pcVar13;\n      pcVar14 = local_20[0];\n    }\n    switch(pcVar14[1]) {\n    case '0':\n      local_30 = pcVar14 + 2;\n      uVar12 = (uint)pcVar14[2];\n      if (pcVar14[2] != '\0') {\n        local_20[0] = local_30;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        local_2c = uVar12 - 0x30;\n        if ((*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0) {\n          if (uVar12 + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }\n          local_2c = uVar12 - 0x37;\n        }\n        if (local_2c < 9) {\n          _Var15 = (__int32_t)pcVar14[3];\n          local_30 = pcVar14 + 3;\n          if (pcVar14[3] != '\0') {\n            local_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + local_2c * 8;\n              if (pcVar14[4] != '\0') {\n                local_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto LAB_00016ca4;\n            }\n          }\n          uVar12 = local_2c & 0xff;\n        }\n        else {\nLAB_00016e6f:\n          local_30 = pcVar14 + 3;\n          uVar12 = 0;\n        }\n      }\n      goto LAB_00016ca4;\n    default:\n      *pcVar5 = pcVar14[1];\n      break;\n    case 'X':\n    case 'x':\n      local_20[0] = pcVar14 + 2;\n      bVar2 = pcVar14[2];\n      uVar12 = (uint)bVar2;\n      local_30 = local_20[0];\n      if (bVar2 != 0) {\n        local_30 = pcVar14 + 3;\n        local_2c = (uint)(char)bVar2;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uVar11 = local_2c - 0x30;\n        if ((*(byte *)((int)puVar3 + local_2c * 2 + 1) & 8) == 0) {\n          if (local_2c + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            local_2c = (*pp_Var9)[local_2c];\n          }\n          uVar11 = local_2c - 0x37;\n        }\n        if (0x10 < uVar11) goto LAB_00016e6f;\n        uVar12 = uVar11;\n        if (pcVar14[3] != '\0') {\n          local_30 = pcVar14 + 4;\n          _Var15 = (__int32_t)pcVar14[3];\n          uVar8 = _Var15 - 0x30;\n          if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }\n          uVar12 = uVar11 * 0x10 + uVar8;\n          if (0x10 < uVar8) {\n            uVar12 = uVar11;\n          }\n        }\n      }\nLAB_00016ca4:\n      *pcVar5 = (char)uVar12;\n      local_20[0] = local_30 + -1;\n      break;\n    case 'a':\n      *pcVar5 = '\a';\n      break;\n    case 'b':\n      *pcVar5 = '\b';\n      break;\n    case 'e':\n      *pcVar5 = '\x1b';\n      break;\n    case 'f':\n      *pcVar5 = '\f';\n      break;\n    case 'n':\n      *pcVar5 = '\n';\n      break;\n    case 'r':\n      *pcVar5 = '\r';\n      break;\n    case 't':\n      *pcVar5 = '\t';\n    }\n    pcVar13 = pcVar5 + 1;\n    local_20[0] = local_20[0] + 1;\nLAB_00016abf:\n    cVar1 = *local_20[0];\n    pcVar5 = pcVar13;\n    pcVar14 = local_20[0];\n  } while( true );\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "ushort *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "long lVar6;" (sized_type_specifier "long" long) identifier ;) (declaration "ushort **ppuVar7;" type_identifier (pointer_declarator "**ppuVar7" * (pointer_declarator "*ppuVar7" * identifier)) ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "__int32_t **pp_Var9;" type_identifier (pointer_declarator "**pp_Var9" * (pointer_declarator "*pp_Var9" * identifier)) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "__int32_t _Var15;" type_identifier identifier ;) (declaration "char *local_30;" primitive_type (pointer_declarator "*local_30" * identifier) ;) (declaration "uint local_2c;" type_identifier identifier ;) (declaration "char *local_20 [3];" primitive_type (pointer_declarator "*local_20 [3]" * (array_declarator "local_20 [3]" identifier [ number_literal ])) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (declaration "char *pcVar14;" primitive_type (pointer_declarator "*pcVar14" * identifier) ;) (expression_statement "iVar10 = 0x36;" (assignment_expression "iVar10 = 0x36" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x16a4e;" (assignment_expression "uStack_14 = 0x16a4e" identifier = number_literal) ;) (expression_statement "pcVar5 = parse_level_string::text;" (assignment_expression "pcVar5 = parse_level_string" identifier = identifier) (ERROR "::text" : : identifier) ;) (while_statement "while (iVar10 != 0) {\n    iVar10 = iVar10 + -1;\n    builtin_strncpy(pcVar5,"    ",4);\n    pcVar5 = pcVar5 + 4;\n  }" while (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar10 = iVar10 + -1;\n    builtin_strncpy(pcVar5,"    ",4);\n    pcVar5 = pcVar5 + 4;\n  }" { (expression_statement "iVar10 = iVar10 + -1;" (assignment_expression "iVar10 = iVar10 + -1" identifier = (binary_expression "iVar10 + -1" identifier + number_literal)) ;) (expression_statement "builtin_strncpy(pcVar5,"    ",4);" (call_expression "builtin_strncpy(pcVar5,"    ",4)" identifier (argument_list "(pcVar5,"    ",4)" ( identifier , (string_literal ""    "" " string_content ") , number_literal ))) ;) (expression_statement "pcVar5 = pcVar5 + 4;" (assignment_expression "pcVar5 = pcVar5 + 4" identifier = (binary_expression "pcVar5 + 4" identifier + number_literal)) ;) })) (labeled_statement "parse_level_string::text[0xd7] = '\0';" statement_identifier : (ERROR ":" :) (expression_statement "text[0xd7] = '\0';" (assignment_expression "text[0xd7] = '\0'" (subscript_expression "text[0xd7]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;)) (expression_statement "cVar1 = *str;" (assignment_expression "cVar1 = *str" identifier = (pointer_expression "*str" * identifier)) ;) (expression_statement "pcVar5 = parse_level_string::text;" (assignment_expression "pcVar5 = parse_level_string" identifier = identifier) (ERROR "::text" : : identifier) ;) (expression_statement "pcVar14 = str;" (assignment_expression "pcVar14 = str" identifier = identifier) ;) (do_statement "do {\n    while( true ) {\n      if (cVar1 == '\0') {\n        *pcVar5 = '\0';\n        local_20[0] = pcVar14;\n        pcVar5 = strdup(parse_level_string::text);\n        *return_ptr = pcVar5;\n        return;\n      }\n      pcVar13 = pcVar14 + 1;\n      local_20[0] = pcVar13;\n      if (cVar1 == '\\') break;\n      if ((cVar1 == 'x') && (pcVar5 != parse_level_string::text)) {\n        local_20[0] = pcVar14;\n        lVar6 = strtol(pcVar13,local_20,10);\n        cVar1 = pcVar5[-1];\n        pcVar14 = pcVar5;\n        pcVar13 = pcVar5;\n        if (1 < lVar6) {\n          do {\n            while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }\n          } while (pcVar5 + lVar6 + -1 != pcVar13);\n        }\n        goto LAB_00016abf;\n      }\n      pcVar13 = pcVar5 + 1;\n      *pcVar5 = *pcVar14;\n      if (pcVar5[1] != '\0') goto LAB_00016abf;\n      uVar4 = dcgettext(0,"level indent string is too long",5);\n      error(3,0,uVar4);\n      cVar1 = *local_20[0];\n      pcVar5 = pcVar13;\n      pcVar14 = local_20[0];\n    }\n    switch(pcVar14[1]) {\n    case '0':\n      local_30 = pcVar14 + 2;\n      uVar12 = (uint)pcVar14[2];\n      if (pcVar14[2] != '\0') {\n        local_20[0] = local_30;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        local_2c = uVar12 - 0x30;\n        if ((*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0) {\n          if (uVar12 + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }\n          local_2c = uVar12 - 0x37;\n        }\n        if (local_2c < 9) {\n          _Var15 = (__int32_t)pcVar14[3];\n          local_30 = pcVar14 + 3;\n          if (pcVar14[3] != '\0') {\n            local_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + local_2c * 8;\n              if (pcVar14[4] != '\0') {\n                local_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto LAB_00016ca4;\n            }\n          }\n          uVar12 = local_2c & 0xff;\n        }\n        else {\nLAB_00016e6f:\n          local_30 = pcVar14 + 3;\n          uVar12 = 0;\n        }\n      }\n      goto LAB_00016ca4;\n    default:\n      *pcVar5 = pcVar14[1];\n      break;\n    case 'X':\n    case 'x':\n      local_20[0] = pcVar14 + 2;\n      bVar2 = pcVar14[2];\n      uVar12 = (uint)bVar2;\n      local_30 = local_20[0];\n      if (bVar2 != 0) {\n        local_30 = pcVar14 + 3;\n        local_2c = (uint)(char)bVar2;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uVar11 = local_2c - 0x30;\n        if ((*(byte *)((int)puVar3 + local_2c * 2 + 1) & 8) == 0) {\n          if (local_2c + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            local_2c = (*pp_Var9)[local_2c];\n          }\n          uVar11 = local_2c - 0x37;\n        }\n        if (0x10 < uVar11) goto LAB_00016e6f;\n        uVar12 = uVar11;\n        if (pcVar14[3] != '\0') {\n          local_30 = pcVar14 + 4;\n          _Var15 = (__int32_t)pcVar14[3];\n          uVar8 = _Var15 - 0x30;\n          if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }\n          uVar12 = uVar11 * 0x10 + uVar8;\n          if (0x10 < uVar8) {\n            uVar12 = uVar11;\n          }\n        }\n      }\nLAB_00016ca4:\n      *pcVar5 = (char)uVar12;\n      local_20[0] = local_30 + -1;\n      break;\n    case 'a':\n      *pcVar5 = '\a';\n      break;\n    case 'b':\n      *pcVar5 = '\b';\n      break;\n    case 'e':\n      *pcVar5 = '\x1b';\n      break;\n    case 'f':\n      *pcVar5 = '\f';\n      break;\n    case 'n':\n      *pcVar5 = '\n';\n      break;\n    case 'r':\n      *pcVar5 = '\r';\n      break;\n    case 't':\n      *pcVar5 = '\t';\n    }\n    pcVar13 = pcVar5 + 1;\n    local_20[0] = local_20[0] + 1;\nLAB_00016abf:\n    cVar1 = *local_20[0];\n    pcVar5 = pcVar13;\n    pcVar14 = local_20[0];\n  } while( true );" do (compound_statement "{\n    while( true ) {\n      if (cVar1 == '\0') {\n        *pcVar5 = '\0';\n        local_20[0] = pcVar14;\n        pcVar5 = strdup(parse_level_string::text);\n        *return_ptr = pcVar5;\n        return;\n      }\n      pcVar13 = pcVar14 + 1;\n      local_20[0] = pcVar13;\n      if (cVar1 == '\\') break;\n      if ((cVar1 == 'x') && (pcVar5 != parse_level_string::text)) {\n        local_20[0] = pcVar14;\n        lVar6 = strtol(pcVar13,local_20,10);\n        cVar1 = pcVar5[-1];\n        pcVar14 = pcVar5;\n        pcVar13 = pcVar5;\n        if (1 < lVar6) {\n          do {\n            while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }\n          } while (pcVar5 + lVar6 + -1 != pcVar13);\n        }\n        goto LAB_00016abf;\n      }\n      pcVar13 = pcVar5 + 1;\n      *pcVar5 = *pcVar14;\n      if (pcVar5[1] != '\0') goto LAB_00016abf;\n      uVar4 = dcgettext(0,"level indent string is too long",5);\n      error(3,0,uVar4);\n      cVar1 = *local_20[0];\n      pcVar5 = pcVar13;\n      pcVar14 = local_20[0];\n    }\n    switch(pcVar14[1]) {\n    case '0':\n      local_30 = pcVar14 + 2;\n      uVar12 = (uint)pcVar14[2];\n      if (pcVar14[2] != '\0') {\n        local_20[0] = local_30;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        local_2c = uVar12 - 0x30;\n        if ((*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0) {\n          if (uVar12 + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }\n          local_2c = uVar12 - 0x37;\n        }\n        if (local_2c < 9) {\n          _Var15 = (__int32_t)pcVar14[3];\n          local_30 = pcVar14 + 3;\n          if (pcVar14[3] != '\0') {\n            local_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + local_2c * 8;\n              if (pcVar14[4] != '\0') {\n                local_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto LAB_00016ca4;\n            }\n          }\n          uVar12 = local_2c & 0xff;\n        }\n        else {\nLAB_00016e6f:\n          local_30 = pcVar14 + 3;\n          uVar12 = 0;\n        }\n      }\n      goto LAB_00016ca4;\n    default:\n      *pcVar5 = pcVar14[1];\n      break;\n    case 'X':\n    case 'x':\n      local_20[0] = pcVar14 + 2;\n      bVar2 = pcVar14[2];\n      uVar12 = (uint)bVar2;\n      local_30 = local_20[0];\n      if (bVar2 != 0) {\n        local_30 = pcVar14 + 3;\n        local_2c = (uint)(char)bVar2;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uVar11 = local_2c - 0x30;\n        if ((*(byte *)((int)puVar3 + local_2c * 2 + 1) & 8) == 0) {\n          if (local_2c + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            local_2c = (*pp_Var9)[local_2c];\n          }\n          uVar11 = local_2c - 0x37;\n        }\n        if (0x10 < uVar11) goto LAB_00016e6f;\n        uVar12 = uVar11;\n        if (pcVar14[3] != '\0') {\n          local_30 = pcVar14 + 4;\n          _Var15 = (__int32_t)pcVar14[3];\n          uVar8 = _Var15 - 0x30;\n          if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }\n          uVar12 = uVar11 * 0x10 + uVar8;\n          if (0x10 < uVar8) {\n            uVar12 = uVar11;\n          }\n        }\n      }\nLAB_00016ca4:\n      *pcVar5 = (char)uVar12;\n      local_20[0] = local_30 + -1;\n      break;\n    case 'a':\n      *pcVar5 = '\a';\n      break;\n    case 'b':\n      *pcVar5 = '\b';\n      break;\n    case 'e':\n      *pcVar5 = '\x1b';\n      break;\n    case 'f':\n      *pcVar5 = '\f';\n      break;\n    case 'n':\n      *pcVar5 = '\n';\n      break;\n    case 'r':\n      *pcVar5 = '\r';\n      break;\n    case 't':\n      *pcVar5 = '\t';\n    }\n    pcVar13 = pcVar5 + 1;\n    local_20[0] = local_20[0] + 1;\nLAB_00016abf:\n    cVar1 = *local_20[0];\n    pcVar5 = pcVar13;\n    pcVar14 = local_20[0];\n  }" { (while_statement "while( true ) {\n      if (cVar1 == '\0') {\n        *pcVar5 = '\0';\n        local_20[0] = pcVar14;\n        pcVar5 = strdup(parse_level_string::text);\n        *return_ptr = pcVar5;\n        return;\n      }\n      pcVar13 = pcVar14 + 1;\n      local_20[0] = pcVar13;\n      if (cVar1 == '\\') break;\n      if ((cVar1 == 'x') && (pcVar5 != parse_level_string::text)) {\n        local_20[0] = pcVar14;\n        lVar6 = strtol(pcVar13,local_20,10);\n        cVar1 = pcVar5[-1];\n        pcVar14 = pcVar5;\n        pcVar13 = pcVar5;\n        if (1 < lVar6) {\n          do {\n            while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }\n          } while (pcVar5 + lVar6 + -1 != pcVar13);\n        }\n        goto LAB_00016abf;\n      }\n      pcVar13 = pcVar5 + 1;\n      *pcVar5 = *pcVar14;\n      if (pcVar5[1] != '\0') goto LAB_00016abf;\n      uVar4 = dcgettext(0,"level indent string is too long",5);\n      error(3,0,uVar4);\n      cVar1 = *local_20[0];\n      pcVar5 = pcVar13;\n      pcVar14 = local_20[0];\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      if (cVar1 == '\0') {\n        *pcVar5 = '\0';\n        local_20[0] = pcVar14;\n        pcVar5 = strdup(parse_level_string::text);\n        *return_ptr = pcVar5;\n        return;\n      }\n      pcVar13 = pcVar14 + 1;\n      local_20[0] = pcVar13;\n      if (cVar1 == '\\') break;\n      if ((cVar1 == 'x') && (pcVar5 != parse_level_string::text)) {\n        local_20[0] = pcVar14;\n        lVar6 = strtol(pcVar13,local_20,10);\n        cVar1 = pcVar5[-1];\n        pcVar14 = pcVar5;\n        pcVar13 = pcVar5;\n        if (1 < lVar6) {\n          do {\n            while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }\n          } while (pcVar5 + lVar6 + -1 != pcVar13);\n        }\n        goto LAB_00016abf;\n      }\n      pcVar13 = pcVar5 + 1;\n      *pcVar5 = *pcVar14;\n      if (pcVar5[1] != '\0') goto LAB_00016abf;\n      uVar4 = dcgettext(0,"level indent string is too long",5);\n      error(3,0,uVar4);\n      cVar1 = *local_20[0];\n      pcVar5 = pcVar13;\n      pcVar14 = local_20[0];\n    }" { (if_statement "if (cVar1 == '\0') {\n        *pcVar5 = '\0';\n        local_20[0] = pcVar14;\n        pcVar5 = strdup(parse_level_string::text);\n        *return_ptr = pcVar5;\n        return;\n      }" if (parenthesized_expression "(cVar1 == '\0')" ( (binary_expression "cVar1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        *pcVar5 = '\0';\n        local_20[0] = pcVar14;\n        pcVar5 = strdup(parse_level_string::text);\n        *return_ptr = pcVar5;\n        return;\n      }" { (expression_statement "*pcVar5 = '\0';" (assignment_expression "*pcVar5 = '\0'" (pointer_expression "*pcVar5" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_20[0] = pcVar14;" (assignment_expression "local_20[0] = pcVar14" (subscript_expression "local_20[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pcVar5 = strdup(parse_level_string::text);" (assignment_expression "pcVar5 = strdup(parse_level_string::text)" identifier = (call_expression "strdup(parse_level_string::text)" identifier (argument_list "(parse_level_string::text)" ( identifier (ERROR "::text" : : identifier) )))) ;) (expression_statement "*return_ptr = pcVar5;" (assignment_expression "*return_ptr = pcVar5" (pointer_expression "*return_ptr" * identifier) = identifier) ;) (return_statement "return;" return ;) })) (expression_statement "pcVar13 = pcVar14 + 1;" (assignment_expression "pcVar13 = pcVar14 + 1" identifier = (binary_expression "pcVar14 + 1" identifier + number_literal)) ;) (expression_statement "local_20[0] = pcVar13;" (assignment_expression "local_20[0] = pcVar13" (subscript_expression "local_20[0]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (cVar1 == '\\') break;" if (parenthesized_expression "(cVar1 == '\\')" ( (binary_expression "cVar1 == '\\'" identifier == (char_literal "'\\'" ' escape_sequence ')) )) (break_statement "break;" break ;)) (if_statement "if ((cVar1 == 'x') && (pcVar5 != parse_level_string::text)) {\n        local_20[0] = pcVar14;\n        lVar6 = strtol(pcVar13,local_20,10);\n        cVar1 = pcVar5[-1];\n        pcVar14 = pcVar5;\n        pcVar13 = pcVar5;\n        if (1 < lVar6) {\n          do {\n            while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }\n          } while (pcVar5 + lVar6 + -1 != pcVar13);\n        }\n        goto LAB_00016abf;\n      }" if (parenthesized_expression "((cVar1 == 'x') && (pcVar5 != parse_level_string::text))" ( (binary_expression "(cVar1 == 'x') && (pcVar5 != parse_level_string::text)" (parenthesized_expression "(cVar1 == 'x')" ( (binary_expression "cVar1 == 'x'" identifier == (char_literal "'x'" ' character ')) )) && (parenthesized_expression "(pcVar5 != parse_level_string::text)" ( (binary_expression "pcVar5 != parse_level_string" identifier != identifier) (ERROR "::text" : : identifier) ))) )) (compound_statement "{\n        local_20[0] = pcVar14;\n        lVar6 = strtol(pcVar13,local_20,10);\n        cVar1 = pcVar5[-1];\n        pcVar14 = pcVar5;\n        pcVar13 = pcVar5;\n        if (1 < lVar6) {\n          do {\n            while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }\n          } while (pcVar5 + lVar6 + -1 != pcVar13);\n        }\n        goto LAB_00016abf;\n      }" { (expression_statement "local_20[0] = pcVar14;" (assignment_expression "local_20[0] = pcVar14" (subscript_expression "local_20[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "lVar6 = strtol(pcVar13,local_20,10);" (assignment_expression "lVar6 = strtol(pcVar13,local_20,10)" identifier = (call_expression "strtol(pcVar13,local_20,10)" identifier (argument_list "(pcVar13,local_20,10)" ( identifier , identifier , number_literal )))) ;) (expression_statement "cVar1 = pcVar5[-1];" (assignment_expression "cVar1 = pcVar5[-1]" identifier = (subscript_expression "pcVar5[-1]" identifier [ number_literal ])) ;) (expression_statement "pcVar14 = pcVar5;" (assignment_expression "pcVar14 = pcVar5" identifier = identifier) ;) (expression_statement "pcVar13 = pcVar5;" (assignment_expression "pcVar13 = pcVar5" identifier = identifier) ;) (if_statement "if (1 < lVar6) {\n          do {\n            while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }\n          } while (pcVar5 + lVar6 + -1 != pcVar13);\n        }" if (parenthesized_expression "(1 < lVar6)" ( (binary_expression "1 < lVar6" number_literal < identifier) )) (compound_statement "{\n          do {\n            while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }\n          } while (pcVar5 + lVar6 + -1 != pcVar13);\n        }" { (do_statement "do {\n            while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }\n          } while (pcVar5 + lVar6 + -1 != pcVar13);" do (compound_statement "{\n            while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }\n          }" { (while_statement "while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }" { (expression_statement "pcVar13 = pcVar14 + 1;" (assignment_expression "pcVar13 = pcVar14 + 1" identifier = (binary_expression "pcVar14 + 1" identifier + number_literal)) ;) (expression_statement "*pcVar14 = cVar1;" (assignment_expression "*pcVar14 = cVar1" (pointer_expression "*pcVar14" * identifier) = identifier) ;) (expression_statement "pcVar14 = pcVar13;" (assignment_expression "pcVar14 = pcVar13" identifier = identifier) ;) (if_statement "if (*pcVar13 != '\0') break;" if (parenthesized_expression "(*pcVar13 != '\0')" ( (binary_expression "*pcVar13 != '\0'" (pointer_expression "*pcVar13" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (break_statement "break;" break ;)) (expression_statement "uVar4 = dcgettext(0,"level indent string is too long",5);" (assignment_expression "uVar4 = dcgettext(0,"level indent string is too long",5)" identifier = (call_expression "dcgettext(0,"level indent string is too long",5)" identifier (argument_list "(0,"level indent string is too long",5)" ( number_literal , (string_literal ""level indent string is too long"" " string_content ") , number_literal )))) ;) (expression_statement "error(3,0,uVar4);" (call_expression "error(3,0,uVar4)" identifier (argument_list "(3,0,uVar4)" ( number_literal , number_literal , identifier ))) ;) (if_statement "if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;" if (parenthesized_expression "(pcVar5 + lVar6 + -1 == pcVar13)" ( (binary_expression "pcVar5 + lVar6 + -1 == pcVar13" (binary_expression "pcVar5 + lVar6 + -1" (binary_expression "pcVar5 + lVar6" identifier + identifier) + number_literal) == identifier) )) (goto_statement "goto LAB_00016abf;" goto statement_identifier ;)) })) }) while (parenthesized_expression "(pcVar5 + lVar6 + -1 != pcVar13)" ( (binary_expression "pcVar5 + lVar6 + -1 != pcVar13" (binary_expression "pcVar5 + lVar6 + -1" (binary_expression "pcVar5 + lVar6" identifier + identifier) + number_literal) != identifier) )) ;) })) (goto_statement "goto LAB_00016abf;" goto statement_identifier ;) })) (expression_statement "pcVar13 = pcVar5 + 1;" (assignment_expression "pcVar13 = pcVar5 + 1" identifier = (binary_expression "pcVar5 + 1" identifier + number_literal)) ;) (expression_statement "*pcVar5 = *pcVar14;" (assignment_expression "*pcVar5 = *pcVar14" (pointer_expression "*pcVar5" * identifier) = (pointer_expression "*pcVar14" * identifier)) ;) (if_statement "if (pcVar5[1] != '\0') goto LAB_00016abf;" if (parenthesized_expression "(pcVar5[1] != '\0')" ( (binary_expression "pcVar5[1] != '\0'" (subscript_expression "pcVar5[1]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00016abf;" goto statement_identifier ;)) (expression_statement "uVar4 = dcgettext(0,"level indent string is too long",5);" (assignment_expression "uVar4 = dcgettext(0,"level indent string is too long",5)" identifier = (call_expression "dcgettext(0,"level indent string is too long",5)" identifier (argument_list "(0,"level indent string is too long",5)" ( number_literal , (string_literal ""level indent string is too long"" " string_content ") , number_literal )))) ;) (expression_statement "error(3,0,uVar4);" (call_expression "error(3,0,uVar4)" identifier (argument_list "(3,0,uVar4)" ( number_literal , number_literal , identifier ))) ;) (expression_statement "cVar1 = *local_20[0];" (assignment_expression "cVar1 = *local_20[0]" identifier = (pointer_expression "*local_20[0]" * (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "pcVar5 = pcVar13;" (assignment_expression "pcVar5 = pcVar13" identifier = identifier) ;) (expression_statement "pcVar14 = local_20[0];" (assignment_expression "pcVar14 = local_20[0]" identifier = (subscript_expression "local_20[0]" identifier [ number_literal ])) ;) })) (switch_statement "switch(pcVar14[1]) {\n    case '0':\n      local_30 = pcVar14 + 2;\n      uVar12 = (uint)pcVar14[2];\n      if (pcVar14[2] != '\0') {\n        local_20[0] = local_30;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        local_2c = uVar12 - 0x30;\n        if ((*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0) {\n          if (uVar12 + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }\n          local_2c = uVar12 - 0x37;\n        }\n        if (local_2c < 9) {\n          _Var15 = (__int32_t)pcVar14[3];\n          local_30 = pcVar14 + 3;\n          if (pcVar14[3] != '\0') {\n            local_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + local_2c * 8;\n              if (pcVar14[4] != '\0') {\n                local_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto LAB_00016ca4;\n            }\n          }\n          uVar12 = local_2c & 0xff;\n        }\n        else {\nLAB_00016e6f:\n          local_30 = pcVar14 + 3;\n          uVar12 = 0;\n        }\n      }\n      goto LAB_00016ca4;\n    default:\n      *pcVar5 = pcVar14[1];\n      break;\n    case 'X':\n    case 'x':\n      local_20[0] = pcVar14 + 2;\n      bVar2 = pcVar14[2];\n      uVar12 = (uint)bVar2;\n      local_30 = local_20[0];\n      if (bVar2 != 0) {\n        local_30 = pcVar14 + 3;\n        local_2c = (uint)(char)bVar2;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uVar11 = local_2c - 0x30;\n        if ((*(byte *)((int)puVar3 + local_2c * 2 + 1) & 8) == 0) {\n          if (local_2c + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            local_2c = (*pp_Var9)[local_2c];\n          }\n          uVar11 = local_2c - 0x37;\n        }\n        if (0x10 < uVar11) goto LAB_00016e6f;\n        uVar12 = uVar11;\n        if (pcVar14[3] != '\0') {\n          local_30 = pcVar14 + 4;\n          _Var15 = (__int32_t)pcVar14[3];\n          uVar8 = _Var15 - 0x30;\n          if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }\n          uVar12 = uVar11 * 0x10 + uVar8;\n          if (0x10 < uVar8) {\n            uVar12 = uVar11;\n          }\n        }\n      }\nLAB_00016ca4:\n      *pcVar5 = (char)uVar12;\n      local_20[0] = local_30 + -1;\n      break;\n    case 'a':\n      *pcVar5 = '\a';\n      break;\n    case 'b':\n      *pcVar5 = '\b';\n      break;\n    case 'e':\n      *pcVar5 = '\x1b';\n      break;\n    case 'f':\n      *pcVar5 = '\f';\n      break;\n    case 'n':\n      *pcVar5 = '\n';\n      break;\n    case 'r':\n      *pcVar5 = '\r';\n      break;\n    case 't':\n      *pcVar5 = '\t';\n    }" switch (parenthesized_expression "(pcVar14[1])" ( (subscript_expression "pcVar14[1]" identifier [ number_literal ]) )) (compound_statement "{\n    case '0':\n      local_30 = pcVar14 + 2;\n      uVar12 = (uint)pcVar14[2];\n      if (pcVar14[2] != '\0') {\n        local_20[0] = local_30;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        local_2c = uVar12 - 0x30;\n        if ((*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0) {\n          if (uVar12 + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }\n          local_2c = uVar12 - 0x37;\n        }\n        if (local_2c < 9) {\n          _Var15 = (__int32_t)pcVar14[3];\n          local_30 = pcVar14 + 3;\n          if (pcVar14[3] != '\0') {\n            local_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + local_2c * 8;\n              if (pcVar14[4] != '\0') {\n                local_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto LAB_00016ca4;\n            }\n          }\n          uVar12 = local_2c & 0xff;\n        }\n        else {\nLAB_00016e6f:\n          local_30 = pcVar14 + 3;\n          uVar12 = 0;\n        }\n      }\n      goto LAB_00016ca4;\n    default:\n      *pcVar5 = pcVar14[1];\n      break;\n    case 'X':\n    case 'x':\n      local_20[0] = pcVar14 + 2;\n      bVar2 = pcVar14[2];\n      uVar12 = (uint)bVar2;\n      local_30 = local_20[0];\n      if (bVar2 != 0) {\n        local_30 = pcVar14 + 3;\n        local_2c = (uint)(char)bVar2;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uVar11 = local_2c - 0x30;\n        if ((*(byte *)((int)puVar3 + local_2c * 2 + 1) & 8) == 0) {\n          if (local_2c + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            local_2c = (*pp_Var9)[local_2c];\n          }\n          uVar11 = local_2c - 0x37;\n        }\n        if (0x10 < uVar11) goto LAB_00016e6f;\n        uVar12 = uVar11;\n        if (pcVar14[3] != '\0') {\n          local_30 = pcVar14 + 4;\n          _Var15 = (__int32_t)pcVar14[3];\n          uVar8 = _Var15 - 0x30;\n          if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }\n          uVar12 = uVar11 * 0x10 + uVar8;\n          if (0x10 < uVar8) {\n            uVar12 = uVar11;\n          }\n        }\n      }\nLAB_00016ca4:\n      *pcVar5 = (char)uVar12;\n      local_20[0] = local_30 + -1;\n      break;\n    case 'a':\n      *pcVar5 = '\a';\n      break;\n    case 'b':\n      *pcVar5 = '\b';\n      break;\n    case 'e':\n      *pcVar5 = '\x1b';\n      break;\n    case 'f':\n      *pcVar5 = '\f';\n      break;\n    case 'n':\n      *pcVar5 = '\n';\n      break;\n    case 'r':\n      *pcVar5 = '\r';\n      break;\n    case 't':\n      *pcVar5 = '\t';\n    }" { (case_statement "case '0':\n      local_30 = pcVar14 + 2;\n      uVar12 = (uint)pcVar14[2];\n      if (pcVar14[2] != '\0') {\n        local_20[0] = local_30;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        local_2c = uVar12 - 0x30;\n        if ((*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0) {\n          if (uVar12 + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }\n          local_2c = uVar12 - 0x37;\n        }\n        if (local_2c < 9) {\n          _Var15 = (__int32_t)pcVar14[3];\n          local_30 = pcVar14 + 3;\n          if (pcVar14[3] != '\0') {\n            local_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + local_2c * 8;\n              if (pcVar14[4] != '\0') {\n                local_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto LAB_00016ca4;\n            }\n          }\n          uVar12 = local_2c & 0xff;\n        }\n        else {\nLAB_00016e6f:\n          local_30 = pcVar14 + 3;\n          uVar12 = 0;\n        }\n      }\n      goto LAB_00016ca4;" case (char_literal "'0'" ' character ') : (expression_statement "local_30 = pcVar14 + 2;" (assignment_expression "local_30 = pcVar14 + 2" identifier = (binary_expression "pcVar14 + 2" identifier + number_literal)) ;) (expression_statement "uVar12 = (uint)pcVar14[2];" (assignment_expression "uVar12 = (uint)pcVar14[2]" identifier = (cast_expression "(uint)pcVar14[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pcVar14[2]" identifier [ number_literal ]))) ;) (if_statement "if (pcVar14[2] != '\0') {\n        local_20[0] = local_30;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        local_2c = uVar12 - 0x30;\n        if ((*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0) {\n          if (uVar12 + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }\n          local_2c = uVar12 - 0x37;\n        }\n        if (local_2c < 9) {\n          _Var15 = (__int32_t)pcVar14[3];\n          local_30 = pcVar14 + 3;\n          if (pcVar14[3] != '\0') {\n            local_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + local_2c * 8;\n              if (pcVar14[4] != '\0') {\n                local_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto LAB_00016ca4;\n            }\n          }\n          uVar12 = local_2c & 0xff;\n        }\n        else {\nLAB_00016e6f:\n          local_30 = pcVar14 + 3;\n          uVar12 = 0;\n        }\n      }" if (parenthesized_expression "(pcVar14[2] != '\0')" ( (binary_expression "pcVar14[2] != '\0'" (subscript_expression "pcVar14[2]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        local_20[0] = local_30;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        local_2c = uVar12 - 0x30;\n        if ((*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0) {\n          if (uVar12 + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }\n          local_2c = uVar12 - 0x37;\n        }\n        if (local_2c < 9) {\n          _Var15 = (__int32_t)pcVar14[3];\n          local_30 = pcVar14 + 3;\n          if (pcVar14[3] != '\0') {\n            local_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + local_2c * 8;\n              if (pcVar14[4] != '\0') {\n                local_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto LAB_00016ca4;\n            }\n          }\n          uVar12 = local_2c & 0xff;\n        }\n        else {\nLAB_00016e6f:\n          local_30 = pcVar14 + 3;\n          uVar12 = 0;\n        }\n      }" { (expression_statement "local_20[0] = local_30;" (assignment_expression "local_20[0] = local_30" (subscript_expression "local_20[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppuVar7 = __ctype_b_loc();" (assignment_expression "ppuVar7 = __ctype_b_loc()" identifier = (call_expression "__ctype_b_loc()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar3 = *ppuVar7;" (assignment_expression "puVar3 = *ppuVar7" identifier = (pointer_expression "*ppuVar7" * identifier)) ;) (expression_statement "local_2c = uVar12 - 0x30;" (assignment_expression "local_2c = uVar12 - 0x30" identifier = (binary_expression "uVar12 - 0x30" identifier - number_literal)) ;) (if_statement "if ((*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0) {\n          if (uVar12 + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }\n          local_2c = uVar12 - 0x37;\n        }" if (parenthesized_expression "((*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0)" ( (binary_expression "(*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0" (parenthesized_expression "(*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8)" ( (binary_expression "*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8" (pointer_expression "*(byte *)((int)puVar3 + uVar12 * 2 + 1)" * (cast_expression "(byte *)((int)puVar3 + uVar12 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar3 + uVar12 * 2 + 1)" ( (binary_expression "(int)puVar3 + uVar12 * 2 + 1" (binary_expression "(int)puVar3 + uVar12 * 2" (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "uVar12 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n          if (uVar12 + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }\n          local_2c = uVar12 - 0x37;\n        }" { (if_statement "if (uVar12 + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }" if (parenthesized_expression "(uVar12 + 0x80 < 0x180)" ( (binary_expression "uVar12 + 0x80 < 0x180" (binary_expression "uVar12 + 0x80" identifier + number_literal) < number_literal) )) (compound_statement "{\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }" { (expression_statement "pp_Var9 = __ctype_toupper_loc();" (assignment_expression "pp_Var9 = __ctype_toupper_loc()" identifier = (call_expression "__ctype_toupper_loc()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar12 = (*pp_Var9)[uVar12];" (assignment_expression "uVar12 = (*pp_Var9)[uVar12]" identifier = (subscript_expression "(*pp_Var9)[uVar12]" (parenthesized_expression "(*pp_Var9)" ( (pointer_expression "*pp_Var9" * identifier) )) [ identifier ])) ;) })) (expression_statement "local_2c = uVar12 - 0x37;" (assignment_expression "local_2c = uVar12 - 0x37" identifier = (binary_expression "uVar12 - 0x37" identifier - number_literal)) ;) })) (if_statement "if (local_2c < 9) {\n          _Var15 = (__int32_t)pcVar14[3];\n          local_30 = pcVar14 + 3;\n          if (pcVar14[3] != '\0') {\n            local_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + local_2c * 8;\n              if (pcVar14[4] != '\0') {\n                local_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto LAB_00016ca4;\n            }\n          }\n          uVar12 = local_2c & 0xff;\n        }\n        else {\nLAB_00016e6f:\n          local_30 = pcVar14 + 3;\n          uVar12 = 0;\n        }" if (parenthesized_expression "(local_2c < 9)" ( (binary_expression "local_2c < 9" identifier < number_literal) )) (compound_statement "{\n          _Var15 = (__int32_t)pcVar14[3];\n          local_30 = pcVar14 + 3;\n          if (pcVar14[3] != '\0') {\n            local_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + local_2c * 8;\n              if (pcVar14[4] != '\0') {\n                local_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto LAB_00016ca4;\n            }\n          }\n          uVar12 = local_2c & 0xff;\n        }" { (expression_statement "_Var15 = (__int32_t)pcVar14[3];" (assignment_expression "_Var15 = (__int32_t)pcVar14[3]" identifier = (cast_expression "(__int32_t)pcVar14[3]" ( (type_descriptor "__int32_t" type_identifier) ) (subscript_expression "pcVar14[3]" identifier [ number_literal ]))) ;) (expression_statement "local_30 = pcVar14 + 3;" (assignment_expression "local_30 = pcVar14 + 3" identifier = (binary_expression "pcVar14 + 3" identifier + number_literal)) ;) (if_statement "if (pcVar14[3] != '\0') {\n            local_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + local_2c * 8;\n              if (pcVar14[4] != '\0') {\n                local_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto LAB_00016ca4;\n            }\n          }" if (parenthesized_expression "(pcVar14[3] != '\0')" ( (binary_expression "pcVar14[3] != '\0'" (subscript_expression "pcVar14[3]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            local_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + local_2c * 8;\n              if (pcVar14[4] != '\0') {\n                local_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto LAB_00016ca4;\n            }\n          }" { (expression_statement "local_30 = pcVar14 + 4;" (assignment_expression "local_30 = pcVar14 + 4" identifier = (binary_expression "pcVar14 + 4" identifier + number_literal)) ;) (expression_statement "uVar12 = _Var15 - 0x30;" (assignment_expression "uVar12 = _Var15 - 0x30" identifier = (binary_expression "_Var15 - 0x30" identifier - number_literal)) ;) (if_statement "if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }" if (parenthesized_expression "((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0)" ( (binary_expression "(*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0" (parenthesized_expression "(*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8)" ( (binary_expression "*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8" (pointer_expression "*(byte *)((int)puVar3 + _Var15 * 2 + 1)" * (cast_expression "(byte *)((int)puVar3 + _Var15 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar3 + _Var15 * 2 + 1)" ( (binary_expression "(int)puVar3 + _Var15 * 2 + 1" (binary_expression "(int)puVar3 + _Var15 * 2" (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "_Var15 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }" { (if_statement "if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }" if (parenthesized_expression "(_Var15 + 0x80U < 0x180)" ( (binary_expression "_Var15 + 0x80U < 0x180" (binary_expression "_Var15 + 0x80U" identifier + number_literal) < number_literal) )) (compound_statement "{\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }" { (expression_statement "pp_Var9 = __ctype_toupper_loc();" (assignment_expression "pp_Var9 = __ctype_toupper_loc()" identifier = (call_expression "__ctype_toupper_loc()" identifier (argument_list "()" ( )))) ;) (expression_statement "_Var15 = (*pp_Var9)[_Var15];" (assignment_expression "_Var15 = (*pp_Var9)[_Var15]" identifier = (subscript_expression "(*pp_Var9)[_Var15]" (parenthesized_expression "(*pp_Var9)" ( (pointer_expression "*pp_Var9" * identifier) )) [ identifier ])) ;) })) (expression_statement "uVar12 = _Var15 - 0x37;" (assignment_expression "uVar12 = _Var15 - 0x37" identifier = (binary_expression "_Var15 - 0x37" identifier - number_literal)) ;) })) (if_statement "if (uVar12 < 9) {\n              uVar12 = uVar12 + local_2c * 8;\n              if (pcVar14[4] != '\0') {\n                local_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto LAB_00016ca4;\n            }" if (parenthesized_expression "(uVar12 < 9)" ( (binary_expression "uVar12 < 9" identifier < number_literal) )) (compound_statement "{\n              uVar12 = uVar12 + local_2c * 8;\n              if (pcVar14[4] != '\0') {\n                local_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto LAB_00016ca4;\n            }" { (expression_statement "uVar12 = uVar12 + local_2c * 8;" (assignment_expression "uVar12 = uVar12 + local_2c * 8" identifier = (binary_expression "uVar12 + local_2c * 8" identifier + (binary_expression "local_2c * 8" identifier * number_literal))) ;) (if_statement "if (pcVar14[4] != '\0') {\n                local_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }" if (parenthesized_expression "(pcVar14[4] != '\0')" ( (binary_expression "pcVar14[4] != '\0'" (subscript_expression "pcVar14[4]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                local_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }" { (expression_statement "local_30 = pcVar14 + 5;" (assignment_expression "local_30 = pcVar14 + 5" identifier = (binary_expression "pcVar14 + 5" identifier + number_literal)) ;) (expression_statement "_Var15 = (__int32_t)pcVar14[4];" (assignment_expression "_Var15 = (__int32_t)pcVar14[4]" identifier = (cast_expression "(__int32_t)pcVar14[4]" ( (type_descriptor "__int32_t" type_identifier) ) (subscript_expression "pcVar14[4]" identifier [ number_literal ]))) ;) (expression_statement "uVar11 = _Var15 - 0x30;" (assignment_expression "uVar11 = _Var15 - 0x30" identifier = (binary_expression "_Var15 - 0x30" identifier - number_literal)) ;) (if_statement "if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }" if (parenthesized_expression "((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0)" ( (binary_expression "(*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0" (parenthesized_expression "(*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8)" ( (binary_expression "*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8" (pointer_expression "*(byte *)((int)puVar3 + _Var15 * 2 + 1)" * (cast_expression "(byte *)((int)puVar3 + _Var15 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar3 + _Var15 * 2 + 1)" ( (binary_expression "(int)puVar3 + _Var15 * 2 + 1" (binary_expression "(int)puVar3 + _Var15 * 2" (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "_Var15 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }" { (if_statement "if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }" if (parenthesized_expression "(_Var15 + 0x80U < 0x180)" ( (binary_expression "_Var15 + 0x80U < 0x180" (binary_expression "_Var15 + 0x80U" identifier + number_literal) < number_literal) )) (compound_statement "{\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }" { (expression_statement "pp_Var9 = __ctype_toupper_loc();" (assignment_expression "pp_Var9 = __ctype_toupper_loc()" identifier = (call_expression "__ctype_toupper_loc()" identifier (argument_list "()" ( )))) ;) (expression_statement "_Var15 = (*pp_Var9)[_Var15];" (assignment_expression "_Var15 = (*pp_Var9)[_Var15]" identifier = (subscript_expression "(*pp_Var9)[_Var15]" (parenthesized_expression "(*pp_Var9)" ( (pointer_expression "*pp_Var9" * identifier) )) [ identifier ])) ;) })) (expression_statement "uVar11 = _Var15 - 0x37;" (assignment_expression "uVar11 = _Var15 - 0x37" identifier = (binary_expression "_Var15 - 0x37" identifier - number_literal)) ;) })) (if_statement "if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }" if (parenthesized_expression "(uVar11 < 9)" ( (binary_expression "uVar11 < 9" identifier < number_literal) )) (compound_statement "{\n                  uVar12 = uVar11 + uVar12 * 8;\n                }" { (expression_statement "uVar12 = uVar11 + uVar12 * 8;" (assignment_expression "uVar12 = uVar11 + uVar12 * 8" identifier = (binary_expression "uVar11 + uVar12 * 8" identifier + (binary_expression "uVar12 * 8" identifier * number_literal))) ;) })) })) (goto_statement "goto LAB_00016ca4;" goto statement_identifier ;) })) })) (expression_statement "uVar12 = local_2c & 0xff;" (assignment_expression "uVar12 = local_2c & 0xff" identifier = (binary_expression "local_2c & 0xff" identifier & number_literal)) ;) }) (else_clause "else {\nLAB_00016e6f:\n          local_30 = pcVar14 + 3;\n          uVar12 = 0;\n        }" else (compound_statement "{\nLAB_00016e6f:\n          local_30 = pcVar14 + 3;\n          uVar12 = 0;\n        }" { (labeled_statement "LAB_00016e6f:\n          local_30 = pcVar14 + 3;" statement_identifier : (expression_statement "local_30 = pcVar14 + 3;" (assignment_expression "local_30 = pcVar14 + 3" identifier = (binary_expression "pcVar14 + 3" identifier + number_literal)) ;)) (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) }))) })) (goto_statement "goto LAB_00016ca4;" goto statement_identifier ;)) (case_statement "default:\n      *pcVar5 = pcVar14[1];\n      break;" default : (expression_statement "*pcVar5 = pcVar14[1];" (assignment_expression "*pcVar5 = pcVar14[1]" (pointer_expression "*pcVar5" * identifier) = (subscript_expression "pcVar14[1]" identifier [ number_literal ])) ;) (break_statement "break;" break ;)) (case_statement "case 'X':" case (char_literal "'X'" ' character ') :) (case_statement "case 'x':\n      local_20[0] = pcVar14 + 2;\n      bVar2 = pcVar14[2];\n      uVar12 = (uint)bVar2;\n      local_30 = local_20[0];\n      if (bVar2 != 0) {\n        local_30 = pcVar14 + 3;\n        local_2c = (uint)(char)bVar2;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uVar11 = local_2c - 0x30;\n        if ((*(byte *)((int)puVar3 + local_2c * 2 + 1) & 8) == 0) {\n          if (local_2c + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            local_2c = (*pp_Var9)[local_2c];\n          }\n          uVar11 = local_2c - 0x37;\n        }\n        if (0x10 < uVar11) goto LAB_00016e6f;\n        uVar12 = uVar11;\n        if (pcVar14[3] != '\0') {\n          local_30 = pcVar14 + 4;\n          _Var15 = (__int32_t)pcVar14[3];\n          uVar8 = _Var15 - 0x30;\n          if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }\n          uVar12 = uVar11 * 0x10 + uVar8;\n          if (0x10 < uVar8) {\n            uVar12 = uVar11;\n          }\n        }\n      }\nLAB_00016ca4:\n      *pcVar5 = (char)uVar12;\n      local_20[0] = local_30 + -1;\n      break;" case (char_literal "'x'" ' character ') : (expression_statement "local_20[0] = pcVar14 + 2;" (assignment_expression "local_20[0] = pcVar14 + 2" (subscript_expression "local_20[0]" identifier [ number_literal ]) = (binary_expression "pcVar14 + 2" identifier + number_literal)) ;) (expression_statement "bVar2 = pcVar14[2];" (assignment_expression "bVar2 = pcVar14[2]" identifier = (subscript_expression "pcVar14[2]" identifier [ number_literal ])) ;) (expression_statement "uVar12 = (uint)bVar2;" (assignment_expression "uVar12 = (uint)bVar2" identifier = (cast_expression "(uint)bVar2" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "local_30 = local_20[0];" (assignment_expression "local_30 = local_20[0]" identifier = (subscript_expression "local_20[0]" identifier [ number_literal ])) ;) (if_statement "if (bVar2 != 0) {\n        local_30 = pcVar14 + 3;\n        local_2c = (uint)(char)bVar2;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uVar11 = local_2c - 0x30;\n        if ((*(byte *)((int)puVar3 + local_2c * 2 + 1) & 8) == 0) {\n          if (local_2c + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            local_2c = (*pp_Var9)[local_2c];\n          }\n          uVar11 = local_2c - 0x37;\n        }\n        if (0x10 < uVar11) goto LAB_00016e6f;\n        uVar12 = uVar11;\n        if (pcVar14[3] != '\0') {\n          local_30 = pcVar14 + 4;\n          _Var15 = (__int32_t)pcVar14[3];\n          uVar8 = _Var15 - 0x30;\n          if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }\n          uVar12 = uVar11 * 0x10 + uVar8;\n          if (0x10 < uVar8) {\n            uVar12 = uVar11;\n          }\n        }\n      }" if (parenthesized_expression "(bVar2 != 0)" ( (binary_expression "bVar2 != 0" identifier != number_literal) )) (compound_statement "{\n        local_30 = pcVar14 + 3;\n        local_2c = (uint)(char)bVar2;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uVar11 = local_2c - 0x30;\n        if ((*(byte *)((int)puVar3 + local_2c * 2 + 1) & 8) == 0) {\n          if (local_2c + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            local_2c = (*pp_Var9)[local_2c];\n          }\n          uVar11 = local_2c - 0x37;\n        }\n        if (0x10 < uVar11) goto LAB_00016e6f;\n        uVar12 = uVar11;\n        if (pcVar14[3] != '\0') {\n          local_30 = pcVar14 + 4;\n          _Var15 = (__int32_t)pcVar14[3];\n          uVar8 = _Var15 - 0x30;\n          if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }\n          uVar12 = uVar11 * 0x10 + uVar8;\n          if (0x10 < uVar8) {\n            uVar12 = uVar11;\n          }\n        }\n      }" { (expression_statement "local_30 = pcVar14 + 3;" (assignment_expression "local_30 = pcVar14 + 3" identifier = (binary_expression "pcVar14 + 3" identifier + number_literal)) ;) (expression_statement "local_2c = (uint)(char)bVar2;" (assignment_expression "local_2c = (uint)(char)bVar2" identifier = (cast_expression "(uint)(char)bVar2" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char)bVar2" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (expression_statement "ppuVar7 = __ctype_b_loc();" (assignment_expression "ppuVar7 = __ctype_b_loc()" identifier = (call_expression "__ctype_b_loc()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar3 = *ppuVar7;" (assignment_expression "puVar3 = *ppuVar7" identifier = (pointer_expression "*ppuVar7" * identifier)) ;) (expression_statement "uVar11 = local_2c - 0x30;" (assignment_expression "uVar11 = local_2c - 0x30" identifier = (binary_expression "local_2c - 0x30" identifier - number_literal)) ;) (if_statement "if ((*(byte *)((int)puVar3 + local_2c * 2 + 1) & 8) == 0) {\n          if (local_2c + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            local_2c = (*pp_Var9)[local_2c];\n          }\n          uVar11 = local_2c - 0x37;\n        }" if (parenthesized_expression "((*(byte *)((int)puVar3 + local_2c * 2 + 1) & 8) == 0)" ( (binary_expression "(*(byte *)((int)puVar3 + local_2c * 2 + 1) & 8) == 0" (parenthesized_expression "(*(byte *)((int)puVar3 + local_2c * 2 + 1) & 8)" ( (binary_expression "*(byte *)((int)puVar3 + local_2c * 2 + 1) & 8" (pointer_expression "*(byte *)((int)puVar3 + local_2c * 2 + 1)" * (cast_expression "(byte *)((int)puVar3 + local_2c * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar3 + local_2c * 2 + 1)" ( (binary_expression "(int)puVar3 + local_2c * 2 + 1" (binary_expression "(int)puVar3 + local_2c * 2" (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "local_2c * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n          if (local_2c + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            local_2c = (*pp_Var9)[local_2c];\n          }\n          uVar11 = local_2c - 0x37;\n        }" { (if_statement "if (local_2c + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            local_2c = (*pp_Var9)[local_2c];\n          }" if (parenthesized_expression "(local_2c + 0x80 < 0x180)" ( (binary_expression "local_2c + 0x80 < 0x180" (binary_expression "local_2c + 0x80" identifier + number_literal) < number_literal) )) (compound_statement "{\n            pp_Var9 = __ctype_toupper_loc();\n            local_2c = (*pp_Var9)[local_2c];\n          }" { (expression_statement "pp_Var9 = __ctype_toupper_loc();" (assignment_expression "pp_Var9 = __ctype_toupper_loc()" identifier = (call_expression "__ctype_toupper_loc()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_2c = (*pp_Var9)[local_2c];" (assignment_expression "local_2c = (*pp_Var9)[local_2c]" identifier = (subscript_expression "(*pp_Var9)[local_2c]" (parenthesized_expression "(*pp_Var9)" ( (pointer_expression "*pp_Var9" * identifier) )) [ identifier ])) ;) })) (expression_statement "uVar11 = local_2c - 0x37;" (assignment_expression "uVar11 = local_2c - 0x37" identifier = (binary_expression "local_2c - 0x37" identifier - number_literal)) ;) })) (if_statement "if (0x10 < uVar11) goto LAB_00016e6f;" if (parenthesized_expression "(0x10 < uVar11)" ( (binary_expression "0x10 < uVar11" number_literal < identifier) )) (goto_statement "goto LAB_00016e6f;" goto statement_identifier ;)) (expression_statement "uVar12 = uVar11;" (assignment_expression "uVar12 = uVar11" identifier = identifier) ;) (if_statement "if (pcVar14[3] != '\0') {\n          local_30 = pcVar14 + 4;\n          _Var15 = (__int32_t)pcVar14[3];\n          uVar8 = _Var15 - 0x30;\n          if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }\n          uVar12 = uVar11 * 0x10 + uVar8;\n          if (0x10 < uVar8) {\n            uVar12 = uVar11;\n          }\n        }" if (parenthesized_expression "(pcVar14[3] != '\0')" ( (binary_expression "pcVar14[3] != '\0'" (subscript_expression "pcVar14[3]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          local_30 = pcVar14 + 4;\n          _Var15 = (__int32_t)pcVar14[3];\n          uVar8 = _Var15 - 0x30;\n          if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }\n          uVar12 = uVar11 * 0x10 + uVar8;\n          if (0x10 < uVar8) {\n            uVar12 = uVar11;\n          }\n        }" { (expression_statement "local_30 = pcVar14 + 4;" (assignment_expression "local_30 = pcVar14 + 4" identifier = (binary_expression "pcVar14 + 4" identifier + number_literal)) ;) (expression_statement "_Var15 = (__int32_t)pcVar14[3];" (assignment_expression "_Var15 = (__int32_t)pcVar14[3]" identifier = (cast_expression "(__int32_t)pcVar14[3]" ( (type_descriptor "__int32_t" type_identifier) ) (subscript_expression "pcVar14[3]" identifier [ number_literal ]))) ;) (expression_statement "uVar8 = _Var15 - 0x30;" (assignment_expression "uVar8 = _Var15 - 0x30" identifier = (binary_expression "_Var15 - 0x30" identifier - number_literal)) ;) (if_statement "if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }" if (parenthesized_expression "((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0)" ( (binary_expression "(*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0" (parenthesized_expression "(*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8)" ( (binary_expression "*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8" (pointer_expression "*(byte *)((int)puVar3 + _Var15 * 2 + 1)" * (cast_expression "(byte *)((int)puVar3 + _Var15 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar3 + _Var15 * 2 + 1)" ( (binary_expression "(int)puVar3 + _Var15 * 2 + 1" (binary_expression "(int)puVar3 + _Var15 * 2" (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "_Var15 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }" { (if_statement "if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }" if (parenthesized_expression "(_Var15 + 0x80U < 0x180)" ( (binary_expression "_Var15 + 0x80U < 0x180" (binary_expression "_Var15 + 0x80U" identifier + number_literal) < number_literal) )) (compound_statement "{\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }" { (expression_statement "pp_Var9 = __ctype_toupper_loc();" (assignment_expression "pp_Var9 = __ctype_toupper_loc()" identifier = (call_expression "__ctype_toupper_loc()" identifier (argument_list "()" ( )))) ;) (expression_statement "_Var15 = (*pp_Var9)[_Var15];" (assignment_expression "_Var15 = (*pp_Var9)[_Var15]" identifier = (subscript_expression "(*pp_Var9)[_Var15]" (parenthesized_expression "(*pp_Var9)" ( (pointer_expression "*pp_Var9" * identifier) )) [ identifier ])) ;) })) (expression_statement "uVar8 = _Var15 - 0x37;" (assignment_expression "uVar8 = _Var15 - 0x37" identifier = (binary_expression "_Var15 - 0x37" identifier - number_literal)) ;) })) (expression_statement "uVar12 = uVar11 * 0x10 + uVar8;" (assignment_expression "uVar12 = uVar11 * 0x10 + uVar8" identifier = (binary_expression "uVar11 * 0x10 + uVar8" (binary_expression "uVar11 * 0x10" identifier * number_literal) + identifier)) ;) (if_statement "if (0x10 < uVar8) {\n            uVar12 = uVar11;\n          }" if (parenthesized_expression "(0x10 < uVar8)" ( (binary_expression "0x10 < uVar8" number_literal < identifier) )) (compound_statement "{\n            uVar12 = uVar11;\n          }" { (expression_statement "uVar12 = uVar11;" (assignment_expression "uVar12 = uVar11" identifier = identifier) ;) })) })) })) (labeled_statement "LAB_00016ca4:\n      *pcVar5 = (char)uVar12;" statement_identifier : (expression_statement "*pcVar5 = (char)uVar12;" (assignment_expression "*pcVar5 = (char)uVar12" (pointer_expression "*pcVar5" * identifier) = (cast_expression "(char)uVar12" ( (type_descriptor "char" primitive_type) ) identifier)) ;)) (expression_statement "local_20[0] = local_30 + -1;" (assignment_expression "local_20[0] = local_30 + -1" (subscript_expression "local_20[0]" identifier [ number_literal ]) = (binary_expression "local_30 + -1" identifier + number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 'a':\n      *pcVar5 = '\a';\n      break;" case (char_literal "'a'" ' character ') : (expression_statement "*pcVar5 = '\a';" (assignment_expression "*pcVar5 = '\a'" (pointer_expression "*pcVar5" * identifier) = (char_literal "'\a'" ' escape_sequence ')) ;) (break_statement "break;" break ;)) (case_statement "case 'b':\n      *pcVar5 = '\b';\n      break;" case (char_literal "'b'" ' character ') : (expression_statement "*pcVar5 = '\b';" (assignment_expression "*pcVar5 = '\b'" (pointer_expression "*pcVar5" * identifier) = (char_literal "'\b'" ' escape_sequence ')) ;) (break_statement "break;" break ;)) (case_statement "case 'e':\n      *pcVar5 = '\x1b';\n      break;" case (char_literal "'e'" ' character ') : (expression_statement "*pcVar5 = '\x1b';" (assignment_expression "*pcVar5 = '\x1b'" (pointer_expression "*pcVar5" * identifier) = (char_literal "'\x1b'" ' escape_sequence ')) ;) (break_statement "break;" break ;)) (case_statement "case 'f':\n      *pcVar5 = '\f';\n      break;" case (char_literal "'f'" ' character ') : (expression_statement "*pcVar5 = '\f';" (assignment_expression "*pcVar5 = '\f'" (pointer_expression "*pcVar5" * identifier) = (char_literal "'\f'" ' escape_sequence ')) ;) (break_statement "break;" break ;)) (case_statement "case 'n':\n      *pcVar5 = '\n';\n      break;" case (char_literal "'n'" ' character ') : (expression_statement "*pcVar5 = '\n';" (assignment_expression "*pcVar5 = '\n'" (pointer_expression "*pcVar5" * identifier) = (char_literal "'\n'" ' escape_sequence ')) ;) (break_statement "break;" break ;)) (case_statement "case 'r':\n      *pcVar5 = '\r';\n      break;" case (char_literal "'r'" ' character ') : (expression_statement "*pcVar5 = '\r';" (assignment_expression "*pcVar5 = '\r'" (pointer_expression "*pcVar5" * identifier) = (char_literal "'\r'" ' escape_sequence ')) ;) (break_statement "break;" break ;)) (case_statement "case 't':\n      *pcVar5 = '\t';" case (char_literal "'t'" ' character ') : (expression_statement "*pcVar5 = '\t';" (assignment_expression "*pcVar5 = '\t'" (pointer_expression "*pcVar5" * identifier) = (char_literal "'\t'" ' escape_sequence ')) ;)) })) (expression_statement "pcVar13 = pcVar5 + 1;" (assignment_expression "pcVar13 = pcVar5 + 1" identifier = (binary_expression "pcVar5 + 1" identifier + number_literal)) ;) (expression_statement "local_20[0] = local_20[0] + 1;" (assignment_expression "local_20[0] = local_20[0] + 1" (subscript_expression "local_20[0]" identifier [ number_literal ]) = (binary_expression "local_20[0] + 1" (subscript_expression "local_20[0]" identifier [ number_literal ]) + number_literal)) ;) (labeled_statement "LAB_00016abf:\n    cVar1 = *local_20[0];" statement_identifier : (expression_statement "cVar1 = *local_20[0];" (assignment_expression "cVar1 = *local_20[0]" identifier = (pointer_expression "*local_20[0]" * (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;)) (expression_statement "pcVar5 = pcVar13;" (assignment_expression "pcVar5 = pcVar13" identifier = identifier) ;) (expression_statement "pcVar14 = local_20[0];" (assignment_expression "pcVar14 = local_20[0]" identifier = (subscript_expression "local_20[0]" identifier [ number_literal ])) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit "void __regparm3 FUN_00016a40(char *param_1,undefined4 *param_2)\n\n{\n  char cVar1;\n  byte bVar2;\n  ushort *puVar3;\n  undefined4 uVar4;\n  char *pcVar5;\n  long lVar6;\n  ushort **ppuVar7;\n  uint uVar8;\n  __int32_t **pp_Var9;\n  int iVar10;\n  uint uVar11;\n  uint uVar12;\n  char *pcVar13;\n  __int32_t _Var15;\n  char *pcStack_30;\n  uint uStack_2c;\n  char *local_20 [3];\n  undefined4 uStack_14;\n  char *pcVar14;\n  \n  iVar10 = 0x36;\n  uStack_14 = 0x16a4e;\n  pcVar5 = &DAT_0003b8c0;\n  while (iVar10 != 0) {\n    iVar10 = iVar10 + -1;\n    builtin_strncpy(pcVar5,"    ",4);\n    pcVar5 = pcVar5 + 4;\n  }\n  DAT_0003b997 = 0;\n  cVar1 = *param_1;\n  pcVar5 = &DAT_0003b8c0;\n  pcVar14 = param_1;\n  do {\n    while( true ) {\n      if (cVar1 == '\0') {\n        *pcVar5 = '\0';\n        local_20[0] = pcVar14;\n        pcVar5 = strdup(&DAT_0003b8c0);\n        *param_2 = pcVar5;\n        return;\n      }\n      pcVar13 = pcVar14 + 1;\n      local_20[0] = pcVar13;\n      if (cVar1 == '\\') break;\n      if ((cVar1 == 'x') && (pcVar5 != &DAT_0003b8c0)) {\n        local_20[0] = pcVar14;\n        lVar6 = strtol(pcVar13,local_20,10);\n        cVar1 = pcVar5[-1];\n        pcVar14 = pcVar5;\n        pcVar13 = pcVar5;\n        if (1 < lVar6) {\n          do {\n            while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }\n          } while (pcVar5 + lVar6 + -1 != pcVar13);\n        }\n        goto LAB_00016abf;\n      }\n      pcVar13 = pcVar5 + 1;\n      *pcVar5 = *pcVar14;\n      if (pcVar5[1] != '\0') goto LAB_00016abf;\n      uVar4 = dcgettext(0,"level indent string is too long",5);\n      error(3,0,uVar4);\n      cVar1 = *local_20[0];\n      pcVar5 = pcVar13;\n      pcVar14 = local_20[0];\n    }\n    switch(pcVar14[1]) {\n    case '0':\n      pcStack_30 = pcVar14 + 2;\n      uVar12 = (uint)pcVar14[2];\n      if (pcVar14[2] != '\0') {\n        local_20[0] = pcStack_30;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uStack_2c = uVar12 - 0x30;\n        if ((*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0) {\n          if (uVar12 + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }\n          uStack_2c = uVar12 - 0x37;\n        }\n        if (uStack_2c < 9) {\n          _Var15 = (__int32_t)pcVar14[3];\n          pcStack_30 = pcVar14 + 3;\n          if (pcVar14[3] != '\0') {\n            pcStack_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + uStack_2c * 8;\n              if (pcVar14[4] != '\0') {\n                pcStack_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto code_r0x00016ca4;\n            }\n          }\n          uVar12 = uStack_2c & 0xff;\n        }\n        else {\ncode_r0x00016e6f:\n          pcStack_30 = pcVar14 + 3;\n          uVar12 = 0;\n        }\n      }\n      goto code_r0x00016ca4;\n    default:\n      *pcVar5 = pcVar14[1];\n      break;\n    case 'X':\n    case 'x':\n      local_20[0] = pcVar14 + 2;\n      bVar2 = pcVar14[2];\n      uVar12 = (uint)bVar2;\n      pcStack_30 = local_20[0];\n      if (bVar2 != 0) {\n        pcStack_30 = pcVar14 + 3;\n        uStack_2c = (uint)(char)bVar2;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uVar11 = uStack_2c - 0x30;\n        if ((*(byte *)((int)puVar3 + uStack_2c * 2 + 1) & 8) == 0) {\n          if (uStack_2c + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uStack_2c = (*pp_Var9)[uStack_2c];\n          }\n          uVar11 = uStack_2c - 0x37;\n        }\n        if (0x10 < uVar11) goto code_r0x00016e6f;\n        uVar12 = uVar11;\n        if (pcVar14[3] != '\0') {\n          pcStack_30 = pcVar14 + 4;\n          _Var15 = (__int32_t)pcVar14[3];\n          uVar8 = _Var15 - 0x30;\n          if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }\n          uVar12 = uVar11 * 0x10 + uVar8;\n          if (0x10 < uVar8) {\n            uVar12 = uVar11;\n          }\n        }\n      }\ncode_r0x00016ca4:\n      *pcVar5 = (char)uVar12;\n      local_20[0] = pcStack_30 + -1;\n      break;\n    case 'a':\n      *pcVar5 = '\a';\n      break;\n    case 'b':\n      *pcVar5 = '\b';\n      break;\n    case 'e':\n      *pcVar5 = '\x1b';\n      break;\n    case 'f':\n      *pcVar5 = '\f';\n      break;\n    case 'n':\n      *pcVar5 = '\n';\n      break;\n    case 'r':\n      *pcVar5 = '\r';\n      break;\n    case 't':\n      *pcVar5 = '\t';\n    }\n    pcVar13 = pcVar5 + 1;\n    local_20[0] = local_20[0] + 1;\nLAB_00016abf:\n    cVar1 = *local_20[0];\n    pcVar5 = pcVar13;\n    pcVar14 = local_20[0];\n  } while( true );\n}\n\n" (function_definition "void __regparm3 FUN_00016a40(char *param_1,undefined4 *param_2)\n\n{\n  char cVar1;\n  byte bVar2;\n  ushort *puVar3;\n  undefined4 uVar4;\n  char *pcVar5;\n  long lVar6;\n  ushort **ppuVar7;\n  uint uVar8;\n  __int32_t **pp_Var9;\n  int iVar10;\n  uint uVar11;\n  uint uVar12;\n  char *pcVar13;\n  __int32_t _Var15;\n  char *pcStack_30;\n  uint uStack_2c;\n  char *local_20 [3];\n  undefined4 uStack_14;\n  char *pcVar14;\n  \n  iVar10 = 0x36;\n  uStack_14 = 0x16a4e;\n  pcVar5 = &DAT_0003b8c0;\n  while (iVar10 != 0) {\n    iVar10 = iVar10 + -1;\n    builtin_strncpy(pcVar5,"    ",4);\n    pcVar5 = pcVar5 + 4;\n  }\n  DAT_0003b997 = 0;\n  cVar1 = *param_1;\n  pcVar5 = &DAT_0003b8c0;\n  pcVar14 = param_1;\n  do {\n    while( true ) {\n      if (cVar1 == '\0') {\n        *pcVar5 = '\0';\n        local_20[0] = pcVar14;\n        pcVar5 = strdup(&DAT_0003b8c0);\n        *param_2 = pcVar5;\n        return;\n      }\n      pcVar13 = pcVar14 + 1;\n      local_20[0] = pcVar13;\n      if (cVar1 == '\\') break;\n      if ((cVar1 == 'x') && (pcVar5 != &DAT_0003b8c0)) {\n        local_20[0] = pcVar14;\n        lVar6 = strtol(pcVar13,local_20,10);\n        cVar1 = pcVar5[-1];\n        pcVar14 = pcVar5;\n        pcVar13 = pcVar5;\n        if (1 < lVar6) {\n          do {\n            while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }\n          } while (pcVar5 + lVar6 + -1 != pcVar13);\n        }\n        goto LAB_00016abf;\n      }\n      pcVar13 = pcVar5 + 1;\n      *pcVar5 = *pcVar14;\n      if (pcVar5[1] != '\0') goto LAB_00016abf;\n      uVar4 = dcgettext(0,"level indent string is too long",5);\n      error(3,0,uVar4);\n      cVar1 = *local_20[0];\n      pcVar5 = pcVar13;\n      pcVar14 = local_20[0];\n    }\n    switch(pcVar14[1]) {\n    case '0':\n      pcStack_30 = pcVar14 + 2;\n      uVar12 = (uint)pcVar14[2];\n      if (pcVar14[2] != '\0') {\n        local_20[0] = pcStack_30;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uStack_2c = uVar12 - 0x30;\n        if ((*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0) {\n          if (uVar12 + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }\n          uStack_2c = uVar12 - 0x37;\n        }\n        if (uStack_2c < 9) {\n          _Var15 = (__int32_t)pcVar14[3];\n          pcStack_30 = pcVar14 + 3;\n          if (pcVar14[3] != '\0') {\n            pcStack_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + uStack_2c * 8;\n              if (pcVar14[4] != '\0') {\n                pcStack_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto code_r0x00016ca4;\n            }\n          }\n          uVar12 = uStack_2c & 0xff;\n        }\n        else {\ncode_r0x00016e6f:\n          pcStack_30 = pcVar14 + 3;\n          uVar12 = 0;\n        }\n      }\n      goto code_r0x00016ca4;\n    default:\n      *pcVar5 = pcVar14[1];\n      break;\n    case 'X':\n    case 'x':\n      local_20[0] = pcVar14 + 2;\n      bVar2 = pcVar14[2];\n      uVar12 = (uint)bVar2;\n      pcStack_30 = local_20[0];\n      if (bVar2 != 0) {\n        pcStack_30 = pcVar14 + 3;\n        uStack_2c = (uint)(char)bVar2;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uVar11 = uStack_2c - 0x30;\n        if ((*(byte *)((int)puVar3 + uStack_2c * 2 + 1) & 8) == 0) {\n          if (uStack_2c + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uStack_2c = (*pp_Var9)[uStack_2c];\n          }\n          uVar11 = uStack_2c - 0x37;\n        }\n        if (0x10 < uVar11) goto code_r0x00016e6f;\n        uVar12 = uVar11;\n        if (pcVar14[3] != '\0') {\n          pcStack_30 = pcVar14 + 4;\n          _Var15 = (__int32_t)pcVar14[3];\n          uVar8 = _Var15 - 0x30;\n          if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }\n          uVar12 = uVar11 * 0x10 + uVar8;\n          if (0x10 < uVar8) {\n            uVar12 = uVar11;\n          }\n        }\n      }\ncode_r0x00016ca4:\n      *pcVar5 = (char)uVar12;\n      local_20[0] = pcStack_30 + -1;\n      break;\n    case 'a':\n      *pcVar5 = '\a';\n      break;\n    case 'b':\n      *pcVar5 = '\b';\n      break;\n    case 'e':\n      *pcVar5 = '\x1b';\n      break;\n    case 'f':\n      *pcVar5 = '\f';\n      break;\n    case 'n':\n      *pcVar5 = '\n';\n      break;\n    case 'r':\n      *pcVar5 = '\r';\n      break;\n    case 't':\n      *pcVar5 = '\t';\n    }\n    pcVar13 = pcVar5 + 1;\n    local_20[0] = local_20[0] + 1;\nLAB_00016abf:\n    cVar1 = *local_20[0];\n    pcVar5 = pcVar13;\n    pcVar14 = local_20[0];\n  } while( true );\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_00016a40(char *param_1,undefined4 *param_2)" identifier (parameter_list "(char *param_1,undefined4 *param_2)" ( (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  char cVar1;\n  byte bVar2;\n  ushort *puVar3;\n  undefined4 uVar4;\n  char *pcVar5;\n  long lVar6;\n  ushort **ppuVar7;\n  uint uVar8;\n  __int32_t **pp_Var9;\n  int iVar10;\n  uint uVar11;\n  uint uVar12;\n  char *pcVar13;\n  __int32_t _Var15;\n  char *pcStack_30;\n  uint uStack_2c;\n  char *local_20 [3];\n  undefined4 uStack_14;\n  char *pcVar14;\n  \n  iVar10 = 0x36;\n  uStack_14 = 0x16a4e;\n  pcVar5 = &DAT_0003b8c0;\n  while (iVar10 != 0) {\n    iVar10 = iVar10 + -1;\n    builtin_strncpy(pcVar5,"    ",4);\n    pcVar5 = pcVar5 + 4;\n  }\n  DAT_0003b997 = 0;\n  cVar1 = *param_1;\n  pcVar5 = &DAT_0003b8c0;\n  pcVar14 = param_1;\n  do {\n    while( true ) {\n      if (cVar1 == '\0') {\n        *pcVar5 = '\0';\n        local_20[0] = pcVar14;\n        pcVar5 = strdup(&DAT_0003b8c0);\n        *param_2 = pcVar5;\n        return;\n      }\n      pcVar13 = pcVar14 + 1;\n      local_20[0] = pcVar13;\n      if (cVar1 == '\\') break;\n      if ((cVar1 == 'x') && (pcVar5 != &DAT_0003b8c0)) {\n        local_20[0] = pcVar14;\n        lVar6 = strtol(pcVar13,local_20,10);\n        cVar1 = pcVar5[-1];\n        pcVar14 = pcVar5;\n        pcVar13 = pcVar5;\n        if (1 < lVar6) {\n          do {\n            while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }\n          } while (pcVar5 + lVar6 + -1 != pcVar13);\n        }\n        goto LAB_00016abf;\n      }\n      pcVar13 = pcVar5 + 1;\n      *pcVar5 = *pcVar14;\n      if (pcVar5[1] != '\0') goto LAB_00016abf;\n      uVar4 = dcgettext(0,"level indent string is too long",5);\n      error(3,0,uVar4);\n      cVar1 = *local_20[0];\n      pcVar5 = pcVar13;\n      pcVar14 = local_20[0];\n    }\n    switch(pcVar14[1]) {\n    case '0':\n      pcStack_30 = pcVar14 + 2;\n      uVar12 = (uint)pcVar14[2];\n      if (pcVar14[2] != '\0') {\n        local_20[0] = pcStack_30;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uStack_2c = uVar12 - 0x30;\n        if ((*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0) {\n          if (uVar12 + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }\n          uStack_2c = uVar12 - 0x37;\n        }\n        if (uStack_2c < 9) {\n          _Var15 = (__int32_t)pcVar14[3];\n          pcStack_30 = pcVar14 + 3;\n          if (pcVar14[3] != '\0') {\n            pcStack_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + uStack_2c * 8;\n              if (pcVar14[4] != '\0') {\n                pcStack_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto code_r0x00016ca4;\n            }\n          }\n          uVar12 = uStack_2c & 0xff;\n        }\n        else {\ncode_r0x00016e6f:\n          pcStack_30 = pcVar14 + 3;\n          uVar12 = 0;\n        }\n      }\n      goto code_r0x00016ca4;\n    default:\n      *pcVar5 = pcVar14[1];\n      break;\n    case 'X':\n    case 'x':\n      local_20[0] = pcVar14 + 2;\n      bVar2 = pcVar14[2];\n      uVar12 = (uint)bVar2;\n      pcStack_30 = local_20[0];\n      if (bVar2 != 0) {\n        pcStack_30 = pcVar14 + 3;\n        uStack_2c = (uint)(char)bVar2;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uVar11 = uStack_2c - 0x30;\n        if ((*(byte *)((int)puVar3 + uStack_2c * 2 + 1) & 8) == 0) {\n          if (uStack_2c + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uStack_2c = (*pp_Var9)[uStack_2c];\n          }\n          uVar11 = uStack_2c - 0x37;\n        }\n        if (0x10 < uVar11) goto code_r0x00016e6f;\n        uVar12 = uVar11;\n        if (pcVar14[3] != '\0') {\n          pcStack_30 = pcVar14 + 4;\n          _Var15 = (__int32_t)pcVar14[3];\n          uVar8 = _Var15 - 0x30;\n          if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }\n          uVar12 = uVar11 * 0x10 + uVar8;\n          if (0x10 < uVar8) {\n            uVar12 = uVar11;\n          }\n        }\n      }\ncode_r0x00016ca4:\n      *pcVar5 = (char)uVar12;\n      local_20[0] = pcStack_30 + -1;\n      break;\n    case 'a':\n      *pcVar5 = '\a';\n      break;\n    case 'b':\n      *pcVar5 = '\b';\n      break;\n    case 'e':\n      *pcVar5 = '\x1b';\n      break;\n    case 'f':\n      *pcVar5 = '\f';\n      break;\n    case 'n':\n      *pcVar5 = '\n';\n      break;\n    case 'r':\n      *pcVar5 = '\r';\n      break;\n    case 't':\n      *pcVar5 = '\t';\n    }\n    pcVar13 = pcVar5 + 1;\n    local_20[0] = local_20[0] + 1;\nLAB_00016abf:\n    cVar1 = *local_20[0];\n    pcVar5 = pcVar13;\n    pcVar14 = local_20[0];\n  } while( true );\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "ushort *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "long lVar6;" (sized_type_specifier "long" long) identifier ;) (declaration "ushort **ppuVar7;" type_identifier (pointer_declarator "**ppuVar7" * (pointer_declarator "*ppuVar7" * identifier)) ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "__int32_t **pp_Var9;" type_identifier (pointer_declarator "**pp_Var9" * (pointer_declarator "*pp_Var9" * identifier)) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "__int32_t _Var15;" type_identifier identifier ;) (declaration "char *pcStack_30;" primitive_type (pointer_declarator "*pcStack_30" * identifier) ;) (declaration "uint uStack_2c;" type_identifier identifier ;) (declaration "char *local_20 [3];" primitive_type (pointer_declarator "*local_20 [3]" * (array_declarator "local_20 [3]" identifier [ number_literal ])) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (declaration "char *pcVar14;" primitive_type (pointer_declarator "*pcVar14" * identifier) ;) (expression_statement "iVar10 = 0x36;" (assignment_expression "iVar10 = 0x36" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x16a4e;" (assignment_expression "uStack_14 = 0x16a4e" identifier = number_literal) ;) (expression_statement "pcVar5 = &DAT_0003b8c0;" (assignment_expression "pcVar5 = &DAT_0003b8c0" identifier = (pointer_expression "&DAT_0003b8c0" & identifier)) ;) (while_statement "while (iVar10 != 0) {\n    iVar10 = iVar10 + -1;\n    builtin_strncpy(pcVar5,"    ",4);\n    pcVar5 = pcVar5 + 4;\n  }" while (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar10 = iVar10 + -1;\n    builtin_strncpy(pcVar5,"    ",4);\n    pcVar5 = pcVar5 + 4;\n  }" { (expression_statement "iVar10 = iVar10 + -1;" (assignment_expression "iVar10 = iVar10 + -1" identifier = (binary_expression "iVar10 + -1" identifier + number_literal)) ;) (expression_statement "builtin_strncpy(pcVar5,"    ",4);" (call_expression "builtin_strncpy(pcVar5,"    ",4)" identifier (argument_list "(pcVar5,"    ",4)" ( identifier , (string_literal ""    "" " string_content ") , number_literal ))) ;) (expression_statement "pcVar5 = pcVar5 + 4;" (assignment_expression "pcVar5 = pcVar5 + 4" identifier = (binary_expression "pcVar5 + 4" identifier + number_literal)) ;) })) (expression_statement "DAT_0003b997 = 0;" (assignment_expression "DAT_0003b997 = 0" identifier = number_literal) ;) (expression_statement "cVar1 = *param_1;" (assignment_expression "cVar1 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "pcVar5 = &DAT_0003b8c0;" (assignment_expression "pcVar5 = &DAT_0003b8c0" identifier = (pointer_expression "&DAT_0003b8c0" & identifier)) ;) (expression_statement "pcVar14 = param_1;" (assignment_expression "pcVar14 = param_1" identifier = identifier) ;) (do_statement "do {\n    while( true ) {\n      if (cVar1 == '\0') {\n        *pcVar5 = '\0';\n        local_20[0] = pcVar14;\n        pcVar5 = strdup(&DAT_0003b8c0);\n        *param_2 = pcVar5;\n        return;\n      }\n      pcVar13 = pcVar14 + 1;\n      local_20[0] = pcVar13;\n      if (cVar1 == '\\') break;\n      if ((cVar1 == 'x') && (pcVar5 != &DAT_0003b8c0)) {\n        local_20[0] = pcVar14;\n        lVar6 = strtol(pcVar13,local_20,10);\n        cVar1 = pcVar5[-1];\n        pcVar14 = pcVar5;\n        pcVar13 = pcVar5;\n        if (1 < lVar6) {\n          do {\n            while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }\n          } while (pcVar5 + lVar6 + -1 != pcVar13);\n        }\n        goto LAB_00016abf;\n      }\n      pcVar13 = pcVar5 + 1;\n      *pcVar5 = *pcVar14;\n      if (pcVar5[1] != '\0') goto LAB_00016abf;\n      uVar4 = dcgettext(0,"level indent string is too long",5);\n      error(3,0,uVar4);\n      cVar1 = *local_20[0];\n      pcVar5 = pcVar13;\n      pcVar14 = local_20[0];\n    }\n    switch(pcVar14[1]) {\n    case '0':\n      pcStack_30 = pcVar14 + 2;\n      uVar12 = (uint)pcVar14[2];\n      if (pcVar14[2] != '\0') {\n        local_20[0] = pcStack_30;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uStack_2c = uVar12 - 0x30;\n        if ((*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0) {\n          if (uVar12 + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }\n          uStack_2c = uVar12 - 0x37;\n        }\n        if (uStack_2c < 9) {\n          _Var15 = (__int32_t)pcVar14[3];\n          pcStack_30 = pcVar14 + 3;\n          if (pcVar14[3] != '\0') {\n            pcStack_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + uStack_2c * 8;\n              if (pcVar14[4] != '\0') {\n                pcStack_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto code_r0x00016ca4;\n            }\n          }\n          uVar12 = uStack_2c & 0xff;\n        }\n        else {\ncode_r0x00016e6f:\n          pcStack_30 = pcVar14 + 3;\n          uVar12 = 0;\n        }\n      }\n      goto code_r0x00016ca4;\n    default:\n      *pcVar5 = pcVar14[1];\n      break;\n    case 'X':\n    case 'x':\n      local_20[0] = pcVar14 + 2;\n      bVar2 = pcVar14[2];\n      uVar12 = (uint)bVar2;\n      pcStack_30 = local_20[0];\n      if (bVar2 != 0) {\n        pcStack_30 = pcVar14 + 3;\n        uStack_2c = (uint)(char)bVar2;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uVar11 = uStack_2c - 0x30;\n        if ((*(byte *)((int)puVar3 + uStack_2c * 2 + 1) & 8) == 0) {\n          if (uStack_2c + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uStack_2c = (*pp_Var9)[uStack_2c];\n          }\n          uVar11 = uStack_2c - 0x37;\n        }\n        if (0x10 < uVar11) goto code_r0x00016e6f;\n        uVar12 = uVar11;\n        if (pcVar14[3] != '\0') {\n          pcStack_30 = pcVar14 + 4;\n          _Var15 = (__int32_t)pcVar14[3];\n          uVar8 = _Var15 - 0x30;\n          if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }\n          uVar12 = uVar11 * 0x10 + uVar8;\n          if (0x10 < uVar8) {\n            uVar12 = uVar11;\n          }\n        }\n      }\ncode_r0x00016ca4:\n      *pcVar5 = (char)uVar12;\n      local_20[0] = pcStack_30 + -1;\n      break;\n    case 'a':\n      *pcVar5 = '\a';\n      break;\n    case 'b':\n      *pcVar5 = '\b';\n      break;\n    case 'e':\n      *pcVar5 = '\x1b';\n      break;\n    case 'f':\n      *pcVar5 = '\f';\n      break;\n    case 'n':\n      *pcVar5 = '\n';\n      break;\n    case 'r':\n      *pcVar5 = '\r';\n      break;\n    case 't':\n      *pcVar5 = '\t';\n    }\n    pcVar13 = pcVar5 + 1;\n    local_20[0] = local_20[0] + 1;\nLAB_00016abf:\n    cVar1 = *local_20[0];\n    pcVar5 = pcVar13;\n    pcVar14 = local_20[0];\n  } while( true );" do (compound_statement "{\n    while( true ) {\n      if (cVar1 == '\0') {\n        *pcVar5 = '\0';\n        local_20[0] = pcVar14;\n        pcVar5 = strdup(&DAT_0003b8c0);\n        *param_2 = pcVar5;\n        return;\n      }\n      pcVar13 = pcVar14 + 1;\n      local_20[0] = pcVar13;\n      if (cVar1 == '\\') break;\n      if ((cVar1 == 'x') && (pcVar5 != &DAT_0003b8c0)) {\n        local_20[0] = pcVar14;\n        lVar6 = strtol(pcVar13,local_20,10);\n        cVar1 = pcVar5[-1];\n        pcVar14 = pcVar5;\n        pcVar13 = pcVar5;\n        if (1 < lVar6) {\n          do {\n            while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }\n          } while (pcVar5 + lVar6 + -1 != pcVar13);\n        }\n        goto LAB_00016abf;\n      }\n      pcVar13 = pcVar5 + 1;\n      *pcVar5 = *pcVar14;\n      if (pcVar5[1] != '\0') goto LAB_00016abf;\n      uVar4 = dcgettext(0,"level indent string is too long",5);\n      error(3,0,uVar4);\n      cVar1 = *local_20[0];\n      pcVar5 = pcVar13;\n      pcVar14 = local_20[0];\n    }\n    switch(pcVar14[1]) {\n    case '0':\n      pcStack_30 = pcVar14 + 2;\n      uVar12 = (uint)pcVar14[2];\n      if (pcVar14[2] != '\0') {\n        local_20[0] = pcStack_30;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uStack_2c = uVar12 - 0x30;\n        if ((*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0) {\n          if (uVar12 + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }\n          uStack_2c = uVar12 - 0x37;\n        }\n        if (uStack_2c < 9) {\n          _Var15 = (__int32_t)pcVar14[3];\n          pcStack_30 = pcVar14 + 3;\n          if (pcVar14[3] != '\0') {\n            pcStack_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + uStack_2c * 8;\n              if (pcVar14[4] != '\0') {\n                pcStack_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto code_r0x00016ca4;\n            }\n          }\n          uVar12 = uStack_2c & 0xff;\n        }\n        else {\ncode_r0x00016e6f:\n          pcStack_30 = pcVar14 + 3;\n          uVar12 = 0;\n        }\n      }\n      goto code_r0x00016ca4;\n    default:\n      *pcVar5 = pcVar14[1];\n      break;\n    case 'X':\n    case 'x':\n      local_20[0] = pcVar14 + 2;\n      bVar2 = pcVar14[2];\n      uVar12 = (uint)bVar2;\n      pcStack_30 = local_20[0];\n      if (bVar2 != 0) {\n        pcStack_30 = pcVar14 + 3;\n        uStack_2c = (uint)(char)bVar2;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uVar11 = uStack_2c - 0x30;\n        if ((*(byte *)((int)puVar3 + uStack_2c * 2 + 1) & 8) == 0) {\n          if (uStack_2c + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uStack_2c = (*pp_Var9)[uStack_2c];\n          }\n          uVar11 = uStack_2c - 0x37;\n        }\n        if (0x10 < uVar11) goto code_r0x00016e6f;\n        uVar12 = uVar11;\n        if (pcVar14[3] != '\0') {\n          pcStack_30 = pcVar14 + 4;\n          _Var15 = (__int32_t)pcVar14[3];\n          uVar8 = _Var15 - 0x30;\n          if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }\n          uVar12 = uVar11 * 0x10 + uVar8;\n          if (0x10 < uVar8) {\n            uVar12 = uVar11;\n          }\n        }\n      }\ncode_r0x00016ca4:\n      *pcVar5 = (char)uVar12;\n      local_20[0] = pcStack_30 + -1;\n      break;\n    case 'a':\n      *pcVar5 = '\a';\n      break;\n    case 'b':\n      *pcVar5 = '\b';\n      break;\n    case 'e':\n      *pcVar5 = '\x1b';\n      break;\n    case 'f':\n      *pcVar5 = '\f';\n      break;\n    case 'n':\n      *pcVar5 = '\n';\n      break;\n    case 'r':\n      *pcVar5 = '\r';\n      break;\n    case 't':\n      *pcVar5 = '\t';\n    }\n    pcVar13 = pcVar5 + 1;\n    local_20[0] = local_20[0] + 1;\nLAB_00016abf:\n    cVar1 = *local_20[0];\n    pcVar5 = pcVar13;\n    pcVar14 = local_20[0];\n  }" { (while_statement "while( true ) {\n      if (cVar1 == '\0') {\n        *pcVar5 = '\0';\n        local_20[0] = pcVar14;\n        pcVar5 = strdup(&DAT_0003b8c0);\n        *param_2 = pcVar5;\n        return;\n      }\n      pcVar13 = pcVar14 + 1;\n      local_20[0] = pcVar13;\n      if (cVar1 == '\\') break;\n      if ((cVar1 == 'x') && (pcVar5 != &DAT_0003b8c0)) {\n        local_20[0] = pcVar14;\n        lVar6 = strtol(pcVar13,local_20,10);\n        cVar1 = pcVar5[-1];\n        pcVar14 = pcVar5;\n        pcVar13 = pcVar5;\n        if (1 < lVar6) {\n          do {\n            while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }\n          } while (pcVar5 + lVar6 + -1 != pcVar13);\n        }\n        goto LAB_00016abf;\n      }\n      pcVar13 = pcVar5 + 1;\n      *pcVar5 = *pcVar14;\n      if (pcVar5[1] != '\0') goto LAB_00016abf;\n      uVar4 = dcgettext(0,"level indent string is too long",5);\n      error(3,0,uVar4);\n      cVar1 = *local_20[0];\n      pcVar5 = pcVar13;\n      pcVar14 = local_20[0];\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      if (cVar1 == '\0') {\n        *pcVar5 = '\0';\n        local_20[0] = pcVar14;\n        pcVar5 = strdup(&DAT_0003b8c0);\n        *param_2 = pcVar5;\n        return;\n      }\n      pcVar13 = pcVar14 + 1;\n      local_20[0] = pcVar13;\n      if (cVar1 == '\\') break;\n      if ((cVar1 == 'x') && (pcVar5 != &DAT_0003b8c0)) {\n        local_20[0] = pcVar14;\n        lVar6 = strtol(pcVar13,local_20,10);\n        cVar1 = pcVar5[-1];\n        pcVar14 = pcVar5;\n        pcVar13 = pcVar5;\n        if (1 < lVar6) {\n          do {\n            while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }\n          } while (pcVar5 + lVar6 + -1 != pcVar13);\n        }\n        goto LAB_00016abf;\n      }\n      pcVar13 = pcVar5 + 1;\n      *pcVar5 = *pcVar14;\n      if (pcVar5[1] != '\0') goto LAB_00016abf;\n      uVar4 = dcgettext(0,"level indent string is too long",5);\n      error(3,0,uVar4);\n      cVar1 = *local_20[0];\n      pcVar5 = pcVar13;\n      pcVar14 = local_20[0];\n    }" { (if_statement "if (cVar1 == '\0') {\n        *pcVar5 = '\0';\n        local_20[0] = pcVar14;\n        pcVar5 = strdup(&DAT_0003b8c0);\n        *param_2 = pcVar5;\n        return;\n      }" if (parenthesized_expression "(cVar1 == '\0')" ( (binary_expression "cVar1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        *pcVar5 = '\0';\n        local_20[0] = pcVar14;\n        pcVar5 = strdup(&DAT_0003b8c0);\n        *param_2 = pcVar5;\n        return;\n      }" { (expression_statement "*pcVar5 = '\0';" (assignment_expression "*pcVar5 = '\0'" (pointer_expression "*pcVar5" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_20[0] = pcVar14;" (assignment_expression "local_20[0] = pcVar14" (subscript_expression "local_20[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pcVar5 = strdup(&DAT_0003b8c0);" (assignment_expression "pcVar5 = strdup(&DAT_0003b8c0)" identifier = (call_expression "strdup(&DAT_0003b8c0)" identifier (argument_list "(&DAT_0003b8c0)" ( (pointer_expression "&DAT_0003b8c0" & identifier) )))) ;) (expression_statement "*param_2 = pcVar5;" (assignment_expression "*param_2 = pcVar5" (pointer_expression "*param_2" * identifier) = identifier) ;) (return_statement "return;" return ;) })) (expression_statement "pcVar13 = pcVar14 + 1;" (assignment_expression "pcVar13 = pcVar14 + 1" identifier = (binary_expression "pcVar14 + 1" identifier + number_literal)) ;) (expression_statement "local_20[0] = pcVar13;" (assignment_expression "local_20[0] = pcVar13" (subscript_expression "local_20[0]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (cVar1 == '\\') break;" if (parenthesized_expression "(cVar1 == '\\')" ( (binary_expression "cVar1 == '\\'" identifier == (char_literal "'\\'" ' escape_sequence ')) )) (break_statement "break;" break ;)) (if_statement "if ((cVar1 == 'x') && (pcVar5 != &DAT_0003b8c0)) {\n        local_20[0] = pcVar14;\n        lVar6 = strtol(pcVar13,local_20,10);\n        cVar1 = pcVar5[-1];\n        pcVar14 = pcVar5;\n        pcVar13 = pcVar5;\n        if (1 < lVar6) {\n          do {\n            while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }\n          } while (pcVar5 + lVar6 + -1 != pcVar13);\n        }\n        goto LAB_00016abf;\n      }" if (parenthesized_expression "((cVar1 == 'x') && (pcVar5 != &DAT_0003b8c0))" ( (binary_expression "(cVar1 == 'x') && (pcVar5 != &DAT_0003b8c0)" (parenthesized_expression "(cVar1 == 'x')" ( (binary_expression "cVar1 == 'x'" identifier == (char_literal "'x'" ' character ')) )) && (parenthesized_expression "(pcVar5 != &DAT_0003b8c0)" ( (binary_expression "pcVar5 != &DAT_0003b8c0" identifier != (pointer_expression "&DAT_0003b8c0" & identifier)) ))) )) (compound_statement "{\n        local_20[0] = pcVar14;\n        lVar6 = strtol(pcVar13,local_20,10);\n        cVar1 = pcVar5[-1];\n        pcVar14 = pcVar5;\n        pcVar13 = pcVar5;\n        if (1 < lVar6) {\n          do {\n            while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }\n          } while (pcVar5 + lVar6 + -1 != pcVar13);\n        }\n        goto LAB_00016abf;\n      }" { (expression_statement "local_20[0] = pcVar14;" (assignment_expression "local_20[0] = pcVar14" (subscript_expression "local_20[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "lVar6 = strtol(pcVar13,local_20,10);" (assignment_expression "lVar6 = strtol(pcVar13,local_20,10)" identifier = (call_expression "strtol(pcVar13,local_20,10)" identifier (argument_list "(pcVar13,local_20,10)" ( identifier , identifier , number_literal )))) ;) (expression_statement "cVar1 = pcVar5[-1];" (assignment_expression "cVar1 = pcVar5[-1]" identifier = (subscript_expression "pcVar5[-1]" identifier [ number_literal ])) ;) (expression_statement "pcVar14 = pcVar5;" (assignment_expression "pcVar14 = pcVar5" identifier = identifier) ;) (expression_statement "pcVar13 = pcVar5;" (assignment_expression "pcVar13 = pcVar5" identifier = identifier) ;) (if_statement "if (1 < lVar6) {\n          do {\n            while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }\n          } while (pcVar5 + lVar6 + -1 != pcVar13);\n        }" if (parenthesized_expression "(1 < lVar6)" ( (binary_expression "1 < lVar6" number_literal < identifier) )) (compound_statement "{\n          do {\n            while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }\n          } while (pcVar5 + lVar6 + -1 != pcVar13);\n        }" { (do_statement "do {\n            while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }\n          } while (pcVar5 + lVar6 + -1 != pcVar13);" do (compound_statement "{\n            while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }\n          }" { (while_statement "while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }" { (expression_statement "pcVar13 = pcVar14 + 1;" (assignment_expression "pcVar13 = pcVar14 + 1" identifier = (binary_expression "pcVar14 + 1" identifier + number_literal)) ;) (expression_statement "*pcVar14 = cVar1;" (assignment_expression "*pcVar14 = cVar1" (pointer_expression "*pcVar14" * identifier) = identifier) ;) (expression_statement "pcVar14 = pcVar13;" (assignment_expression "pcVar14 = pcVar13" identifier = identifier) ;) (if_statement "if (*pcVar13 != '\0') break;" if (parenthesized_expression "(*pcVar13 != '\0')" ( (binary_expression "*pcVar13 != '\0'" (pointer_expression "*pcVar13" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (break_statement "break;" break ;)) (expression_statement "uVar4 = dcgettext(0,"level indent string is too long",5);" (assignment_expression "uVar4 = dcgettext(0,"level indent string is too long",5)" identifier = (call_expression "dcgettext(0,"level indent string is too long",5)" identifier (argument_list "(0,"level indent string is too long",5)" ( number_literal , (string_literal ""level indent string is too long"" " string_content ") , number_literal )))) ;) (expression_statement "error(3,0,uVar4);" (call_expression "error(3,0,uVar4)" identifier (argument_list "(3,0,uVar4)" ( number_literal , number_literal , identifier ))) ;) (if_statement "if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;" if (parenthesized_expression "(pcVar5 + lVar6 + -1 == pcVar13)" ( (binary_expression "pcVar5 + lVar6 + -1 == pcVar13" (binary_expression "pcVar5 + lVar6 + -1" (binary_expression "pcVar5 + lVar6" identifier + identifier) + number_literal) == identifier) )) (goto_statement "goto LAB_00016abf;" goto statement_identifier ;)) })) }) while (parenthesized_expression "(pcVar5 + lVar6 + -1 != pcVar13)" ( (binary_expression "pcVar5 + lVar6 + -1 != pcVar13" (binary_expression "pcVar5 + lVar6 + -1" (binary_expression "pcVar5 + lVar6" identifier + identifier) + number_literal) != identifier) )) ;) })) (goto_statement "goto LAB_00016abf;" goto statement_identifier ;) })) (expression_statement "pcVar13 = pcVar5 + 1;" (assignment_expression "pcVar13 = pcVar5 + 1" identifier = (binary_expression "pcVar5 + 1" identifier + number_literal)) ;) (expression_statement "*pcVar5 = *pcVar14;" (assignment_expression "*pcVar5 = *pcVar14" (pointer_expression "*pcVar5" * identifier) = (pointer_expression "*pcVar14" * identifier)) ;) (if_statement "if (pcVar5[1] != '\0') goto LAB_00016abf;" if (parenthesized_expression "(pcVar5[1] != '\0')" ( (binary_expression "pcVar5[1] != '\0'" (subscript_expression "pcVar5[1]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00016abf;" goto statement_identifier ;)) (expression_statement "uVar4 = dcgettext(0,"level indent string is too long",5);" (assignment_expression "uVar4 = dcgettext(0,"level indent string is too long",5)" identifier = (call_expression "dcgettext(0,"level indent string is too long",5)" identifier (argument_list "(0,"level indent string is too long",5)" ( number_literal , (string_literal ""level indent string is too long"" " string_content ") , number_literal )))) ;) (expression_statement "error(3,0,uVar4);" (call_expression "error(3,0,uVar4)" identifier (argument_list "(3,0,uVar4)" ( number_literal , number_literal , identifier ))) ;) (expression_statement "cVar1 = *local_20[0];" (assignment_expression "cVar1 = *local_20[0]" identifier = (pointer_expression "*local_20[0]" * (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "pcVar5 = pcVar13;" (assignment_expression "pcVar5 = pcVar13" identifier = identifier) ;) (expression_statement "pcVar14 = local_20[0];" (assignment_expression "pcVar14 = local_20[0]" identifier = (subscript_expression "local_20[0]" identifier [ number_literal ])) ;) })) (switch_statement "switch(pcVar14[1]) {\n    case '0':\n      pcStack_30 = pcVar14 + 2;\n      uVar12 = (uint)pcVar14[2];\n      if (pcVar14[2] != '\0') {\n        local_20[0] = pcStack_30;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uStack_2c = uVar12 - 0x30;\n        if ((*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0) {\n          if (uVar12 + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }\n          uStack_2c = uVar12 - 0x37;\n        }\n        if (uStack_2c < 9) {\n          _Var15 = (__int32_t)pcVar14[3];\n          pcStack_30 = pcVar14 + 3;\n          if (pcVar14[3] != '\0') {\n            pcStack_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + uStack_2c * 8;\n              if (pcVar14[4] != '\0') {\n                pcStack_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto code_r0x00016ca4;\n            }\n          }\n          uVar12 = uStack_2c & 0xff;\n        }\n        else {\ncode_r0x00016e6f:\n          pcStack_30 = pcVar14 + 3;\n          uVar12 = 0;\n        }\n      }\n      goto code_r0x00016ca4;\n    default:\n      *pcVar5 = pcVar14[1];\n      break;\n    case 'X':\n    case 'x':\n      local_20[0] = pcVar14 + 2;\n      bVar2 = pcVar14[2];\n      uVar12 = (uint)bVar2;\n      pcStack_30 = local_20[0];\n      if (bVar2 != 0) {\n        pcStack_30 = pcVar14 + 3;\n        uStack_2c = (uint)(char)bVar2;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uVar11 = uStack_2c - 0x30;\n        if ((*(byte *)((int)puVar3 + uStack_2c * 2 + 1) & 8) == 0) {\n          if (uStack_2c + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uStack_2c = (*pp_Var9)[uStack_2c];\n          }\n          uVar11 = uStack_2c - 0x37;\n        }\n        if (0x10 < uVar11) goto code_r0x00016e6f;\n        uVar12 = uVar11;\n        if (pcVar14[3] != '\0') {\n          pcStack_30 = pcVar14 + 4;\n          _Var15 = (__int32_t)pcVar14[3];\n          uVar8 = _Var15 - 0x30;\n          if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }\n          uVar12 = uVar11 * 0x10 + uVar8;\n          if (0x10 < uVar8) {\n            uVar12 = uVar11;\n          }\n        }\n      }\ncode_r0x00016ca4:\n      *pcVar5 = (char)uVar12;\n      local_20[0] = pcStack_30 + -1;\n      break;\n    case 'a':\n      *pcVar5 = '\a';\n      break;\n    case 'b':\n      *pcVar5 = '\b';\n      break;\n    case 'e':\n      *pcVar5 = '\x1b';\n      break;\n    case 'f':\n      *pcVar5 = '\f';\n      break;\n    case 'n':\n      *pcVar5 = '\n';\n      break;\n    case 'r':\n      *pcVar5 = '\r';\n      break;\n    case 't':\n      *pcVar5 = '\t';\n    }" switch (parenthesized_expression "(pcVar14[1])" ( (subscript_expression "pcVar14[1]" identifier [ number_literal ]) )) (compound_statement "{\n    case '0':\n      pcStack_30 = pcVar14 + 2;\n      uVar12 = (uint)pcVar14[2];\n      if (pcVar14[2] != '\0') {\n        local_20[0] = pcStack_30;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uStack_2c = uVar12 - 0x30;\n        if ((*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0) {\n          if (uVar12 + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }\n          uStack_2c = uVar12 - 0x37;\n        }\n        if (uStack_2c < 9) {\n          _Var15 = (__int32_t)pcVar14[3];\n          pcStack_30 = pcVar14 + 3;\n          if (pcVar14[3] != '\0') {\n            pcStack_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + uStack_2c * 8;\n              if (pcVar14[4] != '\0') {\n                pcStack_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto code_r0x00016ca4;\n            }\n          }\n          uVar12 = uStack_2c & 0xff;\n        }\n        else {\ncode_r0x00016e6f:\n          pcStack_30 = pcVar14 + 3;\n          uVar12 = 0;\n        }\n      }\n      goto code_r0x00016ca4;\n    default:\n      *pcVar5 = pcVar14[1];\n      break;\n    case 'X':\n    case 'x':\n      local_20[0] = pcVar14 + 2;\n      bVar2 = pcVar14[2];\n      uVar12 = (uint)bVar2;\n      pcStack_30 = local_20[0];\n      if (bVar2 != 0) {\n        pcStack_30 = pcVar14 + 3;\n        uStack_2c = (uint)(char)bVar2;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uVar11 = uStack_2c - 0x30;\n        if ((*(byte *)((int)puVar3 + uStack_2c * 2 + 1) & 8) == 0) {\n          if (uStack_2c + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uStack_2c = (*pp_Var9)[uStack_2c];\n          }\n          uVar11 = uStack_2c - 0x37;\n        }\n        if (0x10 < uVar11) goto code_r0x00016e6f;\n        uVar12 = uVar11;\n        if (pcVar14[3] != '\0') {\n          pcStack_30 = pcVar14 + 4;\n          _Var15 = (__int32_t)pcVar14[3];\n          uVar8 = _Var15 - 0x30;\n          if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }\n          uVar12 = uVar11 * 0x10 + uVar8;\n          if (0x10 < uVar8) {\n            uVar12 = uVar11;\n          }\n        }\n      }\ncode_r0x00016ca4:\n      *pcVar5 = (char)uVar12;\n      local_20[0] = pcStack_30 + -1;\n      break;\n    case 'a':\n      *pcVar5 = '\a';\n      break;\n    case 'b':\n      *pcVar5 = '\b';\n      break;\n    case 'e':\n      *pcVar5 = '\x1b';\n      break;\n    case 'f':\n      *pcVar5 = '\f';\n      break;\n    case 'n':\n      *pcVar5 = '\n';\n      break;\n    case 'r':\n      *pcVar5 = '\r';\n      break;\n    case 't':\n      *pcVar5 = '\t';\n    }" { (case_statement "case '0':\n      pcStack_30 = pcVar14 + 2;\n      uVar12 = (uint)pcVar14[2];\n      if (pcVar14[2] != '\0') {\n        local_20[0] = pcStack_30;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uStack_2c = uVar12 - 0x30;\n        if ((*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0) {\n          if (uVar12 + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }\n          uStack_2c = uVar12 - 0x37;\n        }\n        if (uStack_2c < 9) {\n          _Var15 = (__int32_t)pcVar14[3];\n          pcStack_30 = pcVar14 + 3;\n          if (pcVar14[3] != '\0') {\n            pcStack_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + uStack_2c * 8;\n              if (pcVar14[4] != '\0') {\n                pcStack_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto code_r0x00016ca4;\n            }\n          }\n          uVar12 = uStack_2c & 0xff;\n        }\n        else {\ncode_r0x00016e6f:\n          pcStack_30 = pcVar14 + 3;\n          uVar12 = 0;\n        }\n      }\n      goto code_r0x00016ca4;" case (char_literal "'0'" ' character ') : (expression_statement "pcStack_30 = pcVar14 + 2;" (assignment_expression "pcStack_30 = pcVar14 + 2" identifier = (binary_expression "pcVar14 + 2" identifier + number_literal)) ;) (expression_statement "uVar12 = (uint)pcVar14[2];" (assignment_expression "uVar12 = (uint)pcVar14[2]" identifier = (cast_expression "(uint)pcVar14[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pcVar14[2]" identifier [ number_literal ]))) ;) (if_statement "if (pcVar14[2] != '\0') {\n        local_20[0] = pcStack_30;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uStack_2c = uVar12 - 0x30;\n        if ((*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0) {\n          if (uVar12 + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }\n          uStack_2c = uVar12 - 0x37;\n        }\n        if (uStack_2c < 9) {\n          _Var15 = (__int32_t)pcVar14[3];\n          pcStack_30 = pcVar14 + 3;\n          if (pcVar14[3] != '\0') {\n            pcStack_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + uStack_2c * 8;\n              if (pcVar14[4] != '\0') {\n                pcStack_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto code_r0x00016ca4;\n            }\n          }\n          uVar12 = uStack_2c & 0xff;\n        }\n        else {\ncode_r0x00016e6f:\n          pcStack_30 = pcVar14 + 3;\n          uVar12 = 0;\n        }\n      }" if (parenthesized_expression "(pcVar14[2] != '\0')" ( (binary_expression "pcVar14[2] != '\0'" (subscript_expression "pcVar14[2]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        local_20[0] = pcStack_30;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uStack_2c = uVar12 - 0x30;\n        if ((*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0) {\n          if (uVar12 + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }\n          uStack_2c = uVar12 - 0x37;\n        }\n        if (uStack_2c < 9) {\n          _Var15 = (__int32_t)pcVar14[3];\n          pcStack_30 = pcVar14 + 3;\n          if (pcVar14[3] != '\0') {\n            pcStack_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + uStack_2c * 8;\n              if (pcVar14[4] != '\0') {\n                pcStack_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto code_r0x00016ca4;\n            }\n          }\n          uVar12 = uStack_2c & 0xff;\n        }\n        else {\ncode_r0x00016e6f:\n          pcStack_30 = pcVar14 + 3;\n          uVar12 = 0;\n        }\n      }" { (expression_statement "local_20[0] = pcStack_30;" (assignment_expression "local_20[0] = pcStack_30" (subscript_expression "local_20[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppuVar7 = __ctype_b_loc();" (assignment_expression "ppuVar7 = __ctype_b_loc()" identifier = (call_expression "__ctype_b_loc()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar3 = *ppuVar7;" (assignment_expression "puVar3 = *ppuVar7" identifier = (pointer_expression "*ppuVar7" * identifier)) ;) (expression_statement "uStack_2c = uVar12 - 0x30;" (assignment_expression "uStack_2c = uVar12 - 0x30" identifier = (binary_expression "uVar12 - 0x30" identifier - number_literal)) ;) (if_statement "if ((*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0) {\n          if (uVar12 + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }\n          uStack_2c = uVar12 - 0x37;\n        }" if (parenthesized_expression "((*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0)" ( (binary_expression "(*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0" (parenthesized_expression "(*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8)" ( (binary_expression "*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8" (pointer_expression "*(byte *)((int)puVar3 + uVar12 * 2 + 1)" * (cast_expression "(byte *)((int)puVar3 + uVar12 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar3 + uVar12 * 2 + 1)" ( (binary_expression "(int)puVar3 + uVar12 * 2 + 1" (binary_expression "(int)puVar3 + uVar12 * 2" (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "uVar12 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n          if (uVar12 + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }\n          uStack_2c = uVar12 - 0x37;\n        }" { (if_statement "if (uVar12 + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }" if (parenthesized_expression "(uVar12 + 0x80 < 0x180)" ( (binary_expression "uVar12 + 0x80 < 0x180" (binary_expression "uVar12 + 0x80" identifier + number_literal) < number_literal) )) (compound_statement "{\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }" { (expression_statement "pp_Var9 = __ctype_toupper_loc();" (assignment_expression "pp_Var9 = __ctype_toupper_loc()" identifier = (call_expression "__ctype_toupper_loc()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar12 = (*pp_Var9)[uVar12];" (assignment_expression "uVar12 = (*pp_Var9)[uVar12]" identifier = (subscript_expression "(*pp_Var9)[uVar12]" (parenthesized_expression "(*pp_Var9)" ( (pointer_expression "*pp_Var9" * identifier) )) [ identifier ])) ;) })) (expression_statement "uStack_2c = uVar12 - 0x37;" (assignment_expression "uStack_2c = uVar12 - 0x37" identifier = (binary_expression "uVar12 - 0x37" identifier - number_literal)) ;) })) (if_statement "if (uStack_2c < 9) {\n          _Var15 = (__int32_t)pcVar14[3];\n          pcStack_30 = pcVar14 + 3;\n          if (pcVar14[3] != '\0') {\n            pcStack_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + uStack_2c * 8;\n              if (pcVar14[4] != '\0') {\n                pcStack_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto code_r0x00016ca4;\n            }\n          }\n          uVar12 = uStack_2c & 0xff;\n        }\n        else {\ncode_r0x00016e6f:\n          pcStack_30 = pcVar14 + 3;\n          uVar12 = 0;\n        }" if (parenthesized_expression "(uStack_2c < 9)" ( (binary_expression "uStack_2c < 9" identifier < number_literal) )) (compound_statement "{\n          _Var15 = (__int32_t)pcVar14[3];\n          pcStack_30 = pcVar14 + 3;\n          if (pcVar14[3] != '\0') {\n            pcStack_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + uStack_2c * 8;\n              if (pcVar14[4] != '\0') {\n                pcStack_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto code_r0x00016ca4;\n            }\n          }\n          uVar12 = uStack_2c & 0xff;\n        }" { (expression_statement "_Var15 = (__int32_t)pcVar14[3];" (assignment_expression "_Var15 = (__int32_t)pcVar14[3]" identifier = (cast_expression "(__int32_t)pcVar14[3]" ( (type_descriptor "__int32_t" type_identifier) ) (subscript_expression "pcVar14[3]" identifier [ number_literal ]))) ;) (expression_statement "pcStack_30 = pcVar14 + 3;" (assignment_expression "pcStack_30 = pcVar14 + 3" identifier = (binary_expression "pcVar14 + 3" identifier + number_literal)) ;) (if_statement "if (pcVar14[3] != '\0') {\n            pcStack_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + uStack_2c * 8;\n              if (pcVar14[4] != '\0') {\n                pcStack_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto code_r0x00016ca4;\n            }\n          }" if (parenthesized_expression "(pcVar14[3] != '\0')" ( (binary_expression "pcVar14[3] != '\0'" (subscript_expression "pcVar14[3]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            pcStack_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + uStack_2c * 8;\n              if (pcVar14[4] != '\0') {\n                pcStack_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto code_r0x00016ca4;\n            }\n          }" { (expression_statement "pcStack_30 = pcVar14 + 4;" (assignment_expression "pcStack_30 = pcVar14 + 4" identifier = (binary_expression "pcVar14 + 4" identifier + number_literal)) ;) (expression_statement "uVar12 = _Var15 - 0x30;" (assignment_expression "uVar12 = _Var15 - 0x30" identifier = (binary_expression "_Var15 - 0x30" identifier - number_literal)) ;) (if_statement "if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }" if (parenthesized_expression "((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0)" ( (binary_expression "(*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0" (parenthesized_expression "(*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8)" ( (binary_expression "*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8" (pointer_expression "*(byte *)((int)puVar3 + _Var15 * 2 + 1)" * (cast_expression "(byte *)((int)puVar3 + _Var15 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar3 + _Var15 * 2 + 1)" ( (binary_expression "(int)puVar3 + _Var15 * 2 + 1" (binary_expression "(int)puVar3 + _Var15 * 2" (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "_Var15 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }" { (if_statement "if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }" if (parenthesized_expression "(_Var15 + 0x80U < 0x180)" ( (binary_expression "_Var15 + 0x80U < 0x180" (binary_expression "_Var15 + 0x80U" identifier + number_literal) < number_literal) )) (compound_statement "{\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }" { (expression_statement "pp_Var9 = __ctype_toupper_loc();" (assignment_expression "pp_Var9 = __ctype_toupper_loc()" identifier = (call_expression "__ctype_toupper_loc()" identifier (argument_list "()" ( )))) ;) (expression_statement "_Var15 = (*pp_Var9)[_Var15];" (assignment_expression "_Var15 = (*pp_Var9)[_Var15]" identifier = (subscript_expression "(*pp_Var9)[_Var15]" (parenthesized_expression "(*pp_Var9)" ( (pointer_expression "*pp_Var9" * identifier) )) [ identifier ])) ;) })) (expression_statement "uVar12 = _Var15 - 0x37;" (assignment_expression "uVar12 = _Var15 - 0x37" identifier = (binary_expression "_Var15 - 0x37" identifier - number_literal)) ;) })) (if_statement "if (uVar12 < 9) {\n              uVar12 = uVar12 + uStack_2c * 8;\n              if (pcVar14[4] != '\0') {\n                pcStack_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto code_r0x00016ca4;\n            }" if (parenthesized_expression "(uVar12 < 9)" ( (binary_expression "uVar12 < 9" identifier < number_literal) )) (compound_statement "{\n              uVar12 = uVar12 + uStack_2c * 8;\n              if (pcVar14[4] != '\0') {\n                pcStack_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto code_r0x00016ca4;\n            }" { (expression_statement "uVar12 = uVar12 + uStack_2c * 8;" (assignment_expression "uVar12 = uVar12 + uStack_2c * 8" identifier = (binary_expression "uVar12 + uStack_2c * 8" identifier + (binary_expression "uStack_2c * 8" identifier * number_literal))) ;) (if_statement "if (pcVar14[4] != '\0') {\n                pcStack_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }" if (parenthesized_expression "(pcVar14[4] != '\0')" ( (binary_expression "pcVar14[4] != '\0'" (subscript_expression "pcVar14[4]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                pcStack_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }" { (expression_statement "pcStack_30 = pcVar14 + 5;" (assignment_expression "pcStack_30 = pcVar14 + 5" identifier = (binary_expression "pcVar14 + 5" identifier + number_literal)) ;) (expression_statement "_Var15 = (__int32_t)pcVar14[4];" (assignment_expression "_Var15 = (__int32_t)pcVar14[4]" identifier = (cast_expression "(__int32_t)pcVar14[4]" ( (type_descriptor "__int32_t" type_identifier) ) (subscript_expression "pcVar14[4]" identifier [ number_literal ]))) ;) (expression_statement "uVar11 = _Var15 - 0x30;" (assignment_expression "uVar11 = _Var15 - 0x30" identifier = (binary_expression "_Var15 - 0x30" identifier - number_literal)) ;) (if_statement "if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }" if (parenthesized_expression "((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0)" ( (binary_expression "(*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0" (parenthesized_expression "(*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8)" ( (binary_expression "*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8" (pointer_expression "*(byte *)((int)puVar3 + _Var15 * 2 + 1)" * (cast_expression "(byte *)((int)puVar3 + _Var15 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar3 + _Var15 * 2 + 1)" ( (binary_expression "(int)puVar3 + _Var15 * 2 + 1" (binary_expression "(int)puVar3 + _Var15 * 2" (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "_Var15 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }" { (if_statement "if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }" if (parenthesized_expression "(_Var15 + 0x80U < 0x180)" ( (binary_expression "_Var15 + 0x80U < 0x180" (binary_expression "_Var15 + 0x80U" identifier + number_literal) < number_literal) )) (compound_statement "{\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }" { (expression_statement "pp_Var9 = __ctype_toupper_loc();" (assignment_expression "pp_Var9 = __ctype_toupper_loc()" identifier = (call_expression "__ctype_toupper_loc()" identifier (argument_list "()" ( )))) ;) (expression_statement "_Var15 = (*pp_Var9)[_Var15];" (assignment_expression "_Var15 = (*pp_Var9)[_Var15]" identifier = (subscript_expression "(*pp_Var9)[_Var15]" (parenthesized_expression "(*pp_Var9)" ( (pointer_expression "*pp_Var9" * identifier) )) [ identifier ])) ;) })) (expression_statement "uVar11 = _Var15 - 0x37;" (assignment_expression "uVar11 = _Var15 - 0x37" identifier = (binary_expression "_Var15 - 0x37" identifier - number_literal)) ;) })) (if_statement "if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }" if (parenthesized_expression "(uVar11 < 9)" ( (binary_expression "uVar11 < 9" identifier < number_literal) )) (compound_statement "{\n                  uVar12 = uVar11 + uVar12 * 8;\n                }" { (expression_statement "uVar12 = uVar11 + uVar12 * 8;" (assignment_expression "uVar12 = uVar11 + uVar12 * 8" identifier = (binary_expression "uVar11 + uVar12 * 8" identifier + (binary_expression "uVar12 * 8" identifier * number_literal))) ;) })) })) (goto_statement "goto code_r0x00016ca4;" goto statement_identifier ;) })) })) (expression_statement "uVar12 = uStack_2c & 0xff;" (assignment_expression "uVar12 = uStack_2c & 0xff" identifier = (binary_expression "uStack_2c & 0xff" identifier & number_literal)) ;) }) (else_clause "else {\ncode_r0x00016e6f:\n          pcStack_30 = pcVar14 + 3;\n          uVar12 = 0;\n        }" else (compound_statement "{\ncode_r0x00016e6f:\n          pcStack_30 = pcVar14 + 3;\n          uVar12 = 0;\n        }" { (labeled_statement "code_r0x00016e6f:\n          pcStack_30 = pcVar14 + 3;" statement_identifier : (expression_statement "pcStack_30 = pcVar14 + 3;" (assignment_expression "pcStack_30 = pcVar14 + 3" identifier = (binary_expression "pcVar14 + 3" identifier + number_literal)) ;)) (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) }))) })) (goto_statement "goto code_r0x00016ca4;" goto statement_identifier ;)) (case_statement "default:\n      *pcVar5 = pcVar14[1];\n      break;" default : (expression_statement "*pcVar5 = pcVar14[1];" (assignment_expression "*pcVar5 = pcVar14[1]" (pointer_expression "*pcVar5" * identifier) = (subscript_expression "pcVar14[1]" identifier [ number_literal ])) ;) (break_statement "break;" break ;)) (case_statement "case 'X':" case (char_literal "'X'" ' character ') :) (case_statement "case 'x':\n      local_20[0] = pcVar14 + 2;\n      bVar2 = pcVar14[2];\n      uVar12 = (uint)bVar2;\n      pcStack_30 = local_20[0];\n      if (bVar2 != 0) {\n        pcStack_30 = pcVar14 + 3;\n        uStack_2c = (uint)(char)bVar2;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uVar11 = uStack_2c - 0x30;\n        if ((*(byte *)((int)puVar3 + uStack_2c * 2 + 1) & 8) == 0) {\n          if (uStack_2c + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uStack_2c = (*pp_Var9)[uStack_2c];\n          }\n          uVar11 = uStack_2c - 0x37;\n        }\n        if (0x10 < uVar11) goto code_r0x00016e6f;\n        uVar12 = uVar11;\n        if (pcVar14[3] != '\0') {\n          pcStack_30 = pcVar14 + 4;\n          _Var15 = (__int32_t)pcVar14[3];\n          uVar8 = _Var15 - 0x30;\n          if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }\n          uVar12 = uVar11 * 0x10 + uVar8;\n          if (0x10 < uVar8) {\n            uVar12 = uVar11;\n          }\n        }\n      }\ncode_r0x00016ca4:\n      *pcVar5 = (char)uVar12;\n      local_20[0] = pcStack_30 + -1;\n      break;" case (char_literal "'x'" ' character ') : (expression_statement "local_20[0] = pcVar14 + 2;" (assignment_expression "local_20[0] = pcVar14 + 2" (subscript_expression "local_20[0]" identifier [ number_literal ]) = (binary_expression "pcVar14 + 2" identifier + number_literal)) ;) (expression_statement "bVar2 = pcVar14[2];" (assignment_expression "bVar2 = pcVar14[2]" identifier = (subscript_expression "pcVar14[2]" identifier [ number_literal ])) ;) (expression_statement "uVar12 = (uint)bVar2;" (assignment_expression "uVar12 = (uint)bVar2" identifier = (cast_expression "(uint)bVar2" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "pcStack_30 = local_20[0];" (assignment_expression "pcStack_30 = local_20[0]" identifier = (subscript_expression "local_20[0]" identifier [ number_literal ])) ;) (if_statement "if (bVar2 != 0) {\n        pcStack_30 = pcVar14 + 3;\n        uStack_2c = (uint)(char)bVar2;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uVar11 = uStack_2c - 0x30;\n        if ((*(byte *)((int)puVar3 + uStack_2c * 2 + 1) & 8) == 0) {\n          if (uStack_2c + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uStack_2c = (*pp_Var9)[uStack_2c];\n          }\n          uVar11 = uStack_2c - 0x37;\n        }\n        if (0x10 < uVar11) goto code_r0x00016e6f;\n        uVar12 = uVar11;\n        if (pcVar14[3] != '\0') {\n          pcStack_30 = pcVar14 + 4;\n          _Var15 = (__int32_t)pcVar14[3];\n          uVar8 = _Var15 - 0x30;\n          if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }\n          uVar12 = uVar11 * 0x10 + uVar8;\n          if (0x10 < uVar8) {\n            uVar12 = uVar11;\n          }\n        }\n      }" if (parenthesized_expression "(bVar2 != 0)" ( (binary_expression "bVar2 != 0" identifier != number_literal) )) (compound_statement "{\n        pcStack_30 = pcVar14 + 3;\n        uStack_2c = (uint)(char)bVar2;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uVar11 = uStack_2c - 0x30;\n        if ((*(byte *)((int)puVar3 + uStack_2c * 2 + 1) & 8) == 0) {\n          if (uStack_2c + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uStack_2c = (*pp_Var9)[uStack_2c];\n          }\n          uVar11 = uStack_2c - 0x37;\n        }\n        if (0x10 < uVar11) goto code_r0x00016e6f;\n        uVar12 = uVar11;\n        if (pcVar14[3] != '\0') {\n          pcStack_30 = pcVar14 + 4;\n          _Var15 = (__int32_t)pcVar14[3];\n          uVar8 = _Var15 - 0x30;\n          if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }\n          uVar12 = uVar11 * 0x10 + uVar8;\n          if (0x10 < uVar8) {\n            uVar12 = uVar11;\n          }\n        }\n      }" { (expression_statement "pcStack_30 = pcVar14 + 3;" (assignment_expression "pcStack_30 = pcVar14 + 3" identifier = (binary_expression "pcVar14 + 3" identifier + number_literal)) ;) (expression_statement "uStack_2c = (uint)(char)bVar2;" (assignment_expression "uStack_2c = (uint)(char)bVar2" identifier = (cast_expression "(uint)(char)bVar2" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char)bVar2" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (expression_statement "ppuVar7 = __ctype_b_loc();" (assignment_expression "ppuVar7 = __ctype_b_loc()" identifier = (call_expression "__ctype_b_loc()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar3 = *ppuVar7;" (assignment_expression "puVar3 = *ppuVar7" identifier = (pointer_expression "*ppuVar7" * identifier)) ;) (expression_statement "uVar11 = uStack_2c - 0x30;" (assignment_expression "uVar11 = uStack_2c - 0x30" identifier = (binary_expression "uStack_2c - 0x30" identifier - number_literal)) ;) (if_statement "if ((*(byte *)((int)puVar3 + uStack_2c * 2 + 1) & 8) == 0) {\n          if (uStack_2c + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uStack_2c = (*pp_Var9)[uStack_2c];\n          }\n          uVar11 = uStack_2c - 0x37;\n        }" if (parenthesized_expression "((*(byte *)((int)puVar3 + uStack_2c * 2 + 1) & 8) == 0)" ( (binary_expression "(*(byte *)((int)puVar3 + uStack_2c * 2 + 1) & 8) == 0" (parenthesized_expression "(*(byte *)((int)puVar3 + uStack_2c * 2 + 1) & 8)" ( (binary_expression "*(byte *)((int)puVar3 + uStack_2c * 2 + 1) & 8" (pointer_expression "*(byte *)((int)puVar3 + uStack_2c * 2 + 1)" * (cast_expression "(byte *)((int)puVar3 + uStack_2c * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar3 + uStack_2c * 2 + 1)" ( (binary_expression "(int)puVar3 + uStack_2c * 2 + 1" (binary_expression "(int)puVar3 + uStack_2c * 2" (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "uStack_2c * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n          if (uStack_2c + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uStack_2c = (*pp_Var9)[uStack_2c];\n          }\n          uVar11 = uStack_2c - 0x37;\n        }" { (if_statement "if (uStack_2c + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uStack_2c = (*pp_Var9)[uStack_2c];\n          }" if (parenthesized_expression "(uStack_2c + 0x80 < 0x180)" ( (binary_expression "uStack_2c + 0x80 < 0x180" (binary_expression "uStack_2c + 0x80" identifier + number_literal) < number_literal) )) (compound_statement "{\n            pp_Var9 = __ctype_toupper_loc();\n            uStack_2c = (*pp_Var9)[uStack_2c];\n          }" { (expression_statement "pp_Var9 = __ctype_toupper_loc();" (assignment_expression "pp_Var9 = __ctype_toupper_loc()" identifier = (call_expression "__ctype_toupper_loc()" identifier (argument_list "()" ( )))) ;) (expression_statement "uStack_2c = (*pp_Var9)[uStack_2c];" (assignment_expression "uStack_2c = (*pp_Var9)[uStack_2c]" identifier = (subscript_expression "(*pp_Var9)[uStack_2c]" (parenthesized_expression "(*pp_Var9)" ( (pointer_expression "*pp_Var9" * identifier) )) [ identifier ])) ;) })) (expression_statement "uVar11 = uStack_2c - 0x37;" (assignment_expression "uVar11 = uStack_2c - 0x37" identifier = (binary_expression "uStack_2c - 0x37" identifier - number_literal)) ;) })) (if_statement "if (0x10 < uVar11) goto code_r0x00016e6f;" if (parenthesized_expression "(0x10 < uVar11)" ( (binary_expression "0x10 < uVar11" number_literal < identifier) )) (goto_statement "goto code_r0x00016e6f;" goto statement_identifier ;)) (expression_statement "uVar12 = uVar11;" (assignment_expression "uVar12 = uVar11" identifier = identifier) ;) (if_statement "if (pcVar14[3] != '\0') {\n          pcStack_30 = pcVar14 + 4;\n          _Var15 = (__int32_t)pcVar14[3];\n          uVar8 = _Var15 - 0x30;\n          if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }\n          uVar12 = uVar11 * 0x10 + uVar8;\n          if (0x10 < uVar8) {\n            uVar12 = uVar11;\n          }\n        }" if (parenthesized_expression "(pcVar14[3] != '\0')" ( (binary_expression "pcVar14[3] != '\0'" (subscript_expression "pcVar14[3]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          pcStack_30 = pcVar14 + 4;\n          _Var15 = (__int32_t)pcVar14[3];\n          uVar8 = _Var15 - 0x30;\n          if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }\n          uVar12 = uVar11 * 0x10 + uVar8;\n          if (0x10 < uVar8) {\n            uVar12 = uVar11;\n          }\n        }" { (expression_statement "pcStack_30 = pcVar14 + 4;" (assignment_expression "pcStack_30 = pcVar14 + 4" identifier = (binary_expression "pcVar14 + 4" identifier + number_literal)) ;) (expression_statement "_Var15 = (__int32_t)pcVar14[3];" (assignment_expression "_Var15 = (__int32_t)pcVar14[3]" identifier = (cast_expression "(__int32_t)pcVar14[3]" ( (type_descriptor "__int32_t" type_identifier) ) (subscript_expression "pcVar14[3]" identifier [ number_literal ]))) ;) (expression_statement "uVar8 = _Var15 - 0x30;" (assignment_expression "uVar8 = _Var15 - 0x30" identifier = (binary_expression "_Var15 - 0x30" identifier - number_literal)) ;) (if_statement "if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }" if (parenthesized_expression "((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0)" ( (binary_expression "(*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0" (parenthesized_expression "(*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8)" ( (binary_expression "*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8" (pointer_expression "*(byte *)((int)puVar3 + _Var15 * 2 + 1)" * (cast_expression "(byte *)((int)puVar3 + _Var15 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar3 + _Var15 * 2 + 1)" ( (binary_expression "(int)puVar3 + _Var15 * 2 + 1" (binary_expression "(int)puVar3 + _Var15 * 2" (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "_Var15 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }" { (if_statement "if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }" if (parenthesized_expression "(_Var15 + 0x80U < 0x180)" ( (binary_expression "_Var15 + 0x80U < 0x180" (binary_expression "_Var15 + 0x80U" identifier + number_literal) < number_literal) )) (compound_statement "{\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }" { (expression_statement "pp_Var9 = __ctype_toupper_loc();" (assignment_expression "pp_Var9 = __ctype_toupper_loc()" identifier = (call_expression "__ctype_toupper_loc()" identifier (argument_list "()" ( )))) ;) (expression_statement "_Var15 = (*pp_Var9)[_Var15];" (assignment_expression "_Var15 = (*pp_Var9)[_Var15]" identifier = (subscript_expression "(*pp_Var9)[_Var15]" (parenthesized_expression "(*pp_Var9)" ( (pointer_expression "*pp_Var9" * identifier) )) [ identifier ])) ;) })) (expression_statement "uVar8 = _Var15 - 0x37;" (assignment_expression "uVar8 = _Var15 - 0x37" identifier = (binary_expression "_Var15 - 0x37" identifier - number_literal)) ;) })) (expression_statement "uVar12 = uVar11 * 0x10 + uVar8;" (assignment_expression "uVar12 = uVar11 * 0x10 + uVar8" identifier = (binary_expression "uVar11 * 0x10 + uVar8" (binary_expression "uVar11 * 0x10" identifier * number_literal) + identifier)) ;) (if_statement "if (0x10 < uVar8) {\n            uVar12 = uVar11;\n          }" if (parenthesized_expression "(0x10 < uVar8)" ( (binary_expression "0x10 < uVar8" number_literal < identifier) )) (compound_statement "{\n            uVar12 = uVar11;\n          }" { (expression_statement "uVar12 = uVar11;" (assignment_expression "uVar12 = uVar11" identifier = identifier) ;) })) })) })) (labeled_statement "code_r0x00016ca4:\n      *pcVar5 = (char)uVar12;" statement_identifier : (expression_statement "*pcVar5 = (char)uVar12;" (assignment_expression "*pcVar5 = (char)uVar12" (pointer_expression "*pcVar5" * identifier) = (cast_expression "(char)uVar12" ( (type_descriptor "char" primitive_type) ) identifier)) ;)) (expression_statement "local_20[0] = pcStack_30 + -1;" (assignment_expression "local_20[0] = pcStack_30 + -1" (subscript_expression "local_20[0]" identifier [ number_literal ]) = (binary_expression "pcStack_30 + -1" identifier + number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 'a':\n      *pcVar5 = '\a';\n      break;" case (char_literal "'a'" ' character ') : (expression_statement "*pcVar5 = '\a';" (assignment_expression "*pcVar5 = '\a'" (pointer_expression "*pcVar5" * identifier) = (char_literal "'\a'" ' escape_sequence ')) ;) (break_statement "break;" break ;)) (case_statement "case 'b':\n      *pcVar5 = '\b';\n      break;" case (char_literal "'b'" ' character ') : (expression_statement "*pcVar5 = '\b';" (assignment_expression "*pcVar5 = '\b'" (pointer_expression "*pcVar5" * identifier) = (char_literal "'\b'" ' escape_sequence ')) ;) (break_statement "break;" break ;)) (case_statement "case 'e':\n      *pcVar5 = '\x1b';\n      break;" case (char_literal "'e'" ' character ') : (expression_statement "*pcVar5 = '\x1b';" (assignment_expression "*pcVar5 = '\x1b'" (pointer_expression "*pcVar5" * identifier) = (char_literal "'\x1b'" ' escape_sequence ')) ;) (break_statement "break;" break ;)) (case_statement "case 'f':\n      *pcVar5 = '\f';\n      break;" case (char_literal "'f'" ' character ') : (expression_statement "*pcVar5 = '\f';" (assignment_expression "*pcVar5 = '\f'" (pointer_expression "*pcVar5" * identifier) = (char_literal "'\f'" ' escape_sequence ')) ;) (break_statement "break;" break ;)) (case_statement "case 'n':\n      *pcVar5 = '\n';\n      break;" case (char_literal "'n'" ' character ') : (expression_statement "*pcVar5 = '\n';" (assignment_expression "*pcVar5 = '\n'" (pointer_expression "*pcVar5" * identifier) = (char_literal "'\n'" ' escape_sequence ')) ;) (break_statement "break;" break ;)) (case_statement "case 'r':\n      *pcVar5 = '\r';\n      break;" case (char_literal "'r'" ' character ') : (expression_statement "*pcVar5 = '\r';" (assignment_expression "*pcVar5 = '\r'" (pointer_expression "*pcVar5" * identifier) = (char_literal "'\r'" ' escape_sequence ')) ;) (break_statement "break;" break ;)) (case_statement "case 't':\n      *pcVar5 = '\t';" case (char_literal "'t'" ' character ') : (expression_statement "*pcVar5 = '\t';" (assignment_expression "*pcVar5 = '\t'" (pointer_expression "*pcVar5" * identifier) = (char_literal "'\t'" ' escape_sequence ')) ;)) })) (expression_statement "pcVar13 = pcVar5 + 1;" (assignment_expression "pcVar13 = pcVar5 + 1" identifier = (binary_expression "pcVar5 + 1" identifier + number_literal)) ;) (expression_statement "local_20[0] = local_20[0] + 1;" (assignment_expression "local_20[0] = local_20[0] + 1" (subscript_expression "local_20[0]" identifier [ number_literal ]) = (binary_expression "local_20[0] + 1" (subscript_expression "local_20[0]" identifier [ number_literal ]) + number_literal)) ;) (labeled_statement "LAB_00016abf:\n    cVar1 = *local_20[0];" statement_identifier : (expression_statement "cVar1 = *local_20[0];" (assignment_expression "cVar1 = *local_20[0]" identifier = (pointer_expression "*local_20[0]" * (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;)) (expression_statement "pcVar5 = pcVar13;" (assignment_expression "pcVar5 = pcVar13" identifier = identifier) ;) (expression_statement "pcVar14 = local_20[0];" (assignment_expression "pcVar14 = local_20[0]" identifier = (subscript_expression "local_20[0]" identifier [ number_literal ])) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , LIT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (break_statement break ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) && (parenthesized_expression ( (binary_expression IDENT != (pointer_expression & IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (char_literal ' escape_sequence ')) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , LIT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + IDENT) + LIT) == IDENT) )) (goto_statement goto statement_identifier ;)) })) }) while (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + IDENT) + LIT) != IDENT) )) ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (char_literal ' escape_sequence ')) )) (goto_statement goto 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 ( LIT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) })) (switch_statement switch (parenthesized_expression ( (subscript_expression IDENT [ LIT ]) )) (compound_statement { (case_statement case (char_literal ' character ') : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ IDENT ])) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ IDENT ])) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (char_literal ' escape_sequence ')) )) (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 ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ IDENT ])) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) })) })) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) }))) })) (goto_statement goto statement_identifier ;)) (case_statement default : (expression_statement (assignment_expression (pointer_expression * IDENT) = (subscript_expression IDENT [ LIT ])) ;) (break_statement break ;)) (case_statement case (char_literal ' character ') :) (case_statement case (char_literal ' character ') : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (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) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ IDENT ])) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (char_literal ' escape_sequence ')) )) (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 ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ 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 LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (break_statement break ;)) (case_statement case (char_literal ' character ') : (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' escape_sequence ')) ;) (break_statement break ;)) (case_statement case (char_literal ' character ') : (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' escape_sequence ')) ;) (break_statement break ;)) (case_statement case (char_literal ' character ') : (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' escape_sequence ')) ;) (break_statement break ;)) (case_statement case (char_literal ' character ') : (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' escape_sequence ')) ;) (break_statement break ;)) (case_statement case (char_literal ' character ') : (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' escape_sequence ')) ;) (break_statement break ;)) (case_statement case (char_literal ' character ') : (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' escape_sequence ')) ;) (break_statement break ;)) (case_statement case (char_literal ' character ') : (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' escape_sequence ')) ;)) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (subscript_expression IDENT [ LIT ]))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }) while (parenthesized_expression ( BOOL )) ;) })))
(function_definition "void __regparm3 FUN_00016a40(char *param_1,undefined4 *param_2)\n\n{\n  char cVar1;\n  byte bVar2;\n  ushort *puVar3;\n  undefined4 uVar4;\n  char *pcVar5;\n  long lVar6;\n  ushort **ppuVar7;\n  uint uVar8;\n  __int32_t **pp_Var9;\n  int iVar10;\n  uint uVar11;\n  uint uVar12;\n  char *pcVar13;\n  __int32_t _Var15;\n  char *pcStack_30;\n  uint uStack_2c;\n  char *local_20 [3];\n  undefined4 uStack_14;\n  char *pcVar14;\n  \n  iVar10 = 0x36;\n  uStack_14 = 0x16a4e;\n  pcVar5 = &DAT_0003b8c0;\n  while (iVar10 != 0) {\n    iVar10 = iVar10 + -1;\n    builtin_strncpy(pcVar5,"    ",4);\n    pcVar5 = pcVar5 + 4;\n  }\n  DAT_0003b997 = 0;\n  cVar1 = *param_1;\n  pcVar5 = &DAT_0003b8c0;\n  pcVar14 = param_1;\n  do {\n    while( true ) {\n      if (cVar1 == '\0') {\n        *pcVar5 = '\0';\n        local_20[0] = pcVar14;\n        pcVar5 = strdup(&DAT_0003b8c0);\n        *param_2 = pcVar5;\n        return;\n      }\n      pcVar13 = pcVar14 + 1;\n      local_20[0] = pcVar13;\n      if (cVar1 == '\\') break;\n      if ((cVar1 == 'x') && (pcVar5 != &DAT_0003b8c0)) {\n        local_20[0] = pcVar14;\n        lVar6 = strtol(pcVar13,local_20,10);\n        cVar1 = pcVar5[-1];\n        pcVar14 = pcVar5;\n        pcVar13 = pcVar5;\n        if (1 < lVar6) {\n          do {\n            while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }\n          } while (pcVar5 + lVar6 + -1 != pcVar13);\n        }\n        goto LAB_00016abf;\n      }\n      pcVar13 = pcVar5 + 1;\n      *pcVar5 = *pcVar14;\n      if (pcVar5[1] != '\0') goto LAB_00016abf;\n      uVar4 = dcgettext(0,"level indent string is too long",5);\n      error(3,0,uVar4);\n      cVar1 = *local_20[0];\n      pcVar5 = pcVar13;\n      pcVar14 = local_20[0];\n    }\n    switch(pcVar14[1]) {\n    case '0':\n      pcStack_30 = pcVar14 + 2;\n      uVar12 = (uint)pcVar14[2];\n      if (pcVar14[2] != '\0') {\n        local_20[0] = pcStack_30;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uStack_2c = uVar12 - 0x30;\n        if ((*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0) {\n          if (uVar12 + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }\n          uStack_2c = uVar12 - 0x37;\n        }\n        if (uStack_2c < 9) {\n          _Var15 = (__int32_t)pcVar14[3];\n          pcStack_30 = pcVar14 + 3;\n          if (pcVar14[3] != '\0') {\n            pcStack_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + uStack_2c * 8;\n              if (pcVar14[4] != '\0') {\n                pcStack_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto code_r0x00016ca4;\n            }\n          }\n          uVar12 = uStack_2c & 0xff;\n        }\n        else {\ncode_r0x00016e6f:\n          pcStack_30 = pcVar14 + 3;\n          uVar12 = 0;\n        }\n      }\n      goto code_r0x00016ca4;\n    default:\n      *pcVar5 = pcVar14[1];\n      break;\n    case 'X':\n    case 'x':\n      local_20[0] = pcVar14 + 2;\n      bVar2 = pcVar14[2];\n      uVar12 = (uint)bVar2;\n      pcStack_30 = local_20[0];\n      if (bVar2 != 0) {\n        pcStack_30 = pcVar14 + 3;\n        uStack_2c = (uint)(char)bVar2;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uVar11 = uStack_2c - 0x30;\n        if ((*(byte *)((int)puVar3 + uStack_2c * 2 + 1) & 8) == 0) {\n          if (uStack_2c + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uStack_2c = (*pp_Var9)[uStack_2c];\n          }\n          uVar11 = uStack_2c - 0x37;\n        }\n        if (0x10 < uVar11) goto code_r0x00016e6f;\n        uVar12 = uVar11;\n        if (pcVar14[3] != '\0') {\n          pcStack_30 = pcVar14 + 4;\n          _Var15 = (__int32_t)pcVar14[3];\n          uVar8 = _Var15 - 0x30;\n          if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }\n          uVar12 = uVar11 * 0x10 + uVar8;\n          if (0x10 < uVar8) {\n            uVar12 = uVar11;\n          }\n        }\n      }\ncode_r0x00016ca4:\n      *pcVar5 = (char)uVar12;\n      local_20[0] = pcStack_30 + -1;\n      break;\n    case 'a':\n      *pcVar5 = '\a';\n      break;\n    case 'b':\n      *pcVar5 = '\b';\n      break;\n    case 'e':\n      *pcVar5 = '\x1b';\n      break;\n    case 'f':\n      *pcVar5 = '\f';\n      break;\n    case 'n':\n      *pcVar5 = '\n';\n      break;\n    case 'r':\n      *pcVar5 = '\r';\n      break;\n    case 't':\n      *pcVar5 = '\t';\n    }\n    pcVar13 = pcVar5 + 1;\n    local_20[0] = local_20[0] + 1;\nLAB_00016abf:\n    cVar1 = *local_20[0];\n    pcVar5 = pcVar13;\n    pcVar14 = local_20[0];\n  } while( true );\n}" (primitive_type "void") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_00016a40(char *param_1,undefined4 *param_2)" (identifier "FUN_00016a40") (parameter_list "(char *param_1,undefined4 *param_2)" (( "(") (parameter_declaration "char *param_1" (primitive_type "char") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined4 *param_2" (type_identifier "undefined4") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) () ")"))) (compound_statement "{\n  char cVar1;\n  byte bVar2;\n  ushort *puVar3;\n  undefined4 uVar4;\n  char *pcVar5;\n  long lVar6;\n  ushort **ppuVar7;\n  uint uVar8;\n  __int32_t **pp_Var9;\n  int iVar10;\n  uint uVar11;\n  uint uVar12;\n  char *pcVar13;\n  __int32_t _Var15;\n  char *pcStack_30;\n  uint uStack_2c;\n  char *local_20 [3];\n  undefined4 uStack_14;\n  char *pcVar14;\n  \n  iVar10 = 0x36;\n  uStack_14 = 0x16a4e;\n  pcVar5 = &DAT_0003b8c0;\n  while (iVar10 != 0) {\n    iVar10 = iVar10 + -1;\n    builtin_strncpy(pcVar5,"    ",4);\n    pcVar5 = pcVar5 + 4;\n  }\n  DAT_0003b997 = 0;\n  cVar1 = *param_1;\n  pcVar5 = &DAT_0003b8c0;\n  pcVar14 = param_1;\n  do {\n    while( true ) {\n      if (cVar1 == '\0') {\n        *pcVar5 = '\0';\n        local_20[0] = pcVar14;\n        pcVar5 = strdup(&DAT_0003b8c0);\n        *param_2 = pcVar5;\n        return;\n      }\n      pcVar13 = pcVar14 + 1;\n      local_20[0] = pcVar13;\n      if (cVar1 == '\\') break;\n      if ((cVar1 == 'x') && (pcVar5 != &DAT_0003b8c0)) {\n        local_20[0] = pcVar14;\n        lVar6 = strtol(pcVar13,local_20,10);\n        cVar1 = pcVar5[-1];\n        pcVar14 = pcVar5;\n        pcVar13 = pcVar5;\n        if (1 < lVar6) {\n          do {\n            while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }\n          } while (pcVar5 + lVar6 + -1 != pcVar13);\n        }\n        goto LAB_00016abf;\n      }\n      pcVar13 = pcVar5 + 1;\n      *pcVar5 = *pcVar14;\n      if (pcVar5[1] != '\0') goto LAB_00016abf;\n      uVar4 = dcgettext(0,"level indent string is too long",5);\n      error(3,0,uVar4);\n      cVar1 = *local_20[0];\n      pcVar5 = pcVar13;\n      pcVar14 = local_20[0];\n    }\n    switch(pcVar14[1]) {\n    case '0':\n      pcStack_30 = pcVar14 + 2;\n      uVar12 = (uint)pcVar14[2];\n      if (pcVar14[2] != '\0') {\n        local_20[0] = pcStack_30;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uStack_2c = uVar12 - 0x30;\n        if ((*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0) {\n          if (uVar12 + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }\n          uStack_2c = uVar12 - 0x37;\n        }\n        if (uStack_2c < 9) {\n          _Var15 = (__int32_t)pcVar14[3];\n          pcStack_30 = pcVar14 + 3;\n          if (pcVar14[3] != '\0') {\n            pcStack_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + uStack_2c * 8;\n              if (pcVar14[4] != '\0') {\n                pcStack_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto code_r0x00016ca4;\n            }\n          }\n          uVar12 = uStack_2c & 0xff;\n        }\n        else {\ncode_r0x00016e6f:\n          pcStack_30 = pcVar14 + 3;\n          uVar12 = 0;\n        }\n      }\n      goto code_r0x00016ca4;\n    default:\n      *pcVar5 = pcVar14[1];\n      break;\n    case 'X':\n    case 'x':\n      local_20[0] = pcVar14 + 2;\n      bVar2 = pcVar14[2];\n      uVar12 = (uint)bVar2;\n      pcStack_30 = local_20[0];\n      if (bVar2 != 0) {\n        pcStack_30 = pcVar14 + 3;\n        uStack_2c = (uint)(char)bVar2;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uVar11 = uStack_2c - 0x30;\n        if ((*(byte *)((int)puVar3 + uStack_2c * 2 + 1) & 8) == 0) {\n          if (uStack_2c + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uStack_2c = (*pp_Var9)[uStack_2c];\n          }\n          uVar11 = uStack_2c - 0x37;\n        }\n        if (0x10 < uVar11) goto code_r0x00016e6f;\n        uVar12 = uVar11;\n        if (pcVar14[3] != '\0') {\n          pcStack_30 = pcVar14 + 4;\n          _Var15 = (__int32_t)pcVar14[3];\n          uVar8 = _Var15 - 0x30;\n          if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }\n          uVar12 = uVar11 * 0x10 + uVar8;\n          if (0x10 < uVar8) {\n            uVar12 = uVar11;\n          }\n        }\n      }\ncode_r0x00016ca4:\n      *pcVar5 = (char)uVar12;\n      local_20[0] = pcStack_30 + -1;\n      break;\n    case 'a':\n      *pcVar5 = '\a';\n      break;\n    case 'b':\n      *pcVar5 = '\b';\n      break;\n    case 'e':\n      *pcVar5 = '\x1b';\n      break;\n    case 'f':\n      *pcVar5 = '\f';\n      break;\n    case 'n':\n      *pcVar5 = '\n';\n      break;\n    case 'r':\n      *pcVar5 = '\r';\n      break;\n    case 't':\n      *pcVar5 = '\t';\n    }\n    pcVar13 = pcVar5 + 1;\n    local_20[0] = local_20[0] + 1;\nLAB_00016abf:\n    cVar1 = *local_20[0];\n    pcVar5 = pcVar13;\n    pcVar14 = local_20[0];\n  } while( true );\n}" ({ "{") (declaration "char cVar1;" (primitive_type "char") (identifier "cVar1") (; ";")) (declaration "byte bVar2;" (type_identifier "byte") (identifier "bVar2") (; ";")) (declaration "ushort *puVar3;" (type_identifier "ushort") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "undefined4 uVar4;" (type_identifier "undefined4") (identifier "uVar4") (; ";")) (declaration "char *pcVar5;" (primitive_type "char") (pointer_declarator "*pcVar5" (* "*") (identifier "pcVar5")) (; ";")) (declaration "long lVar6;" (sized_type_specifier "long" (long "long")) (identifier "lVar6") (; ";")) (declaration "ushort **ppuVar7;" (type_identifier "ushort") (pointer_declarator "**ppuVar7" (* "*") (pointer_declarator "*ppuVar7" (* "*") (identifier "ppuVar7"))) (; ";")) (declaration "uint uVar8;" (type_identifier "uint") (identifier "uVar8") (; ";")) (declaration "__int32_t **pp_Var9;" (type_identifier "__int32_t") (pointer_declarator "**pp_Var9" (* "*") (pointer_declarator "*pp_Var9" (* "*") (identifier "pp_Var9"))) (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "uint uVar11;" (type_identifier "uint") (identifier "uVar11") (; ";")) (declaration "uint uVar12;" (type_identifier "uint") (identifier "uVar12") (; ";")) (declaration "char *pcVar13;" (primitive_type "char") (pointer_declarator "*pcVar13" (* "*") (identifier "pcVar13")) (; ";")) (declaration "__int32_t _Var15;" (type_identifier "__int32_t") (identifier "_Var15") (; ";")) (declaration "char *pcStack_30;" (primitive_type "char") (pointer_declarator "*pcStack_30" (* "*") (identifier "pcStack_30")) (; ";")) (declaration "uint uStack_2c;" (type_identifier "uint") (identifier "uStack_2c") (; ";")) (declaration "char *local_20 [3];" (primitive_type "char") (pointer_declarator "*local_20 [3]" (* "*") (array_declarator "local_20 [3]" (identifier "local_20") ([ "[") (number_literal "3") (] "]"))) (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (declaration "char *pcVar14;" (primitive_type "char") (pointer_declarator "*pcVar14" (* "*") (identifier "pcVar14")) (; ";")) (expression_statement "iVar10 = 0x36;" (assignment_expression "iVar10 = 0x36" (identifier "iVar10") (= "=") (number_literal "0x36")) (; ";")) (expression_statement "uStack_14 = 0x16a4e;" (assignment_expression "uStack_14 = 0x16a4e" (identifier "uStack_14") (= "=") (number_literal "0x16a4e")) (; ";")) (expression_statement "pcVar5 = &DAT_0003b8c0;" (assignment_expression "pcVar5 = &DAT_0003b8c0" (identifier "pcVar5") (= "=") (pointer_expression "&DAT_0003b8c0" (& "&") (identifier "DAT_0003b8c0"))) (; ";")) (while_statement "while (iVar10 != 0) {\n    iVar10 = iVar10 + -1;\n    builtin_strncpy(pcVar5,"    ",4);\n    pcVar5 = pcVar5 + 4;\n  }" (while "while") (parenthesized_expression "(iVar10 != 0)" (( "(") (binary_expression "iVar10 != 0" (identifier "iVar10") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    iVar10 = iVar10 + -1;\n    builtin_strncpy(pcVar5,"    ",4);\n    pcVar5 = pcVar5 + 4;\n  }" ({ "{") (expression_statement "iVar10 = iVar10 + -1;" (assignment_expression "iVar10 = iVar10 + -1" (identifier "iVar10") (= "=") (binary_expression "iVar10 + -1" (identifier "iVar10") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "builtin_strncpy(pcVar5,"    ",4);" (call_expression "builtin_strncpy(pcVar5,"    ",4)" (identifier "builtin_strncpy") (argument_list "(pcVar5,"    ",4)" (( "(") (identifier "pcVar5") (, ",") (string_literal ""    "" (" """) (string_content "    ") (" """)) (, ",") (number_literal "4") () ")"))) (; ";")) (expression_statement "pcVar5 = pcVar5 + 4;" (assignment_expression "pcVar5 = pcVar5 + 4" (identifier "pcVar5") (= "=") (binary_expression "pcVar5 + 4" (identifier "pcVar5") (+ "+") (number_literal "4"))) (; ";")) (} "}"))) (expression_statement "DAT_0003b997 = 0;" (assignment_expression "DAT_0003b997 = 0" (identifier "DAT_0003b997") (= "=") (number_literal "0")) (; ";")) (expression_statement "cVar1 = *param_1;" (assignment_expression "cVar1 = *param_1" (identifier "cVar1") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "pcVar5 = &DAT_0003b8c0;" (assignment_expression "pcVar5 = &DAT_0003b8c0" (identifier "pcVar5") (= "=") (pointer_expression "&DAT_0003b8c0" (& "&") (identifier "DAT_0003b8c0"))) (; ";")) (expression_statement "pcVar14 = param_1;" (assignment_expression "pcVar14 = param_1" (identifier "pcVar14") (= "=") (identifier "param_1")) (; ";")) (do_statement "do {\n    while( true ) {\n      if (cVar1 == '\0') {\n        *pcVar5 = '\0';\n        local_20[0] = pcVar14;\n        pcVar5 = strdup(&DAT_0003b8c0);\n        *param_2 = pcVar5;\n        return;\n      }\n      pcVar13 = pcVar14 + 1;\n      local_20[0] = pcVar13;\n      if (cVar1 == '\\') break;\n      if ((cVar1 == 'x') && (pcVar5 != &DAT_0003b8c0)) {\n        local_20[0] = pcVar14;\n        lVar6 = strtol(pcVar13,local_20,10);\n        cVar1 = pcVar5[-1];\n        pcVar14 = pcVar5;\n        pcVar13 = pcVar5;\n        if (1 < lVar6) {\n          do {\n            while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }\n          } while (pcVar5 + lVar6 + -1 != pcVar13);\n        }\n        goto LAB_00016abf;\n      }\n      pcVar13 = pcVar5 + 1;\n      *pcVar5 = *pcVar14;\n      if (pcVar5[1] != '\0') goto LAB_00016abf;\n      uVar4 = dcgettext(0,"level indent string is too long",5);\n      error(3,0,uVar4);\n      cVar1 = *local_20[0];\n      pcVar5 = pcVar13;\n      pcVar14 = local_20[0];\n    }\n    switch(pcVar14[1]) {\n    case '0':\n      pcStack_30 = pcVar14 + 2;\n      uVar12 = (uint)pcVar14[2];\n      if (pcVar14[2] != '\0') {\n        local_20[0] = pcStack_30;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uStack_2c = uVar12 - 0x30;\n        if ((*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0) {\n          if (uVar12 + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }\n          uStack_2c = uVar12 - 0x37;\n        }\n        if (uStack_2c < 9) {\n          _Var15 = (__int32_t)pcVar14[3];\n          pcStack_30 = pcVar14 + 3;\n          if (pcVar14[3] != '\0') {\n            pcStack_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + uStack_2c * 8;\n              if (pcVar14[4] != '\0') {\n                pcStack_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto code_r0x00016ca4;\n            }\n          }\n          uVar12 = uStack_2c & 0xff;\n        }\n        else {\ncode_r0x00016e6f:\n          pcStack_30 = pcVar14 + 3;\n          uVar12 = 0;\n        }\n      }\n      goto code_r0x00016ca4;\n    default:\n      *pcVar5 = pcVar14[1];\n      break;\n    case 'X':\n    case 'x':\n      local_20[0] = pcVar14 + 2;\n      bVar2 = pcVar14[2];\n      uVar12 = (uint)bVar2;\n      pcStack_30 = local_20[0];\n      if (bVar2 != 0) {\n        pcStack_30 = pcVar14 + 3;\n        uStack_2c = (uint)(char)bVar2;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uVar11 = uStack_2c - 0x30;\n        if ((*(byte *)((int)puVar3 + uStack_2c * 2 + 1) & 8) == 0) {\n          if (uStack_2c + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uStack_2c = (*pp_Var9)[uStack_2c];\n          }\n          uVar11 = uStack_2c - 0x37;\n        }\n        if (0x10 < uVar11) goto code_r0x00016e6f;\n        uVar12 = uVar11;\n        if (pcVar14[3] != '\0') {\n          pcStack_30 = pcVar14 + 4;\n          _Var15 = (__int32_t)pcVar14[3];\n          uVar8 = _Var15 - 0x30;\n          if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }\n          uVar12 = uVar11 * 0x10 + uVar8;\n          if (0x10 < uVar8) {\n            uVar12 = uVar11;\n          }\n        }\n      }\ncode_r0x00016ca4:\n      *pcVar5 = (char)uVar12;\n      local_20[0] = pcStack_30 + -1;\n      break;\n    case 'a':\n      *pcVar5 = '\a';\n      break;\n    case 'b':\n      *pcVar5 = '\b';\n      break;\n    case 'e':\n      *pcVar5 = '\x1b';\n      break;\n    case 'f':\n      *pcVar5 = '\f';\n      break;\n    case 'n':\n      *pcVar5 = '\n';\n      break;\n    case 'r':\n      *pcVar5 = '\r';\n      break;\n    case 't':\n      *pcVar5 = '\t';\n    }\n    pcVar13 = pcVar5 + 1;\n    local_20[0] = local_20[0] + 1;\nLAB_00016abf:\n    cVar1 = *local_20[0];\n    pcVar5 = pcVar13;\n    pcVar14 = local_20[0];\n  } while( true );" (do "do") (compound_statement "{\n    while( true ) {\n      if (cVar1 == '\0') {\n        *pcVar5 = '\0';\n        local_20[0] = pcVar14;\n        pcVar5 = strdup(&DAT_0003b8c0);\n        *param_2 = pcVar5;\n        return;\n      }\n      pcVar13 = pcVar14 + 1;\n      local_20[0] = pcVar13;\n      if (cVar1 == '\\') break;\n      if ((cVar1 == 'x') && (pcVar5 != &DAT_0003b8c0)) {\n        local_20[0] = pcVar14;\n        lVar6 = strtol(pcVar13,local_20,10);\n        cVar1 = pcVar5[-1];\n        pcVar14 = pcVar5;\n        pcVar13 = pcVar5;\n        if (1 < lVar6) {\n          do {\n            while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }\n          } while (pcVar5 + lVar6 + -1 != pcVar13);\n        }\n        goto LAB_00016abf;\n      }\n      pcVar13 = pcVar5 + 1;\n      *pcVar5 = *pcVar14;\n      if (pcVar5[1] != '\0') goto LAB_00016abf;\n      uVar4 = dcgettext(0,"level indent string is too long",5);\n      error(3,0,uVar4);\n      cVar1 = *local_20[0];\n      pcVar5 = pcVar13;\n      pcVar14 = local_20[0];\n    }\n    switch(pcVar14[1]) {\n    case '0':\n      pcStack_30 = pcVar14 + 2;\n      uVar12 = (uint)pcVar14[2];\n      if (pcVar14[2] != '\0') {\n        local_20[0] = pcStack_30;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uStack_2c = uVar12 - 0x30;\n        if ((*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0) {\n          if (uVar12 + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }\n          uStack_2c = uVar12 - 0x37;\n        }\n        if (uStack_2c < 9) {\n          _Var15 = (__int32_t)pcVar14[3];\n          pcStack_30 = pcVar14 + 3;\n          if (pcVar14[3] != '\0') {\n            pcStack_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + uStack_2c * 8;\n              if (pcVar14[4] != '\0') {\n                pcStack_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto code_r0x00016ca4;\n            }\n          }\n          uVar12 = uStack_2c & 0xff;\n        }\n        else {\ncode_r0x00016e6f:\n          pcStack_30 = pcVar14 + 3;\n          uVar12 = 0;\n        }\n      }\n      goto code_r0x00016ca4;\n    default:\n      *pcVar5 = pcVar14[1];\n      break;\n    case 'X':\n    case 'x':\n      local_20[0] = pcVar14 + 2;\n      bVar2 = pcVar14[2];\n      uVar12 = (uint)bVar2;\n      pcStack_30 = local_20[0];\n      if (bVar2 != 0) {\n        pcStack_30 = pcVar14 + 3;\n        uStack_2c = (uint)(char)bVar2;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uVar11 = uStack_2c - 0x30;\n        if ((*(byte *)((int)puVar3 + uStack_2c * 2 + 1) & 8) == 0) {\n          if (uStack_2c + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uStack_2c = (*pp_Var9)[uStack_2c];\n          }\n          uVar11 = uStack_2c - 0x37;\n        }\n        if (0x10 < uVar11) goto code_r0x00016e6f;\n        uVar12 = uVar11;\n        if (pcVar14[3] != '\0') {\n          pcStack_30 = pcVar14 + 4;\n          _Var15 = (__int32_t)pcVar14[3];\n          uVar8 = _Var15 - 0x30;\n          if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }\n          uVar12 = uVar11 * 0x10 + uVar8;\n          if (0x10 < uVar8) {\n            uVar12 = uVar11;\n          }\n        }\n      }\ncode_r0x00016ca4:\n      *pcVar5 = (char)uVar12;\n      local_20[0] = pcStack_30 + -1;\n      break;\n    case 'a':\n      *pcVar5 = '\a';\n      break;\n    case 'b':\n      *pcVar5 = '\b';\n      break;\n    case 'e':\n      *pcVar5 = '\x1b';\n      break;\n    case 'f':\n      *pcVar5 = '\f';\n      break;\n    case 'n':\n      *pcVar5 = '\n';\n      break;\n    case 'r':\n      *pcVar5 = '\r';\n      break;\n    case 't':\n      *pcVar5 = '\t';\n    }\n    pcVar13 = pcVar5 + 1;\n    local_20[0] = local_20[0] + 1;\nLAB_00016abf:\n    cVar1 = *local_20[0];\n    pcVar5 = pcVar13;\n    pcVar14 = local_20[0];\n  }" ({ "{") (while_statement "while( true ) {\n      if (cVar1 == '\0') {\n        *pcVar5 = '\0';\n        local_20[0] = pcVar14;\n        pcVar5 = strdup(&DAT_0003b8c0);\n        *param_2 = pcVar5;\n        return;\n      }\n      pcVar13 = pcVar14 + 1;\n      local_20[0] = pcVar13;\n      if (cVar1 == '\\') break;\n      if ((cVar1 == 'x') && (pcVar5 != &DAT_0003b8c0)) {\n        local_20[0] = pcVar14;\n        lVar6 = strtol(pcVar13,local_20,10);\n        cVar1 = pcVar5[-1];\n        pcVar14 = pcVar5;\n        pcVar13 = pcVar5;\n        if (1 < lVar6) {\n          do {\n            while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }\n          } while (pcVar5 + lVar6 + -1 != pcVar13);\n        }\n        goto LAB_00016abf;\n      }\n      pcVar13 = pcVar5 + 1;\n      *pcVar5 = *pcVar14;\n      if (pcVar5[1] != '\0') goto LAB_00016abf;\n      uVar4 = dcgettext(0,"level indent string is too long",5);\n      error(3,0,uVar4);\n      cVar1 = *local_20[0];\n      pcVar5 = pcVar13;\n      pcVar14 = local_20[0];\n    }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n      if (cVar1 == '\0') {\n        *pcVar5 = '\0';\n        local_20[0] = pcVar14;\n        pcVar5 = strdup(&DAT_0003b8c0);\n        *param_2 = pcVar5;\n        return;\n      }\n      pcVar13 = pcVar14 + 1;\n      local_20[0] = pcVar13;\n      if (cVar1 == '\\') break;\n      if ((cVar1 == 'x') && (pcVar5 != &DAT_0003b8c0)) {\n        local_20[0] = pcVar14;\n        lVar6 = strtol(pcVar13,local_20,10);\n        cVar1 = pcVar5[-1];\n        pcVar14 = pcVar5;\n        pcVar13 = pcVar5;\n        if (1 < lVar6) {\n          do {\n            while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }\n          } while (pcVar5 + lVar6 + -1 != pcVar13);\n        }\n        goto LAB_00016abf;\n      }\n      pcVar13 = pcVar5 + 1;\n      *pcVar5 = *pcVar14;\n      if (pcVar5[1] != '\0') goto LAB_00016abf;\n      uVar4 = dcgettext(0,"level indent string is too long",5);\n      error(3,0,uVar4);\n      cVar1 = *local_20[0];\n      pcVar5 = pcVar13;\n      pcVar14 = local_20[0];\n    }" ({ "{") (if_statement "if (cVar1 == '\0') {\n        *pcVar5 = '\0';\n        local_20[0] = pcVar14;\n        pcVar5 = strdup(&DAT_0003b8c0);\n        *param_2 = pcVar5;\n        return;\n      }" (if "if") (parenthesized_expression "(cVar1 == '\0')" (( "(") (binary_expression "cVar1 == '\0'" (identifier "cVar1") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        *pcVar5 = '\0';\n        local_20[0] = pcVar14;\n        pcVar5 = strdup(&DAT_0003b8c0);\n        *param_2 = pcVar5;\n        return;\n      }" ({ "{") (expression_statement "*pcVar5 = '\0';" (assignment_expression "*pcVar5 = '\0'" (pointer_expression "*pcVar5" (* "*") (identifier "pcVar5")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "local_20[0] = pcVar14;" (assignment_expression "local_20[0] = pcVar14" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "pcVar14")) (; ";")) (expression_statement "pcVar5 = strdup(&DAT_0003b8c0);" (assignment_expression "pcVar5 = strdup(&DAT_0003b8c0)" (identifier "pcVar5") (= "=") (call_expression "strdup(&DAT_0003b8c0)" (identifier "strdup") (argument_list "(&DAT_0003b8c0)" (( "(") (pointer_expression "&DAT_0003b8c0" (& "&") (identifier "DAT_0003b8c0")) () ")")))) (; ";")) (expression_statement "*param_2 = pcVar5;" (assignment_expression "*param_2 = pcVar5" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (= "=") (identifier "pcVar5")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "pcVar13 = pcVar14 + 1;" (assignment_expression "pcVar13 = pcVar14 + 1" (identifier "pcVar13") (= "=") (binary_expression "pcVar14 + 1" (identifier "pcVar14") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_20[0] = pcVar13;" (assignment_expression "local_20[0] = pcVar13" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "pcVar13")) (; ";")) (if_statement "if (cVar1 == '\\') break;" (if "if") (parenthesized_expression "(cVar1 == '\\')" (( "(") (binary_expression "cVar1 == '\\'" (identifier "cVar1") (== "==") (char_literal "'\\'" (' "'") (escape_sequence "\\") (' "'"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (if_statement "if ((cVar1 == 'x') && (pcVar5 != &DAT_0003b8c0)) {\n        local_20[0] = pcVar14;\n        lVar6 = strtol(pcVar13,local_20,10);\n        cVar1 = pcVar5[-1];\n        pcVar14 = pcVar5;\n        pcVar13 = pcVar5;\n        if (1 < lVar6) {\n          do {\n            while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }\n          } while (pcVar5 + lVar6 + -1 != pcVar13);\n        }\n        goto LAB_00016abf;\n      }" (if "if") (parenthesized_expression "((cVar1 == 'x') && (pcVar5 != &DAT_0003b8c0))" (( "(") (binary_expression "(cVar1 == 'x') && (pcVar5 != &DAT_0003b8c0)" (parenthesized_expression "(cVar1 == 'x')" (( "(") (binary_expression "cVar1 == 'x'" (identifier "cVar1") (== "==") (char_literal "'x'" (' "'") (character "x") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(pcVar5 != &DAT_0003b8c0)" (( "(") (binary_expression "pcVar5 != &DAT_0003b8c0" (identifier "pcVar5") (!= "!=") (pointer_expression "&DAT_0003b8c0" (& "&") (identifier "DAT_0003b8c0"))) () ")"))) () ")")) (compound_statement "{\n        local_20[0] = pcVar14;\n        lVar6 = strtol(pcVar13,local_20,10);\n        cVar1 = pcVar5[-1];\n        pcVar14 = pcVar5;\n        pcVar13 = pcVar5;\n        if (1 < lVar6) {\n          do {\n            while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }\n          } while (pcVar5 + lVar6 + -1 != pcVar13);\n        }\n        goto LAB_00016abf;\n      }" ({ "{") (expression_statement "local_20[0] = pcVar14;" (assignment_expression "local_20[0] = pcVar14" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "pcVar14")) (; ";")) (expression_statement "lVar6 = strtol(pcVar13,local_20,10);" (assignment_expression "lVar6 = strtol(pcVar13,local_20,10)" (identifier "lVar6") (= "=") (call_expression "strtol(pcVar13,local_20,10)" (identifier "strtol") (argument_list "(pcVar13,local_20,10)" (( "(") (identifier "pcVar13") (, ",") (identifier "local_20") (, ",") (number_literal "10") () ")")))) (; ";")) (expression_statement "cVar1 = pcVar5[-1];" (assignment_expression "cVar1 = pcVar5[-1]" (identifier "cVar1") (= "=") (subscript_expression "pcVar5[-1]" (identifier "pcVar5") ([ "[") (number_literal "-1") (] "]"))) (; ";")) (expression_statement "pcVar14 = pcVar5;" (assignment_expression "pcVar14 = pcVar5" (identifier "pcVar14") (= "=") (identifier "pcVar5")) (; ";")) (expression_statement "pcVar13 = pcVar5;" (assignment_expression "pcVar13 = pcVar5" (identifier "pcVar13") (= "=") (identifier "pcVar5")) (; ";")) (if_statement "if (1 < lVar6) {\n          do {\n            while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }\n          } while (pcVar5 + lVar6 + -1 != pcVar13);\n        }" (if "if") (parenthesized_expression "(1 < lVar6)" (( "(") (binary_expression "1 < lVar6" (number_literal "1") (< "<") (identifier "lVar6")) () ")")) (compound_statement "{\n          do {\n            while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }\n          } while (pcVar5 + lVar6 + -1 != pcVar13);\n        }" ({ "{") (do_statement "do {\n            while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }\n          } while (pcVar5 + lVar6 + -1 != pcVar13);" (do "do") (compound_statement "{\n            while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }\n          }" ({ "{") (while_statement "while( true ) {\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n              pcVar13 = pcVar14 + 1;\n              *pcVar14 = cVar1;\n              pcVar14 = pcVar13;\n              if (*pcVar13 != '\0') break;\n              uVar4 = dcgettext(0,"level indent string is too long",5);\n              error(3,0,uVar4);\n              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;\n            }" ({ "{") (expression_statement "pcVar13 = pcVar14 + 1;" (assignment_expression "pcVar13 = pcVar14 + 1" (identifier "pcVar13") (= "=") (binary_expression "pcVar14 + 1" (identifier "pcVar14") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*pcVar14 = cVar1;" (assignment_expression "*pcVar14 = cVar1" (pointer_expression "*pcVar14" (* "*") (identifier "pcVar14")) (= "=") (identifier "cVar1")) (; ";")) (expression_statement "pcVar14 = pcVar13;" (assignment_expression "pcVar14 = pcVar13" (identifier "pcVar14") (= "=") (identifier "pcVar13")) (; ";")) (if_statement "if (*pcVar13 != '\0') break;" (if "if") (parenthesized_expression "(*pcVar13 != '\0')" (( "(") (binary_expression "*pcVar13 != '\0'" (pointer_expression "*pcVar13" (* "*") (identifier "pcVar13")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar4 = dcgettext(0,"level indent string is too long",5);" (assignment_expression "uVar4 = dcgettext(0,"level indent string is too long",5)" (identifier "uVar4") (= "=") (call_expression "dcgettext(0,"level indent string is too long",5)" (identifier "dcgettext") (argument_list "(0,"level indent string is too long",5)" (( "(") (number_literal "0") (, ",") (string_literal ""level indent string is too long"" (" """) (string_content "level indent string is too long") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "error(3,0,uVar4);" (call_expression "error(3,0,uVar4)" (identifier "error") (argument_list "(3,0,uVar4)" (( "(") (number_literal "3") (, ",") (number_literal "0") (, ",") (identifier "uVar4") () ")"))) (; ";")) (if_statement "if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;" (if "if") (parenthesized_expression "(pcVar5 + lVar6 + -1 == pcVar13)" (( "(") (binary_expression "pcVar5 + lVar6 + -1 == pcVar13" (binary_expression "pcVar5 + lVar6 + -1" (binary_expression "pcVar5 + lVar6" (identifier "pcVar5") (+ "+") (identifier "lVar6")) (+ "+") (number_literal "-1")) (== "==") (identifier "pcVar13")) () ")")) (goto_statement "goto LAB_00016abf;" (goto "goto") (statement_identifier "LAB_00016abf") (; ";"))) (} "}"))) (} "}")) (while "while") (parenthesized_expression "(pcVar5 + lVar6 + -1 != pcVar13)" (( "(") (binary_expression "pcVar5 + lVar6 + -1 != pcVar13" (binary_expression "pcVar5 + lVar6 + -1" (binary_expression "pcVar5 + lVar6" (identifier "pcVar5") (+ "+") (identifier "lVar6")) (+ "+") (number_literal "-1")) (!= "!=") (identifier "pcVar13")) () ")")) (; ";")) (} "}"))) (goto_statement "goto LAB_00016abf;" (goto "goto") (statement_identifier "LAB_00016abf") (; ";")) (} "}"))) (expression_statement "pcVar13 = pcVar5 + 1;" (assignment_expression "pcVar13 = pcVar5 + 1" (identifier "pcVar13") (= "=") (binary_expression "pcVar5 + 1" (identifier "pcVar5") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*pcVar5 = *pcVar14;" (assignment_expression "*pcVar5 = *pcVar14" (pointer_expression "*pcVar5" (* "*") (identifier "pcVar5")) (= "=") (pointer_expression "*pcVar14" (* "*") (identifier "pcVar14"))) (; ";")) (if_statement "if (pcVar5[1] != '\0') goto LAB_00016abf;" (if "if") (parenthesized_expression "(pcVar5[1] != '\0')" (( "(") (binary_expression "pcVar5[1] != '\0'" (subscript_expression "pcVar5[1]" (identifier "pcVar5") ([ "[") (number_literal "1") (] "]")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_00016abf;" (goto "goto") (statement_identifier "LAB_00016abf") (; ";"))) (expression_statement "uVar4 = dcgettext(0,"level indent string is too long",5);" (assignment_expression "uVar4 = dcgettext(0,"level indent string is too long",5)" (identifier "uVar4") (= "=") (call_expression "dcgettext(0,"level indent string is too long",5)" (identifier "dcgettext") (argument_list "(0,"level indent string is too long",5)" (( "(") (number_literal "0") (, ",") (string_literal ""level indent string is too long"" (" """) (string_content "level indent string is too long") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "error(3,0,uVar4);" (call_expression "error(3,0,uVar4)" (identifier "error") (argument_list "(3,0,uVar4)" (( "(") (number_literal "3") (, ",") (number_literal "0") (, ",") (identifier "uVar4") () ")"))) (; ";")) (expression_statement "cVar1 = *local_20[0];" (assignment_expression "cVar1 = *local_20[0]" (identifier "cVar1") (= "=") (pointer_expression "*local_20[0]" (* "*") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")))) (; ";")) (expression_statement "pcVar5 = pcVar13;" (assignment_expression "pcVar5 = pcVar13" (identifier "pcVar5") (= "=") (identifier "pcVar13")) (; ";")) (expression_statement "pcVar14 = local_20[0];" (assignment_expression "pcVar14 = local_20[0]" (identifier "pcVar14") (= "=") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]"))) (; ";")) (} "}"))) (switch_statement "switch(pcVar14[1]) {\n    case '0':\n      pcStack_30 = pcVar14 + 2;\n      uVar12 = (uint)pcVar14[2];\n      if (pcVar14[2] != '\0') {\n        local_20[0] = pcStack_30;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uStack_2c = uVar12 - 0x30;\n        if ((*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0) {\n          if (uVar12 + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }\n          uStack_2c = uVar12 - 0x37;\n        }\n        if (uStack_2c < 9) {\n          _Var15 = (__int32_t)pcVar14[3];\n          pcStack_30 = pcVar14 + 3;\n          if (pcVar14[3] != '\0') {\n            pcStack_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + uStack_2c * 8;\n              if (pcVar14[4] != '\0') {\n                pcStack_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto code_r0x00016ca4;\n            }\n          }\n          uVar12 = uStack_2c & 0xff;\n        }\n        else {\ncode_r0x00016e6f:\n          pcStack_30 = pcVar14 + 3;\n          uVar12 = 0;\n        }\n      }\n      goto code_r0x00016ca4;\n    default:\n      *pcVar5 = pcVar14[1];\n      break;\n    case 'X':\n    case 'x':\n      local_20[0] = pcVar14 + 2;\n      bVar2 = pcVar14[2];\n      uVar12 = (uint)bVar2;\n      pcStack_30 = local_20[0];\n      if (bVar2 != 0) {\n        pcStack_30 = pcVar14 + 3;\n        uStack_2c = (uint)(char)bVar2;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uVar11 = uStack_2c - 0x30;\n        if ((*(byte *)((int)puVar3 + uStack_2c * 2 + 1) & 8) == 0) {\n          if (uStack_2c + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uStack_2c = (*pp_Var9)[uStack_2c];\n          }\n          uVar11 = uStack_2c - 0x37;\n        }\n        if (0x10 < uVar11) goto code_r0x00016e6f;\n        uVar12 = uVar11;\n        if (pcVar14[3] != '\0') {\n          pcStack_30 = pcVar14 + 4;\n          _Var15 = (__int32_t)pcVar14[3];\n          uVar8 = _Var15 - 0x30;\n          if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }\n          uVar12 = uVar11 * 0x10 + uVar8;\n          if (0x10 < uVar8) {\n            uVar12 = uVar11;\n          }\n        }\n      }\ncode_r0x00016ca4:\n      *pcVar5 = (char)uVar12;\n      local_20[0] = pcStack_30 + -1;\n      break;\n    case 'a':\n      *pcVar5 = '\a';\n      break;\n    case 'b':\n      *pcVar5 = '\b';\n      break;\n    case 'e':\n      *pcVar5 = '\x1b';\n      break;\n    case 'f':\n      *pcVar5 = '\f';\n      break;\n    case 'n':\n      *pcVar5 = '\n';\n      break;\n    case 'r':\n      *pcVar5 = '\r';\n      break;\n    case 't':\n      *pcVar5 = '\t';\n    }" (switch "switch") (parenthesized_expression "(pcVar14[1])" (( "(") (subscript_expression "pcVar14[1]" (identifier "pcVar14") ([ "[") (number_literal "1") (] "]")) () ")")) (compound_statement "{\n    case '0':\n      pcStack_30 = pcVar14 + 2;\n      uVar12 = (uint)pcVar14[2];\n      if (pcVar14[2] != '\0') {\n        local_20[0] = pcStack_30;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uStack_2c = uVar12 - 0x30;\n        if ((*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0) {\n          if (uVar12 + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }\n          uStack_2c = uVar12 - 0x37;\n        }\n        if (uStack_2c < 9) {\n          _Var15 = (__int32_t)pcVar14[3];\n          pcStack_30 = pcVar14 + 3;\n          if (pcVar14[3] != '\0') {\n            pcStack_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + uStack_2c * 8;\n              if (pcVar14[4] != '\0') {\n                pcStack_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto code_r0x00016ca4;\n            }\n          }\n          uVar12 = uStack_2c & 0xff;\n        }\n        else {\ncode_r0x00016e6f:\n          pcStack_30 = pcVar14 + 3;\n          uVar12 = 0;\n        }\n      }\n      goto code_r0x00016ca4;\n    default:\n      *pcVar5 = pcVar14[1];\n      break;\n    case 'X':\n    case 'x':\n      local_20[0] = pcVar14 + 2;\n      bVar2 = pcVar14[2];\n      uVar12 = (uint)bVar2;\n      pcStack_30 = local_20[0];\n      if (bVar2 != 0) {\n        pcStack_30 = pcVar14 + 3;\n        uStack_2c = (uint)(char)bVar2;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uVar11 = uStack_2c - 0x30;\n        if ((*(byte *)((int)puVar3 + uStack_2c * 2 + 1) & 8) == 0) {\n          if (uStack_2c + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uStack_2c = (*pp_Var9)[uStack_2c];\n          }\n          uVar11 = uStack_2c - 0x37;\n        }\n        if (0x10 < uVar11) goto code_r0x00016e6f;\n        uVar12 = uVar11;\n        if (pcVar14[3] != '\0') {\n          pcStack_30 = pcVar14 + 4;\n          _Var15 = (__int32_t)pcVar14[3];\n          uVar8 = _Var15 - 0x30;\n          if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }\n          uVar12 = uVar11 * 0x10 + uVar8;\n          if (0x10 < uVar8) {\n            uVar12 = uVar11;\n          }\n        }\n      }\ncode_r0x00016ca4:\n      *pcVar5 = (char)uVar12;\n      local_20[0] = pcStack_30 + -1;\n      break;\n    case 'a':\n      *pcVar5 = '\a';\n      break;\n    case 'b':\n      *pcVar5 = '\b';\n      break;\n    case 'e':\n      *pcVar5 = '\x1b';\n      break;\n    case 'f':\n      *pcVar5 = '\f';\n      break;\n    case 'n':\n      *pcVar5 = '\n';\n      break;\n    case 'r':\n      *pcVar5 = '\r';\n      break;\n    case 't':\n      *pcVar5 = '\t';\n    }" ({ "{") (case_statement "case '0':\n      pcStack_30 = pcVar14 + 2;\n      uVar12 = (uint)pcVar14[2];\n      if (pcVar14[2] != '\0') {\n        local_20[0] = pcStack_30;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uStack_2c = uVar12 - 0x30;\n        if ((*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0) {\n          if (uVar12 + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }\n          uStack_2c = uVar12 - 0x37;\n        }\n        if (uStack_2c < 9) {\n          _Var15 = (__int32_t)pcVar14[3];\n          pcStack_30 = pcVar14 + 3;\n          if (pcVar14[3] != '\0') {\n            pcStack_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + uStack_2c * 8;\n              if (pcVar14[4] != '\0') {\n                pcStack_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto code_r0x00016ca4;\n            }\n          }\n          uVar12 = uStack_2c & 0xff;\n        }\n        else {\ncode_r0x00016e6f:\n          pcStack_30 = pcVar14 + 3;\n          uVar12 = 0;\n        }\n      }\n      goto code_r0x00016ca4;" (case "case") (char_literal "'0'" (' "'") (character "0") (' "'")) (: ":") (expression_statement "pcStack_30 = pcVar14 + 2;" (assignment_expression "pcStack_30 = pcVar14 + 2" (identifier "pcStack_30") (= "=") (binary_expression "pcVar14 + 2" (identifier "pcVar14") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "uVar12 = (uint)pcVar14[2];" (assignment_expression "uVar12 = (uint)pcVar14[2]" (identifier "uVar12") (= "=") (cast_expression "(uint)pcVar14[2]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pcVar14[2]" (identifier "pcVar14") ([ "[") (number_literal "2") (] "]")))) (; ";")) (if_statement "if (pcVar14[2] != '\0') {\n        local_20[0] = pcStack_30;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uStack_2c = uVar12 - 0x30;\n        if ((*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0) {\n          if (uVar12 + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }\n          uStack_2c = uVar12 - 0x37;\n        }\n        if (uStack_2c < 9) {\n          _Var15 = (__int32_t)pcVar14[3];\n          pcStack_30 = pcVar14 + 3;\n          if (pcVar14[3] != '\0') {\n            pcStack_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + uStack_2c * 8;\n              if (pcVar14[4] != '\0') {\n                pcStack_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto code_r0x00016ca4;\n            }\n          }\n          uVar12 = uStack_2c & 0xff;\n        }\n        else {\ncode_r0x00016e6f:\n          pcStack_30 = pcVar14 + 3;\n          uVar12 = 0;\n        }\n      }" (if "if") (parenthesized_expression "(pcVar14[2] != '\0')" (( "(") (binary_expression "pcVar14[2] != '\0'" (subscript_expression "pcVar14[2]" (identifier "pcVar14") ([ "[") (number_literal "2") (] "]")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        local_20[0] = pcStack_30;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uStack_2c = uVar12 - 0x30;\n        if ((*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0) {\n          if (uVar12 + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }\n          uStack_2c = uVar12 - 0x37;\n        }\n        if (uStack_2c < 9) {\n          _Var15 = (__int32_t)pcVar14[3];\n          pcStack_30 = pcVar14 + 3;\n          if (pcVar14[3] != '\0') {\n            pcStack_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + uStack_2c * 8;\n              if (pcVar14[4] != '\0') {\n                pcStack_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto code_r0x00016ca4;\n            }\n          }\n          uVar12 = uStack_2c & 0xff;\n        }\n        else {\ncode_r0x00016e6f:\n          pcStack_30 = pcVar14 + 3;\n          uVar12 = 0;\n        }\n      }" ({ "{") (expression_statement "local_20[0] = pcStack_30;" (assignment_expression "local_20[0] = pcStack_30" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "pcStack_30")) (; ";")) (expression_statement "ppuVar7 = __ctype_b_loc();" (assignment_expression "ppuVar7 = __ctype_b_loc()" (identifier "ppuVar7") (= "=") (call_expression "__ctype_b_loc()" (identifier "__ctype_b_loc") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "puVar3 = *ppuVar7;" (assignment_expression "puVar3 = *ppuVar7" (identifier "puVar3") (= "=") (pointer_expression "*ppuVar7" (* "*") (identifier "ppuVar7"))) (; ";")) (expression_statement "uStack_2c = uVar12 - 0x30;" (assignment_expression "uStack_2c = uVar12 - 0x30" (identifier "uStack_2c") (= "=") (binary_expression "uVar12 - 0x30" (identifier "uVar12") (- "-") (number_literal "0x30"))) (; ";")) (if_statement "if ((*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0) {\n          if (uVar12 + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }\n          uStack_2c = uVar12 - 0x37;\n        }" (if "if") (parenthesized_expression "((*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0)" (( "(") (binary_expression "(*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0" (parenthesized_expression "(*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8)" (( "(") (binary_expression "*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8" (pointer_expression "*(byte *)((int)puVar3 + uVar12 * 2 + 1)" (* "*") (cast_expression "(byte *)((int)puVar3 + uVar12 * 2 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar3 + uVar12 * 2 + 1)" (( "(") (binary_expression "(int)puVar3 + uVar12 * 2 + 1" (binary_expression "(int)puVar3 + uVar12 * 2" (cast_expression "(int)puVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar3")) (+ "+") (binary_expression "uVar12 * 2" (identifier "uVar12") (* "*") (number_literal "2"))) (+ "+") (number_literal "1")) () ")")))) (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          if (uVar12 + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }\n          uStack_2c = uVar12 - 0x37;\n        }" ({ "{") (if_statement "if (uVar12 + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }" (if "if") (parenthesized_expression "(uVar12 + 0x80 < 0x180)" (( "(") (binary_expression "uVar12 + 0x80 < 0x180" (binary_expression "uVar12 + 0x80" (identifier "uVar12") (+ "+") (number_literal "0x80")) (< "<") (number_literal "0x180")) () ")")) (compound_statement "{\n            pp_Var9 = __ctype_toupper_loc();\n            uVar12 = (*pp_Var9)[uVar12];\n          }" ({ "{") (expression_statement "pp_Var9 = __ctype_toupper_loc();" (assignment_expression "pp_Var9 = __ctype_toupper_loc()" (identifier "pp_Var9") (= "=") (call_expression "__ctype_toupper_loc()" (identifier "__ctype_toupper_loc") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar12 = (*pp_Var9)[uVar12];" (assignment_expression "uVar12 = (*pp_Var9)[uVar12]" (identifier "uVar12") (= "=") (subscript_expression "(*pp_Var9)[uVar12]" (parenthesized_expression "(*pp_Var9)" (( "(") (pointer_expression "*pp_Var9" (* "*") (identifier "pp_Var9")) () ")")) ([ "[") (identifier "uVar12") (] "]"))) (; ";")) (} "}"))) (expression_statement "uStack_2c = uVar12 - 0x37;" (assignment_expression "uStack_2c = uVar12 - 0x37" (identifier "uStack_2c") (= "=") (binary_expression "uVar12 - 0x37" (identifier "uVar12") (- "-") (number_literal "0x37"))) (; ";")) (} "}"))) (if_statement "if (uStack_2c < 9) {\n          _Var15 = (__int32_t)pcVar14[3];\n          pcStack_30 = pcVar14 + 3;\n          if (pcVar14[3] != '\0') {\n            pcStack_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + uStack_2c * 8;\n              if (pcVar14[4] != '\0') {\n                pcStack_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto code_r0x00016ca4;\n            }\n          }\n          uVar12 = uStack_2c & 0xff;\n        }\n        else {\ncode_r0x00016e6f:\n          pcStack_30 = pcVar14 + 3;\n          uVar12 = 0;\n        }" (if "if") (parenthesized_expression "(uStack_2c < 9)" (( "(") (binary_expression "uStack_2c < 9" (identifier "uStack_2c") (< "<") (number_literal "9")) () ")")) (compound_statement "{\n          _Var15 = (__int32_t)pcVar14[3];\n          pcStack_30 = pcVar14 + 3;\n          if (pcVar14[3] != '\0') {\n            pcStack_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + uStack_2c * 8;\n              if (pcVar14[4] != '\0') {\n                pcStack_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto code_r0x00016ca4;\n            }\n          }\n          uVar12 = uStack_2c & 0xff;\n        }" ({ "{") (expression_statement "_Var15 = (__int32_t)pcVar14[3];" (assignment_expression "_Var15 = (__int32_t)pcVar14[3]" (identifier "_Var15") (= "=") (cast_expression "(__int32_t)pcVar14[3]" (( "(") (type_descriptor "__int32_t" (type_identifier "__int32_t")) () ")") (subscript_expression "pcVar14[3]" (identifier "pcVar14") ([ "[") (number_literal "3") (] "]")))) (; ";")) (expression_statement "pcStack_30 = pcVar14 + 3;" (assignment_expression "pcStack_30 = pcVar14 + 3" (identifier "pcStack_30") (= "=") (binary_expression "pcVar14 + 3" (identifier "pcVar14") (+ "+") (number_literal "3"))) (; ";")) (if_statement "if (pcVar14[3] != '\0') {\n            pcStack_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + uStack_2c * 8;\n              if (pcVar14[4] != '\0') {\n                pcStack_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto code_r0x00016ca4;\n            }\n          }" (if "if") (parenthesized_expression "(pcVar14[3] != '\0')" (( "(") (binary_expression "pcVar14[3] != '\0'" (subscript_expression "pcVar14[3]" (identifier "pcVar14") ([ "[") (number_literal "3") (] "]")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            pcStack_30 = pcVar14 + 4;\n            uVar12 = _Var15 - 0x30;\n            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }\n            if (uVar12 < 9) {\n              uVar12 = uVar12 + uStack_2c * 8;\n              if (pcVar14[4] != '\0') {\n                pcStack_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto code_r0x00016ca4;\n            }\n          }" ({ "{") (expression_statement "pcStack_30 = pcVar14 + 4;" (assignment_expression "pcStack_30 = pcVar14 + 4" (identifier "pcStack_30") (= "=") (binary_expression "pcVar14 + 4" (identifier "pcVar14") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "uVar12 = _Var15 - 0x30;" (assignment_expression "uVar12 = _Var15 - 0x30" (identifier "uVar12") (= "=") (binary_expression "_Var15 - 0x30" (identifier "_Var15") (- "-") (number_literal "0x30"))) (; ";")) (if_statement "if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }" (if "if") (parenthesized_expression "((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0)" (( "(") (binary_expression "(*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0" (parenthesized_expression "(*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8)" (( "(") (binary_expression "*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8" (pointer_expression "*(byte *)((int)puVar3 + _Var15 * 2 + 1)" (* "*") (cast_expression "(byte *)((int)puVar3 + _Var15 * 2 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar3 + _Var15 * 2 + 1)" (( "(") (binary_expression "(int)puVar3 + _Var15 * 2 + 1" (binary_expression "(int)puVar3 + _Var15 * 2" (cast_expression "(int)puVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar3")) (+ "+") (binary_expression "_Var15 * 2" (identifier "_Var15") (* "*") (number_literal "2"))) (+ "+") (number_literal "1")) () ")")))) (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }\n              uVar12 = _Var15 - 0x37;\n            }" ({ "{") (if_statement "if (_Var15 + 0x80U < 0x180) {\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }" (if "if") (parenthesized_expression "(_Var15 + 0x80U < 0x180)" (( "(") (binary_expression "_Var15 + 0x80U < 0x180" (binary_expression "_Var15 + 0x80U" (identifier "_Var15") (+ "+") (number_literal "0x80U")) (< "<") (number_literal "0x180")) () ")")) (compound_statement "{\n                pp_Var9 = __ctype_toupper_loc();\n                _Var15 = (*pp_Var9)[_Var15];\n              }" ({ "{") (expression_statement "pp_Var9 = __ctype_toupper_loc();" (assignment_expression "pp_Var9 = __ctype_toupper_loc()" (identifier "pp_Var9") (= "=") (call_expression "__ctype_toupper_loc()" (identifier "__ctype_toupper_loc") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "_Var15 = (*pp_Var9)[_Var15];" (assignment_expression "_Var15 = (*pp_Var9)[_Var15]" (identifier "_Var15") (= "=") (subscript_expression "(*pp_Var9)[_Var15]" (parenthesized_expression "(*pp_Var9)" (( "(") (pointer_expression "*pp_Var9" (* "*") (identifier "pp_Var9")) () ")")) ([ "[") (identifier "_Var15") (] "]"))) (; ";")) (} "}"))) (expression_statement "uVar12 = _Var15 - 0x37;" (assignment_expression "uVar12 = _Var15 - 0x37" (identifier "uVar12") (= "=") (binary_expression "_Var15 - 0x37" (identifier "_Var15") (- "-") (number_literal "0x37"))) (; ";")) (} "}"))) (if_statement "if (uVar12 < 9) {\n              uVar12 = uVar12 + uStack_2c * 8;\n              if (pcVar14[4] != '\0') {\n                pcStack_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto code_r0x00016ca4;\n            }" (if "if") (parenthesized_expression "(uVar12 < 9)" (( "(") (binary_expression "uVar12 < 9" (identifier "uVar12") (< "<") (number_literal "9")) () ")")) (compound_statement "{\n              uVar12 = uVar12 + uStack_2c * 8;\n              if (pcVar14[4] != '\0') {\n                pcStack_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }\n              goto code_r0x00016ca4;\n            }" ({ "{") (expression_statement "uVar12 = uVar12 + uStack_2c * 8;" (assignment_expression "uVar12 = uVar12 + uStack_2c * 8" (identifier "uVar12") (= "=") (binary_expression "uVar12 + uStack_2c * 8" (identifier "uVar12") (+ "+") (binary_expression "uStack_2c * 8" (identifier "uStack_2c") (* "*") (number_literal "8")))) (; ";")) (if_statement "if (pcVar14[4] != '\0') {\n                pcStack_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }" (if "if") (parenthesized_expression "(pcVar14[4] != '\0')" (( "(") (binary_expression "pcVar14[4] != '\0'" (subscript_expression "pcVar14[4]" (identifier "pcVar14") ([ "[") (number_literal "4") (] "]")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                pcStack_30 = pcVar14 + 5;\n                _Var15 = (__int32_t)pcVar14[4];\n                uVar11 = _Var15 - 0x30;\n                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }\n                if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }\n              }" ({ "{") (expression_statement "pcStack_30 = pcVar14 + 5;" (assignment_expression "pcStack_30 = pcVar14 + 5" (identifier "pcStack_30") (= "=") (binary_expression "pcVar14 + 5" (identifier "pcVar14") (+ "+") (number_literal "5"))) (; ";")) (expression_statement "_Var15 = (__int32_t)pcVar14[4];" (assignment_expression "_Var15 = (__int32_t)pcVar14[4]" (identifier "_Var15") (= "=") (cast_expression "(__int32_t)pcVar14[4]" (( "(") (type_descriptor "__int32_t" (type_identifier "__int32_t")) () ")") (subscript_expression "pcVar14[4]" (identifier "pcVar14") ([ "[") (number_literal "4") (] "]")))) (; ";")) (expression_statement "uVar11 = _Var15 - 0x30;" (assignment_expression "uVar11 = _Var15 - 0x30" (identifier "uVar11") (= "=") (binary_expression "_Var15 - 0x30" (identifier "_Var15") (- "-") (number_literal "0x30"))) (; ";")) (if_statement "if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }" (if "if") (parenthesized_expression "((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0)" (( "(") (binary_expression "(*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0" (parenthesized_expression "(*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8)" (( "(") (binary_expression "*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8" (pointer_expression "*(byte *)((int)puVar3 + _Var15 * 2 + 1)" (* "*") (cast_expression "(byte *)((int)puVar3 + _Var15 * 2 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar3 + _Var15 * 2 + 1)" (( "(") (binary_expression "(int)puVar3 + _Var15 * 2 + 1" (binary_expression "(int)puVar3 + _Var15 * 2" (cast_expression "(int)puVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar3")) (+ "+") (binary_expression "_Var15 * 2" (identifier "_Var15") (* "*") (number_literal "2"))) (+ "+") (number_literal "1")) () ")")))) (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }\n                  uVar11 = _Var15 - 0x37;\n                }" ({ "{") (if_statement "if (_Var15 + 0x80U < 0x180) {\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }" (if "if") (parenthesized_expression "(_Var15 + 0x80U < 0x180)" (( "(") (binary_expression "_Var15 + 0x80U < 0x180" (binary_expression "_Var15 + 0x80U" (identifier "_Var15") (+ "+") (number_literal "0x80U")) (< "<") (number_literal "0x180")) () ")")) (compound_statement "{\n                    pp_Var9 = __ctype_toupper_loc();\n                    _Var15 = (*pp_Var9)[_Var15];\n                  }" ({ "{") (expression_statement "pp_Var9 = __ctype_toupper_loc();" (assignment_expression "pp_Var9 = __ctype_toupper_loc()" (identifier "pp_Var9") (= "=") (call_expression "__ctype_toupper_loc()" (identifier "__ctype_toupper_loc") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "_Var15 = (*pp_Var9)[_Var15];" (assignment_expression "_Var15 = (*pp_Var9)[_Var15]" (identifier "_Var15") (= "=") (subscript_expression "(*pp_Var9)[_Var15]" (parenthesized_expression "(*pp_Var9)" (( "(") (pointer_expression "*pp_Var9" (* "*") (identifier "pp_Var9")) () ")")) ([ "[") (identifier "_Var15") (] "]"))) (; ";")) (} "}"))) (expression_statement "uVar11 = _Var15 - 0x37;" (assignment_expression "uVar11 = _Var15 - 0x37" (identifier "uVar11") (= "=") (binary_expression "_Var15 - 0x37" (identifier "_Var15") (- "-") (number_literal "0x37"))) (; ";")) (} "}"))) (if_statement "if (uVar11 < 9) {\n                  uVar12 = uVar11 + uVar12 * 8;\n                }" (if "if") (parenthesized_expression "(uVar11 < 9)" (( "(") (binary_expression "uVar11 < 9" (identifier "uVar11") (< "<") (number_literal "9")) () ")")) (compound_statement "{\n                  uVar12 = uVar11 + uVar12 * 8;\n                }" ({ "{") (expression_statement "uVar12 = uVar11 + uVar12 * 8;" (assignment_expression "uVar12 = uVar11 + uVar12 * 8" (identifier "uVar12") (= "=") (binary_expression "uVar11 + uVar12 * 8" (identifier "uVar11") (+ "+") (binary_expression "uVar12 * 8" (identifier "uVar12") (* "*") (number_literal "8")))) (; ";")) (} "}"))) (} "}"))) (goto_statement "goto code_r0x00016ca4;" (goto "goto") (statement_identifier "code_r0x00016ca4") (; ";")) (} "}"))) (} "}"))) (expression_statement "uVar12 = uStack_2c & 0xff;" (assignment_expression "uVar12 = uStack_2c & 0xff" (identifier "uVar12") (= "=") (binary_expression "uStack_2c & 0xff" (identifier "uStack_2c") (& "&") (number_literal "0xff"))) (; ";")) (} "}")) (else_clause "else {\ncode_r0x00016e6f:\n          pcStack_30 = pcVar14 + 3;\n          uVar12 = 0;\n        }" (else "else") (compound_statement "{\ncode_r0x00016e6f:\n          pcStack_30 = pcVar14 + 3;\n          uVar12 = 0;\n        }" ({ "{") (labeled_statement "code_r0x00016e6f:\n          pcStack_30 = pcVar14 + 3;" (statement_identifier "code_r0x00016e6f") (: ":") (expression_statement "pcStack_30 = pcVar14 + 3;" (assignment_expression "pcStack_30 = pcVar14 + 3" (identifier "pcStack_30") (= "=") (binary_expression "pcVar14 + 3" (identifier "pcVar14") (+ "+") (number_literal "3"))) (; ";"))) (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" (identifier "uVar12") (= "=") (number_literal "0")) (; ";")) (} "}")))) (} "}"))) (goto_statement "goto code_r0x00016ca4;" (goto "goto") (statement_identifier "code_r0x00016ca4") (; ";"))) (case_statement "default:\n      *pcVar5 = pcVar14[1];\n      break;" (default "default") (: ":") (expression_statement "*pcVar5 = pcVar14[1];" (assignment_expression "*pcVar5 = pcVar14[1]" (pointer_expression "*pcVar5" (* "*") (identifier "pcVar5")) (= "=") (subscript_expression "pcVar14[1]" (identifier "pcVar14") ([ "[") (number_literal "1") (] "]"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 'X':" (case "case") (char_literal "'X'" (' "'") (character "X") (' "'")) (: ":")) (case_statement "case 'x':\n      local_20[0] = pcVar14 + 2;\n      bVar2 = pcVar14[2];\n      uVar12 = (uint)bVar2;\n      pcStack_30 = local_20[0];\n      if (bVar2 != 0) {\n        pcStack_30 = pcVar14 + 3;\n        uStack_2c = (uint)(char)bVar2;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uVar11 = uStack_2c - 0x30;\n        if ((*(byte *)((int)puVar3 + uStack_2c * 2 + 1) & 8) == 0) {\n          if (uStack_2c + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uStack_2c = (*pp_Var9)[uStack_2c];\n          }\n          uVar11 = uStack_2c - 0x37;\n        }\n        if (0x10 < uVar11) goto code_r0x00016e6f;\n        uVar12 = uVar11;\n        if (pcVar14[3] != '\0') {\n          pcStack_30 = pcVar14 + 4;\n          _Var15 = (__int32_t)pcVar14[3];\n          uVar8 = _Var15 - 0x30;\n          if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }\n          uVar12 = uVar11 * 0x10 + uVar8;\n          if (0x10 < uVar8) {\n            uVar12 = uVar11;\n          }\n        }\n      }\ncode_r0x00016ca4:\n      *pcVar5 = (char)uVar12;\n      local_20[0] = pcStack_30 + -1;\n      break;" (case "case") (char_literal "'x'" (' "'") (character "x") (' "'")) (: ":") (expression_statement "local_20[0] = pcVar14 + 2;" (assignment_expression "local_20[0] = pcVar14 + 2" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "pcVar14 + 2" (identifier "pcVar14") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "bVar2 = pcVar14[2];" (assignment_expression "bVar2 = pcVar14[2]" (identifier "bVar2") (= "=") (subscript_expression "pcVar14[2]" (identifier "pcVar14") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar12 = (uint)bVar2;" (assignment_expression "uVar12 = (uint)bVar2" (identifier "uVar12") (= "=") (cast_expression "(uint)bVar2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar2"))) (; ";")) (expression_statement "pcStack_30 = local_20[0];" (assignment_expression "pcStack_30 = local_20[0]" (identifier "pcStack_30") (= "=") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]"))) (; ";")) (if_statement "if (bVar2 != 0) {\n        pcStack_30 = pcVar14 + 3;\n        uStack_2c = (uint)(char)bVar2;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uVar11 = uStack_2c - 0x30;\n        if ((*(byte *)((int)puVar3 + uStack_2c * 2 + 1) & 8) == 0) {\n          if (uStack_2c + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uStack_2c = (*pp_Var9)[uStack_2c];\n          }\n          uVar11 = uStack_2c - 0x37;\n        }\n        if (0x10 < uVar11) goto code_r0x00016e6f;\n        uVar12 = uVar11;\n        if (pcVar14[3] != '\0') {\n          pcStack_30 = pcVar14 + 4;\n          _Var15 = (__int32_t)pcVar14[3];\n          uVar8 = _Var15 - 0x30;\n          if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }\n          uVar12 = uVar11 * 0x10 + uVar8;\n          if (0x10 < uVar8) {\n            uVar12 = uVar11;\n          }\n        }\n      }" (if "if") (parenthesized_expression "(bVar2 != 0)" (( "(") (binary_expression "bVar2 != 0" (identifier "bVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        pcStack_30 = pcVar14 + 3;\n        uStack_2c = (uint)(char)bVar2;\n        ppuVar7 = __ctype_b_loc();\n        puVar3 = *ppuVar7;\n        uVar11 = uStack_2c - 0x30;\n        if ((*(byte *)((int)puVar3 + uStack_2c * 2 + 1) & 8) == 0) {\n          if (uStack_2c + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uStack_2c = (*pp_Var9)[uStack_2c];\n          }\n          uVar11 = uStack_2c - 0x37;\n        }\n        if (0x10 < uVar11) goto code_r0x00016e6f;\n        uVar12 = uVar11;\n        if (pcVar14[3] != '\0') {\n          pcStack_30 = pcVar14 + 4;\n          _Var15 = (__int32_t)pcVar14[3];\n          uVar8 = _Var15 - 0x30;\n          if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }\n          uVar12 = uVar11 * 0x10 + uVar8;\n          if (0x10 < uVar8) {\n            uVar12 = uVar11;\n          }\n        }\n      }" ({ "{") (expression_statement "pcStack_30 = pcVar14 + 3;" (assignment_expression "pcStack_30 = pcVar14 + 3" (identifier "pcStack_30") (= "=") (binary_expression "pcVar14 + 3" (identifier "pcVar14") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "uStack_2c = (uint)(char)bVar2;" (assignment_expression "uStack_2c = (uint)(char)bVar2" (identifier "uStack_2c") (= "=") (cast_expression "(uint)(char)bVar2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(char)bVar2" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar2")))) (; ";")) (expression_statement "ppuVar7 = __ctype_b_loc();" (assignment_expression "ppuVar7 = __ctype_b_loc()" (identifier "ppuVar7") (= "=") (call_expression "__ctype_b_loc()" (identifier "__ctype_b_loc") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "puVar3 = *ppuVar7;" (assignment_expression "puVar3 = *ppuVar7" (identifier "puVar3") (= "=") (pointer_expression "*ppuVar7" (* "*") (identifier "ppuVar7"))) (; ";")) (expression_statement "uVar11 = uStack_2c - 0x30;" (assignment_expression "uVar11 = uStack_2c - 0x30" (identifier "uVar11") (= "=") (binary_expression "uStack_2c - 0x30" (identifier "uStack_2c") (- "-") (number_literal "0x30"))) (; ";")) (if_statement "if ((*(byte *)((int)puVar3 + uStack_2c * 2 + 1) & 8) == 0) {\n          if (uStack_2c + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uStack_2c = (*pp_Var9)[uStack_2c];\n          }\n          uVar11 = uStack_2c - 0x37;\n        }" (if "if") (parenthesized_expression "((*(byte *)((int)puVar3 + uStack_2c * 2 + 1) & 8) == 0)" (( "(") (binary_expression "(*(byte *)((int)puVar3 + uStack_2c * 2 + 1) & 8) == 0" (parenthesized_expression "(*(byte *)((int)puVar3 + uStack_2c * 2 + 1) & 8)" (( "(") (binary_expression "*(byte *)((int)puVar3 + uStack_2c * 2 + 1) & 8" (pointer_expression "*(byte *)((int)puVar3 + uStack_2c * 2 + 1)" (* "*") (cast_expression "(byte *)((int)puVar3 + uStack_2c * 2 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar3 + uStack_2c * 2 + 1)" (( "(") (binary_expression "(int)puVar3 + uStack_2c * 2 + 1" (binary_expression "(int)puVar3 + uStack_2c * 2" (cast_expression "(int)puVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar3")) (+ "+") (binary_expression "uStack_2c * 2" (identifier "uStack_2c") (* "*") (number_literal "2"))) (+ "+") (number_literal "1")) () ")")))) (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          if (uStack_2c + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uStack_2c = (*pp_Var9)[uStack_2c];\n          }\n          uVar11 = uStack_2c - 0x37;\n        }" ({ "{") (if_statement "if (uStack_2c + 0x80 < 0x180) {\n            pp_Var9 = __ctype_toupper_loc();\n            uStack_2c = (*pp_Var9)[uStack_2c];\n          }" (if "if") (parenthesized_expression "(uStack_2c + 0x80 < 0x180)" (( "(") (binary_expression "uStack_2c + 0x80 < 0x180" (binary_expression "uStack_2c + 0x80" (identifier "uStack_2c") (+ "+") (number_literal "0x80")) (< "<") (number_literal "0x180")) () ")")) (compound_statement "{\n            pp_Var9 = __ctype_toupper_loc();\n            uStack_2c = (*pp_Var9)[uStack_2c];\n          }" ({ "{") (expression_statement "pp_Var9 = __ctype_toupper_loc();" (assignment_expression "pp_Var9 = __ctype_toupper_loc()" (identifier "pp_Var9") (= "=") (call_expression "__ctype_toupper_loc()" (identifier "__ctype_toupper_loc") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uStack_2c = (*pp_Var9)[uStack_2c];" (assignment_expression "uStack_2c = (*pp_Var9)[uStack_2c]" (identifier "uStack_2c") (= "=") (subscript_expression "(*pp_Var9)[uStack_2c]" (parenthesized_expression "(*pp_Var9)" (( "(") (pointer_expression "*pp_Var9" (* "*") (identifier "pp_Var9")) () ")")) ([ "[") (identifier "uStack_2c") (] "]"))) (; ";")) (} "}"))) (expression_statement "uVar11 = uStack_2c - 0x37;" (assignment_expression "uVar11 = uStack_2c - 0x37" (identifier "uVar11") (= "=") (binary_expression "uStack_2c - 0x37" (identifier "uStack_2c") (- "-") (number_literal "0x37"))) (; ";")) (} "}"))) (if_statement "if (0x10 < uVar11) goto code_r0x00016e6f;" (if "if") (parenthesized_expression "(0x10 < uVar11)" (( "(") (binary_expression "0x10 < uVar11" (number_literal "0x10") (< "<") (identifier "uVar11")) () ")")) (goto_statement "goto code_r0x00016e6f;" (goto "goto") (statement_identifier "code_r0x00016e6f") (; ";"))) (expression_statement "uVar12 = uVar11;" (assignment_expression "uVar12 = uVar11" (identifier "uVar12") (= "=") (identifier "uVar11")) (; ";")) (if_statement "if (pcVar14[3] != '\0') {\n          pcStack_30 = pcVar14 + 4;\n          _Var15 = (__int32_t)pcVar14[3];\n          uVar8 = _Var15 - 0x30;\n          if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }\n          uVar12 = uVar11 * 0x10 + uVar8;\n          if (0x10 < uVar8) {\n            uVar12 = uVar11;\n          }\n        }" (if "if") (parenthesized_expression "(pcVar14[3] != '\0')" (( "(") (binary_expression "pcVar14[3] != '\0'" (subscript_expression "pcVar14[3]" (identifier "pcVar14") ([ "[") (number_literal "3") (] "]")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          pcStack_30 = pcVar14 + 4;\n          _Var15 = (__int32_t)pcVar14[3];\n          uVar8 = _Var15 - 0x30;\n          if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }\n          uVar12 = uVar11 * 0x10 + uVar8;\n          if (0x10 < uVar8) {\n            uVar12 = uVar11;\n          }\n        }" ({ "{") (expression_statement "pcStack_30 = pcVar14 + 4;" (assignment_expression "pcStack_30 = pcVar14 + 4" (identifier "pcStack_30") (= "=") (binary_expression "pcVar14 + 4" (identifier "pcVar14") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "_Var15 = (__int32_t)pcVar14[3];" (assignment_expression "_Var15 = (__int32_t)pcVar14[3]" (identifier "_Var15") (= "=") (cast_expression "(__int32_t)pcVar14[3]" (( "(") (type_descriptor "__int32_t" (type_identifier "__int32_t")) () ")") (subscript_expression "pcVar14[3]" (identifier "pcVar14") ([ "[") (number_literal "3") (] "]")))) (; ";")) (expression_statement "uVar8 = _Var15 - 0x30;" (assignment_expression "uVar8 = _Var15 - 0x30" (identifier "uVar8") (= "=") (binary_expression "_Var15 - 0x30" (identifier "_Var15") (- "-") (number_literal "0x30"))) (; ";")) (if_statement "if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }" (if "if") (parenthesized_expression "((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0)" (( "(") (binary_expression "(*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0" (parenthesized_expression "(*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8)" (( "(") (binary_expression "*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8" (pointer_expression "*(byte *)((int)puVar3 + _Var15 * 2 + 1)" (* "*") (cast_expression "(byte *)((int)puVar3 + _Var15 * 2 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar3 + _Var15 * 2 + 1)" (( "(") (binary_expression "(int)puVar3 + _Var15 * 2 + 1" (binary_expression "(int)puVar3 + _Var15 * 2" (cast_expression "(int)puVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar3")) (+ "+") (binary_expression "_Var15 * 2" (identifier "_Var15") (* "*") (number_literal "2"))) (+ "+") (number_literal "1")) () ")")))) (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }\n            uVar8 = _Var15 - 0x37;\n          }" ({ "{") (if_statement "if (_Var15 + 0x80U < 0x180) {\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }" (if "if") (parenthesized_expression "(_Var15 + 0x80U < 0x180)" (( "(") (binary_expression "_Var15 + 0x80U < 0x180" (binary_expression "_Var15 + 0x80U" (identifier "_Var15") (+ "+") (number_literal "0x80U")) (< "<") (number_literal "0x180")) () ")")) (compound_statement "{\n              pp_Var9 = __ctype_toupper_loc();\n              _Var15 = (*pp_Var9)[_Var15];\n            }" ({ "{") (expression_statement "pp_Var9 = __ctype_toupper_loc();" (assignment_expression "pp_Var9 = __ctype_toupper_loc()" (identifier "pp_Var9") (= "=") (call_expression "__ctype_toupper_loc()" (identifier "__ctype_toupper_loc") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "_Var15 = (*pp_Var9)[_Var15];" (assignment_expression "_Var15 = (*pp_Var9)[_Var15]" (identifier "_Var15") (= "=") (subscript_expression "(*pp_Var9)[_Var15]" (parenthesized_expression "(*pp_Var9)" (( "(") (pointer_expression "*pp_Var9" (* "*") (identifier "pp_Var9")) () ")")) ([ "[") (identifier "_Var15") (] "]"))) (; ";")) (} "}"))) (expression_statement "uVar8 = _Var15 - 0x37;" (assignment_expression "uVar8 = _Var15 - 0x37" (identifier "uVar8") (= "=") (binary_expression "_Var15 - 0x37" (identifier "_Var15") (- "-") (number_literal "0x37"))) (; ";")) (} "}"))) (expression_statement "uVar12 = uVar11 * 0x10 + uVar8;" (assignment_expression "uVar12 = uVar11 * 0x10 + uVar8" (identifier "uVar12") (= "=") (binary_expression "uVar11 * 0x10 + uVar8" (binary_expression "uVar11 * 0x10" (identifier "uVar11") (* "*") (number_literal "0x10")) (+ "+") (identifier "uVar8"))) (; ";")) (if_statement "if (0x10 < uVar8) {\n            uVar12 = uVar11;\n          }" (if "if") (parenthesized_expression "(0x10 < uVar8)" (( "(") (binary_expression "0x10 < uVar8" (number_literal "0x10") (< "<") (identifier "uVar8")) () ")")) (compound_statement "{\n            uVar12 = uVar11;\n          }" ({ "{") (expression_statement "uVar12 = uVar11;" (assignment_expression "uVar12 = uVar11" (identifier "uVar12") (= "=") (identifier "uVar11")) (; ";")) (} "}"))) (} "}"))) (} "}"))) (labeled_statement "code_r0x00016ca4:\n      *pcVar5 = (char)uVar12;" (statement_identifier "code_r0x00016ca4") (: ":") (expression_statement "*pcVar5 = (char)uVar12;" (assignment_expression "*pcVar5 = (char)uVar12" (pointer_expression "*pcVar5" (* "*") (identifier "pcVar5")) (= "=") (cast_expression "(char)uVar12" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar12"))) (; ";"))) (expression_statement "local_20[0] = pcStack_30 + -1;" (assignment_expression "local_20[0] = pcStack_30 + -1" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "pcStack_30 + -1" (identifier "pcStack_30") (+ "+") (number_literal "-1"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 'a':\n      *pcVar5 = '\a';\n      break;" (case "case") (char_literal "'a'" (' "'") (character "a") (' "'")) (: ":") (expression_statement "*pcVar5 = '\a';" (assignment_expression "*pcVar5 = '\a'" (pointer_expression "*pcVar5" (* "*") (identifier "pcVar5")) (= "=") (char_literal "'\a'" (' "'") (escape_sequence "\a") (' "'"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 'b':\n      *pcVar5 = '\b';\n      break;" (case "case") (char_literal "'b'" (' "'") (character "b") (' "'")) (: ":") (expression_statement "*pcVar5 = '\b';" (assignment_expression "*pcVar5 = '\b'" (pointer_expression "*pcVar5" (* "*") (identifier "pcVar5")) (= "=") (char_literal "'\b'" (' "'") (escape_sequence "\b") (' "'"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 'e':\n      *pcVar5 = '\x1b';\n      break;" (case "case") (char_literal "'e'" (' "'") (character "e") (' "'")) (: ":") (expression_statement "*pcVar5 = '\x1b';" (assignment_expression "*pcVar5 = '\x1b'" (pointer_expression "*pcVar5" (* "*") (identifier "pcVar5")) (= "=") (char_literal "'\x1b'" (' "'") (escape_sequence "\x1b") (' "'"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 'f':\n      *pcVar5 = '\f';\n      break;" (case "case") (char_literal "'f'" (' "'") (character "f") (' "'")) (: ":") (expression_statement "*pcVar5 = '\f';" (assignment_expression "*pcVar5 = '\f'" (pointer_expression "*pcVar5" (* "*") (identifier "pcVar5")) (= "=") (char_literal "'\f'" (' "'") (escape_sequence "\f") (' "'"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 'n':\n      *pcVar5 = '\n';\n      break;" (case "case") (char_literal "'n'" (' "'") (character "n") (' "'")) (: ":") (expression_statement "*pcVar5 = '\n';" (assignment_expression "*pcVar5 = '\n'" (pointer_expression "*pcVar5" (* "*") (identifier "pcVar5")) (= "=") (char_literal "'\n'" (' "'") (escape_sequence "\n") (' "'"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 'r':\n      *pcVar5 = '\r';\n      break;" (case "case") (char_literal "'r'" (' "'") (character "r") (' "'")) (: ":") (expression_statement "*pcVar5 = '\r';" (assignment_expression "*pcVar5 = '\r'" (pointer_expression "*pcVar5" (* "*") (identifier "pcVar5")) (= "=") (char_literal "'\r'" (' "'") (escape_sequence "\r") (' "'"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 't':\n      *pcVar5 = '\t';" (case "case") (char_literal "'t'" (' "'") (character "t") (' "'")) (: ":") (expression_statement "*pcVar5 = '\t';" (assignment_expression "*pcVar5 = '\t'" (pointer_expression "*pcVar5" (* "*") (identifier "pcVar5")) (= "=") (char_literal "'\t'" (' "'") (escape_sequence "\t") (' "'"))) (; ";"))) (} "}"))) (expression_statement "pcVar13 = pcVar5 + 1;" (assignment_expression "pcVar13 = pcVar5 + 1" (identifier "pcVar13") (= "=") (binary_expression "pcVar5 + 1" (identifier "pcVar5") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_20[0] = local_20[0] + 1;" (assignment_expression "local_20[0] = local_20[0] + 1" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "local_20[0] + 1" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) (+ "+") (number_literal "1"))) (; ";")) (labeled_statement "LAB_00016abf:\n    cVar1 = *local_20[0];" (statement_identifier "LAB_00016abf") (: ":") (expression_statement "cVar1 = *local_20[0];" (assignment_expression "cVar1 = *local_20[0]" (identifier "cVar1") (= "=") (pointer_expression "*local_20[0]" (* "*") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")))) (; ";"))) (expression_statement "pcVar5 = pcVar13;" (assignment_expression "pcVar5 = pcVar13" (identifier "pcVar5") (= "=") (identifier "pcVar13")) (; ";")) (expression_statement "pcVar14 = local_20[0];" (assignment_expression "pcVar14 = local_20[0]" (identifier "pcVar14") (= "=") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}")))

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

void __regparm3 function_1(char *str,char **return_ptr)

{
  char var_4;
  type_1 var_18;
  type_2 *puVar3;
  type_3 uVar4;
  char *var_3;
  long var_8;
  type_2 **ppuVar7;
  type_4 var_19;
  type_5 **pp_Var9;
  int var_1;
  type_4 var_17;
  type_4 var_13;
  char *var_11;
  type_5 var_16;
  char *var_20;
  type_4 var_15;
  char *local_20 [3];
  type_3 uStack_14;
  char *var_6;
  
  var_1 = 0x36;
  uStack_14 = 0x16a4e;
  var_3 = function_1::text;
  while (var_1 != 0) {
    var_1 = var_1 + -1;
    var_2(var_3,"    ",4);
    var_3 = var_3 + 4;
  }
  parse_level_string::text[0xd7] = '\0';
  var_4 = *str;
  var_3 = function_1::text;
  var_6 = str;
  do {
    while( true ) {
      if (var_4 == '\0') {
        *var_3 = '\0';
        local_20[0] = var_6;
        var_3 = var_5(function_1::text);
        *return_ptr = var_3;
        return;
      }
      var_11 = var_6 + 1;
      local_20[0] = var_11;
      if (var_4 == '\\') break;
      if ((var_4 == 'x') && (var_3 != function_1::text)) {
        local_20[0] = var_6;
        var_8 = var_7(var_11,local_20,10);
        var_4 = var_3[-1];
        var_6 = var_3;
        var_11 = var_3;
        if (1 < var_8) {
          do {
            while( true ) {
              var_11 = var_6 + 1;
              *var_6 = var_4;
              var_6 = var_11;
              if (*var_11 != '\0') break;
              uVar4 = var_9(0,"level indent string is too long",5);
              var_10(3,0,uVar4);
              if (var_3 + var_8 + -1 == var_11) goto LAB_00016abf;
            }
          } while (var_3 + var_8 + -1 != var_11);
        }
        goto LAB_00016abf;
      }
      var_11 = var_3 + 1;
      *var_3 = *var_6;
      if (var_3[1] != '\0') goto LAB_00016abf;
      uVar4 = var_9(0,"level indent string is too long",5);
      var_10(3,0,uVar4);
      var_4 = *local_20[0];
      var_3 = var_11;
      var_6 = local_20[0];
    }
    switch(var_6[1]) {
    case '0':
      var_20 = var_6 + 2;
      var_13 = (type_4)var_6[2];
      if (var_6[2] != '\0') {
        local_20[0] = var_20;
        ppuVar7 = var_12();
        puVar3 = *ppuVar7;
        var_15 = var_13 - 0x30;
        if ((*(type_1 *)((int)puVar3 + var_13 * 2 + 1) & 8) == 0) {
          if (var_13 + 0x80 < 0x180) {
            pp_Var9 = var_14();
            var_13 = (*pp_Var9)[var_13];
          }
          var_15 = var_13 - 0x37;
        }
        if (var_15 < 9) {
          var_16 = (type_5)var_6[3];
          var_20 = var_6 + 3;
          if (var_6[3] != '\0') {
            var_20 = var_6 + 4;
            var_13 = var_16 - 0x30;
            if ((*(type_1 *)((int)puVar3 + var_16 * 2 + 1) & 8) == 0) {
              if (var_16 + 0x80U < 0x180) {
                pp_Var9 = var_14();
                var_16 = (*pp_Var9)[var_16];
              }
              var_13 = var_16 - 0x37;
            }
            if (var_13 < 9) {
              var_13 = var_13 + var_15 * 8;
              if (var_6[4] != '\0') {
                var_20 = var_6 + 5;
                var_16 = (type_5)var_6[4];
                var_17 = var_16 - 0x30;
                if ((*(type_1 *)((int)puVar3 + var_16 * 2 + 1) & 8) == 0) {
                  if (var_16 + 0x80U < 0x180) {
                    pp_Var9 = var_14();
                    var_16 = (*pp_Var9)[var_16];
                  }
                  var_17 = var_16 - 0x37;
                }
                if (var_17 < 9) {
                  var_13 = var_17 + var_13 * 8;
                }
              }
              goto LAB_00016ca4;
            }
          }
          var_13 = var_15 & 0xff;
        }
        else {
LAB_00016e6f:
          var_20 = var_6 + 3;
          var_13 = 0;
        }
      }
      goto LAB_00016ca4;
    default:
      *var_3 = var_6[1];
      break;
    case 'X':
    case 'x':
      local_20[0] = var_6 + 2;
      var_18 = var_6[2];
      var_13 = (type_4)var_18;
      var_20 = local_20[0];
      if (var_18 != 0) {
        var_20 = var_6 + 3;
        var_15 = (type_4)(char)var_18;
        ppuVar7 = var_12();
        puVar3 = *ppuVar7;
        var_17 = var_15 - 0x30;
        if ((*(type_1 *)((int)puVar3 + var_15 * 2 + 1) & 8) == 0) {
          if (var_15 + 0x80 < 0x180) {
            pp_Var9 = var_14();
            var_15 = (*pp_Var9)[var_15];
          }
          var_17 = var_15 - 0x37;
        }
        if (0x10 < var_17) goto LAB_00016e6f;
        var_13 = var_17;
        if (var_6[3] != '\0') {
          var_20 = var_6 + 4;
          var_16 = (type_5)var_6[3];
          var_19 = var_16 - 0x30;
          if ((*(type_1 *)((int)puVar3 + var_16 * 2 + 1) & 8) == 0) {
            if (var_16 + 0x80U < 0x180) {
              pp_Var9 = var_14();
              var_16 = (*pp_Var9)[var_16];
            }
            var_19 = var_16 - 0x37;
          }
          var_13 = var_17 * 0x10 + var_19;
          if (0x10 < var_19) {
            var_13 = var_17;
          }
        }
      }
LAB_00016ca4:
      *var_3 = (char)var_13;
      local_20[0] = var_20 + -1;
      break;
    case 'a':
      *var_3 = '\a';
      break;
    case 'b':
      *var_3 = '\b';
      break;
    case 'e':
      *var_3 = '\x1b';
      break;
    case 'f':
      *var_3 = '\f';
      break;
    case 'n':
      *var_3 = '\n';
      break;
    case 'r':
      *var_3 = '\r';
      break;
    case 't':
      *var_3 = '\t';
    }
    var_11 = var_3 + 1;
    local_20[0] = local_20[0] + 1;
LAB_00016abf:
    var_4 = *local_20[0];
    var_3 = var_11;
    var_6 = local_20[0];
  } while( true );
}


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

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

void __regparm3 MASKED(char *param_1,undefined4 *param_2)

{
  char cVar1;
  byte bVar2;
  ushort *puVar3;
  undefined4 uVar4;
  char *pcVar5;
  long lVar6;
  ushort **ppuVar7;
  uint uVar8;
  __int32_t **pp_Var9;
  int iVar10;
  uint uVar11;
  uint uVar12;
  char *pcVar13;
  __int32_t _Var15;
  char *pcStack_30;
  uint uStack_2c;
  char *local_20 [3];
  undefined4 uStack_14;
  char *pcVar14;
  
  iVar10 = 0x36;
  uStack_14 = 0x16a4e;
  pcVar5 = &DAT_0003b8c0;
  while (iVar10 != 0) {
    iVar10 = iVar10 + -1;
    builtin_strncpy(pcVar5,"    ",4);
    pcVar5 = pcVar5 + 4;
  }
  DAT_0003b997 = 0;
  cVar1 = *param_1;
  pcVar5 = &DAT_0003b8c0;
  pcVar14 = param_1;
  do {
    while( true ) {
      if (cVar1 == '\0') {
        *pcVar5 = '\0';
        local_20[0] = pcVar14;
        pcVar5 = strdup(&DAT_0003b8c0);
        *param_2 = pcVar5;
        return;
      }
      pcVar13 = pcVar14 + 1;
      local_20[0] = pcVar13;
      if (cVar1 == '\\') break;
      if ((cVar1 == 'x') && (pcVar5 != &DAT_0003b8c0)) {
        local_20[0] = pcVar14;
        lVar6 = strtol(pcVar13,local_20,10);
        cVar1 = pcVar5[-1];
        pcVar14 = pcVar5;
        pcVar13 = pcVar5;
        if (1 < lVar6) {
          do {
            while( true ) {
              pcVar13 = pcVar14 + 1;
              *pcVar14 = cVar1;
              pcVar14 = pcVar13;
              if (*pcVar13 != '\0') break;
              uVar4 = dcgettext(0,"level indent string is too long",5);
              error(3,0,uVar4);
              if (pcVar5 + lVar6 + -1 == pcVar13) goto LAB_00016abf;
            }
          } while (pcVar5 + lVar6 + -1 != pcVar13);
        }
        goto LAB_00016abf;
      }
      pcVar13 = pcVar5 + 1;
      *pcVar5 = *pcVar14;
      if (pcVar5[1] != '\0') goto LAB_00016abf;
      uVar4 = dcgettext(0,"level indent string is too long",5);
      error(3,0,uVar4);
      cVar1 = *local_20[0];
      pcVar5 = pcVar13;
      pcVar14 = local_20[0];
    }
    switch(pcVar14[1]) {
    case '0':
      pcStack_30 = pcVar14 + 2;
      uVar12 = (uint)pcVar14[2];
      if (pcVar14[2] != '\0') {
        local_20[0] = pcStack_30;
        ppuVar7 = __ctype_b_loc();
        puVar3 = *ppuVar7;
        uStack_2c = uVar12 - 0x30;
        if ((*(byte *)((int)puVar3 + uVar12 * 2 + 1) & 8) == 0) {
          if (uVar12 + 0x80 < 0x180) {
            pp_Var9 = __ctype_toupper_loc();
            uVar12 = (*pp_Var9)[uVar12];
          }
          uStack_2c = uVar12 - 0x37;
        }
        if (uStack_2c < 9) {
          _Var15 = (__int32_t)pcVar14[3];
          pcStack_30 = pcVar14 + 3;
          if (pcVar14[3] != '\0') {
            pcStack_30 = pcVar14 + 4;
            uVar12 = _Var15 - 0x30;
            if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {
              if (_Var15 + 0x80U < 0x180) {
                pp_Var9 = __ctype_toupper_loc();
                _Var15 = (*pp_Var9)[_Var15];
              }
              uVar12 = _Var15 - 0x37;
            }
            if (uVar12 < 9) {
              uVar12 = uVar12 + uStack_2c * 8;
              if (pcVar14[4] != '\0') {
                pcStack_30 = pcVar14 + 5;
                _Var15 = (__int32_t)pcVar14[4];
                uVar11 = _Var15 - 0x30;
                if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {
                  if (_Var15 + 0x80U < 0x180) {
                    pp_Var9 = __ctype_toupper_loc();
                    _Var15 = (*pp_Var9)[_Var15];
                  }
                  uVar11 = _Var15 - 0x37;
                }
                if (uVar11 < 9) {
                  uVar12 = uVar11 + uVar12 * 8;
                }
              }
              goto code_r0x00016ca4;
            }
          }
          uVar12 = uStack_2c & 0xff;
        }
        else {
code_r0x00016e6f:
          pcStack_30 = pcVar14 + 3;
          uVar12 = 0;
        }
      }
      goto code_r0x00016ca4;
    default:
      *pcVar5 = pcVar14[1];
      break;
    case 'X':
    case 'x':
      local_20[0] = pcVar14 + 2;
      bVar2 = pcVar14[2];
      uVar12 = (uint)bVar2;
      pcStack_30 = local_20[0];
      if (bVar2 != 0) {
        pcStack_30 = pcVar14 + 3;
        uStack_2c = (uint)(char)bVar2;
        ppuVar7 = __ctype_b_loc();
        puVar3 = *ppuVar7;
        uVar11 = uStack_2c - 0x30;
        if ((*(byte *)((int)puVar3 + uStack_2c * 2 + 1) & 8) == 0) {
          if (uStack_2c + 0x80 < 0x180) {
            pp_Var9 = __ctype_toupper_loc();
            uStack_2c = (*pp_Var9)[uStack_2c];
          }
          uVar11 = uStack_2c - 0x37;
        }
        if (0x10 < uVar11) goto code_r0x00016e6f;
        uVar12 = uVar11;
        if (pcVar14[3] != '\0') {
          pcStack_30 = pcVar14 + 4;
          _Var15 = (__int32_t)pcVar14[3];
          uVar8 = _Var15 - 0x30;
          if ((*(byte *)((int)puVar3 + _Var15 * 2 + 1) & 8) == 0) {
            if (_Var15 + 0x80U < 0x180) {
              pp_Var9 = __ctype_toupper_loc();
              _Var15 = (*pp_Var9)[_Var15];
            }
            uVar8 = _Var15 - 0x37;
          }
          uVar12 = uVar11 * 0x10 + uVar8;
          if (0x10 < uVar8) {
            uVar12 = uVar11;
          }
        }
      }
code_r0x00016ca4:
      *pcVar5 = (char)uVar12;
      local_20[0] = pcStack_30 + -1;
      break;
    case 'a':
      *pcVar5 = '\a';
      break;
    case 'b':
      *pcVar5 = '\b';
      break;
    case 'e':
      *pcVar5 = '\x1b';
      break;
    case 'f':
      *pcVar5 = '\f';
      break;
    case 'n':
      *pcVar5 = '\n';
      break;
    case 'r':
      *pcVar5 = '\r';
      break;
    case 't':
      *pcVar5 = '\t';
    }
    pcVar13 = pcVar5 + 1;
    local_20[0] = local_20[0] + 1;
LAB_00016abf:
    cVar1 = *local_20[0];
    pcVar5 = pcVar13;
    pcVar14 = local_20[0];
  } while( true );
}

