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

char * tstr(char **pp,int xlate)

{
  byte *pbVar1;
  byte bVar2;
  char *pcVar3;
  byte *pbVar4;
  byte bVar5;
  byte *local_24;
  
  pbVar1 = (byte *)*pp;
  if (*pbVar1 != 0x5c) {
    if (*pbVar1 == 0x5e) {
      *pp = (char *)(pbVar1 + 2);
      bVar2 = pbVar1[1] & 0x1f;
      tstr::buf._0_2_ = pbVar1[1] & 0xff1f;
    }
    else {
      *pp = (char *)(pbVar1 + 1);
      bVar2 = *pbVar1;
      tstr::buf[1] = '\0';
      tstr::buf[0] = bVar2;
      if (xlate == 0) goto LAB_00011c14;
    }
joined_r0x00011c6b:
    if (bVar2 == 0xb) {
LAB_00011c6d:
      return tstr::tstr_control_k;
    }
    goto LAB_00011c14;
  }
  bVar2 = pbVar1[1];
  switch(bVar2) {
  case 0x30:
  case 0x31:
  case 0x32:
  case 0x33:
  case 0x34:
  case 0x35:
  case 0x36:
  case 0x37:
    pbVar4 = pbVar1 + 1;
    bVar5 = 0;
    do {
      bVar5 = (bVar2 - 0x30) + bVar5 * '\b';
      pbVar4 = pbVar4 + 1;
      bVar2 = *pbVar4;
      local_24 = pbVar4;
      if (7 < (byte)(bVar2 - 0x30)) break;
      local_24 = pbVar1 + 4;
    } while (pbVar4 != pbVar1 + 4);
    *pp = (char *)local_24;
    if ((xlate == 0) || (bVar5 != 0xb)) {
      tstr::buf[1] = '\0';
      tstr::buf[0] = bVar5;
      return tstr::buf;
    }
    goto LAB_00011c6d;
  default:
    *pp = (char *)(pbVar1 + 2);
    bVar2 = pbVar1[1];
    tstr::buf[1] = '\0';
    tstr::buf[0] = bVar2;
    if (xlate != 0) goto joined_r0x00011c6b;
    goto LAB_00011c14;
  case 0x62:
    pcVar3 = "\b";
    *pp = (char *)(pbVar1 + 2);
    break;
  case 0x65:
    pcVar3 = tstr::buf;
    *pp = (char *)(pbVar1 + 2);
    tstr::buf[0] = '\x1b';
    tstr::buf[1] = '\0';
    break;
  case 0x6b:
    if (xlate != 0) {
      switch(pbVar1[2]) {
      case 0x44:
        tstr::buf[1] = '\x06';
        break;
      default:
        error("illegal char after \\k");
        *pp = (char *)(pbVar1 + 3);
        return "";
      case 0x55:
        tstr::buf[1] = '\x05';
        break;
      case 100:
        tstr::buf[1] = '\x04';
        break;
      case 0x65:
        tstr::buf[1] = '\b';
        break;
      case 0x68:
        tstr::buf[1] = '\a';
        break;
      case 0x6c:
        tstr::buf[1] = '\x02';
        break;
      case 0x72:
        tstr::buf[1] = '\x01';
        break;
      case 0x75:
        tstr::buf[1] = '\x03';
        break;
      case 0x78:
        tstr::buf[1] = '\t';
      }
      *pp = (char *)(pbVar1 + 3);
      tstr::buf[0] = '\v';
      builtin_strncpy(tstr::buf + 2,"\x06\x01\x01\x01",5);
      return tstr::buf;
    }
    *pp = (char *)(pbVar1 + 2);
    tstr::buf[1] = '\0';
    tstr::buf[0] = pbVar1[1];
LAB_00011c14:
    pcVar3 = tstr::buf;
    break;
  case 0x6e:
    pcVar3 = "\n";
    *pp = (char *)(pbVar1 + 2);
    break;
  case 0x72:
    pcVar3 = "\r";
    *pp = (char *)(pbVar1 + 2);
    break;
  case 0x74:
    pcVar3 = "\t";
    *pp = (char *)(pbVar1 + 2);
  }
  return pcVar3;
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

char * FUN_00011bd0(int *param_1,int param_2)

{
  byte *pbVar1;
  byte bVar2;
  undefined1 uVar3;
  char *pcVar4;
  byte *pbVar5;
  byte bVar6;
  byte *pbStack_24;
  
  pbVar1 = (byte *)*param_1;
  if (*pbVar1 != 0x5c) {
    if (*pbVar1 == 0x5e) {
      *param_1 = (int)(pbVar1 + 2);
      bVar2 = pbVar1[1] & 0x1f;
      _DAT_000152f0 = pbVar1[1] & 0xff1f;
    }
    else {
      *param_1 = (int)(pbVar1 + 1);
      bVar2 = *pbVar1;
      _DAT_000152f0 = (ushort)bVar2;
      if (param_2 == 0) goto LAB_00011c14;
    }
joined_r0x00011c6b:
    if (bVar2 == 0xb) {
LAB_00011c6d:
      return &DAT_00015008;
    }
    goto LAB_00011c14;
  }
  bVar2 = pbVar1[1];
  switch(bVar2) {
  case 0x30:
  case 0x31:
  case 0x32:
  case 0x33:
  case 0x34:
  case 0x35:
  case 0x36:
  case 0x37:
    pbVar5 = pbVar1 + 1;
    bVar6 = 0;
    do {
      bVar6 = (bVar2 - 0x30) + bVar6 * '\b';
      pbVar5 = pbVar5 + 1;
      bVar2 = *pbVar5;
      pbStack_24 = pbVar5;
      if (7 < (byte)(bVar2 - 0x30)) break;
      pbStack_24 = pbVar1 + 4;
    } while (pbVar5 != pbVar1 + 4);
    *param_1 = (int)pbStack_24;
    if ((param_2 == 0) || (bVar6 != 0xb)) {
      _DAT_000152f0 = (ushort)bVar6;
      return &DAT_000152f0;
    }
    goto LAB_00011c6d;
  default:
    *param_1 = (int)(pbVar1 + 2);
    bVar2 = pbVar1[1];
    _DAT_000152f0 = (ushort)bVar2;
    if (param_2 != 0) goto joined_r0x00011c6b;
    goto LAB_00011c14;
  case 0x62:
    pcVar4 = "\b";
    *param_1 = (int)(pbVar1 + 2);
    break;
  case 0x65:
    pcVar4 = &DAT_000152f0;
    *param_1 = (int)(pbVar1 + 2);
    _DAT_000152f0 = 0x1b;
    break;
  case 0x6b:
    if (param_2 != 0) {
      switch(pbVar1[2]) {
      case 0x44:
        uVar3 = 6;
        break;
      default:
        error("illegal char after \\k");
        *param_1 = (int)(pbVar1 + 3);
        return "";
      case 0x55:
        uVar3 = 5;
        break;
      case 100:
        uVar3 = 4;
        break;
      case 0x65:
        uVar3 = 8;
        break;
      case 0x68:
        uVar3 = 7;
        break;
      case 0x6c:
        uVar3 = 2;
        break;
      case 0x72:
        uVar3 = 1;
        break;
      case 0x75:
        uVar3 = 3;
        break;
      case 0x78:
        uVar3 = 9;
      }
      *param_1 = (int)(pbVar1 + 3);
      _DAT_000152f0 = CONCAT11(uVar3,0xb);
      uRam000152f2 = 0x1010106;
      uRam000152f6 = 0;
      return &DAT_000152f0;
    }
    *param_1 = (int)(pbVar1 + 2);
    _DAT_000152f0 = (ushort)pbVar1[1];
LAB_00011c14:
    pcVar4 = &DAT_000152f0;
    break;
  case 0x6e:
    pcVar4 = "\n";
    *param_1 = (int)(pbVar1 + 2);
    break;
  case 0x72:
    pcVar4 = "\r";
    *param_1 = (int)(pbVar1 + 2);
    break;
  case 0x74:
    pcVar4 = "\t";
    *param_1 = (int)(pbVar1 + 2);
  }
  return pcVar4;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00011540
ADD EBX,0x33c3
SUB ESP,0x1c
MOV ESI,dword ptr [ESP + 0x30]
MOV ECX,dword ptr [ESI]
MOVZX EAX,byte ptr [ECX]
CMP AL,0x5c
JZ 0x00011c28
CMP AL,0x5e
JZ 0x00011c50
LEA EAX,[ECX + 0x1]
MOV EDX,dword ptr [ESP + 0x34]
MOV dword ptr [ESI],EAX
MOVZX EAX,byte ptr [ECX]
MOV byte ptr [EBX + 0x355],0x0
MOV byte ptr [EBX + 0x354],AL
TEST EDX,EDX
JZ 0x00011c14
CMP AL,0xb
JZ 0x00011c6d
LEA EAX,[EBX + 0x354]
ADD ESP,0x1c
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOVZX EAX,byte ptr [ECX + 0x1]
LEA EDX,[EAX + -0x30]
CMP DL,0x44
JA 0x00011d70
MOVZX EDX,DL
MOV EDI,dword ptr [EBX + EDX*0x4 + 0xffffe4f0]
ADD EDI,EBX
JMP EDI
LEA EAX,[ECX + 0x2]
MOV dword ptr [ESI],EAX
MOVZX EAX,byte ptr [ECX + 0x1]
MOV byte ptr [EBX + 0x355],0x0
AND EAX,0x1f
MOV byte ptr [EBX + 0x354],AL
CMP AL,0xb
JNZ 0x00011c14
ADD ESP,0x1c
LEA EAX,[EBX + 0x6c]
POP EBX
POP ESI
POP EDI
POP EBP
RET
LEA EAX,[ECX + 0x2]
MOV dword ptr [ESI],EAX
MOVZX EAX,byte ptr [ECX + 0x1]
MOV ECX,dword ptr [ESP + 0x34]
MOV byte ptr [EBX + 0x355],0x0
MOV byte ptr [EBX + 0x354],AL
TEST ECX,ECX
JNZ 0x00011c10
JMP 0x00011c14
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */\n\nchar * FUN_00011bd0(int *param_1,int param_2)\n\n{\n  byte *pbVar1;\n  byte bVar2;\n  undefined1 uVar3;\n  char *pcVar4;\n  byte *pbVar5;\n  byte bVar6;\n  byte *pbStack_24;\n  \n  pbVar1 = (byte *)*param_1;\n  if (*pbVar1 != 0x5c) {\n    if (*pbVar1 == 0x5e) {\n      *param_1 = (int)(pbVar1 + 2);\n      bVar2 = pbVar1[1] & 0x1f;\n      _DAT_000152f0 = pbVar1[1] & 0xff1f;\n    }\n    else {\n      *param_1 = (int)(pbVar1 + 1);\n      bVar2 = *pbVar1;\n      _DAT_000152f0 = (ushort)bVar2;\n      if (param_2 == 0) goto LAB_00011c14;\n    }\njoined_r0x00011c6b:\n    if (bVar2 == 0xb) {\nLAB_00011c6d:\n      return &DAT_00015008;\n    }\n    goto LAB_00011c14;\n  }\n  bVar2 = pbVar1[1];\n  switch(bVar2) {\n  case 0x30:\n  case 0x31:\n  case 0x32:\n  case 0x33:\n  case 0x34:\n  case 0x35:\n  case 0x36:\n  case 0x37:\n    pbVar5 = pbVar1 + 1;\n    bVar6 = 0;\n    do {\n      bVar6 = (bVar2 - 0x30) + bVar6 * '\b';\n      pbVar5 = pbVar5 + 1;\n      bVar2 = *pbVar5;\n      pbStack_24 = pbVar5;\n      if (7 < (byte)(bVar2 - 0x30)) break;\n      pbStack_24 = pbVar1 + 4;\n    } while (pbVar5 != pbVar1 + 4);\n    *param_1 = (int)pbStack_24;\n    if ((param_2 == 0) || (bVar6 != 0xb)) {\n      _DAT_000152f0 = (ushort)bVar6;\n      return &DAT_000152f0;\n    }\n    goto LAB_00011c6d;\n  default:\n    *param_1 = (int)(pbVar1 + 2);\n    bVar2 = pbVar1[1];\n    _DAT_000152f0 = (ushort)bVar2;\n    if (param_2 != 0) goto joined_r0x00011c6b;\n    goto LAB_00011c14;\n  case 0x62:\n    pcVar4 = "\b";\n    *param_1 = (int)(pbVar1 + 2);\n    break;\n  case 0x65:\n    pcVar4 = &DAT_000152f0;\n    *param_1 = (int)(pbVar1 + 2);\n    _DAT_000152f0 = 0x1b;\n    break;\n  case 0x6b:\n    if (param_2 != 0) {\n      switch(pbVar1[2]) {\n      case 0x44:\n        uVar3 = 6;\n        break;\n      default:\n        error("illegal char after \\k");\n        *param_1 = (int)(pbVar1 + 3);\n        return "";\n      case 0x55:\n        uVar3 = 5;\n        break;\n      case 100:\n        uVar3 = 4;\n        break;\n      case 0x65:\n        uVar3 = 8;\n        break;\n      case 0x68:\n        uVar3 = 7;\n        break;\n      case 0x6c:\n        uVar3 = 2;\n        break;\n      case 0x72:\n        uVar3 = 1;\n        break;\n      case 0x75:\n        uVar3 = 3;\n        break;\n      case 0x78:\n        uVar3 = 9;\n      }\n      *param_1 = (int)(pbVar1 + 3);\n      _DAT_000152f0 = CONCAT11(uVar3,0xb);\n      uRam000152f2 = 0x1010106;\n      uRam000152f6 = 0;\n      return &DAT_000152f0;\n    }\n    *param_1 = (int)(pbVar1 + 2);\n    _DAT_000152f0 = (ushort)pbVar1[1];\nLAB_00011c14:\n    pcVar4 = &DAT_000152f0;\n    break;\n  case 0x6e:\n    pcVar4 = "\n";\n    *param_1 = (int)(pbVar1 + 2);\n    break;\n  case 0x72:\n    pcVar4 = "\r";\n    *param_1 = (int)(pbVar1 + 2);\n    break;\n  case 0x74:\n    pcVar4 = "\t";\n    *param_1 = (int)(pbVar1 + 2);\n  }\n  return pcVar4;\n}\n\n" comment comment (function_definition "char * FUN_00011bd0(int *param_1,int param_2)\n\n{\n  byte *pbVar1;\n  byte bVar2;\n  undefined1 uVar3;\n  char *pcVar4;\n  byte *pbVar5;\n  byte bVar6;\n  byte *pbStack_24;\n  \n  pbVar1 = (byte *)*param_1;\n  if (*pbVar1 != 0x5c) {\n    if (*pbVar1 == 0x5e) {\n      *param_1 = (int)(pbVar1 + 2);\n      bVar2 = pbVar1[1] & 0x1f;\n      _DAT_000152f0 = pbVar1[1] & 0xff1f;\n    }\n    else {\n      *param_1 = (int)(pbVar1 + 1);\n      bVar2 = *pbVar1;\n      _DAT_000152f0 = (ushort)bVar2;\n      if (param_2 == 0) goto LAB_00011c14;\n    }\njoined_r0x00011c6b:\n    if (bVar2 == 0xb) {\nLAB_00011c6d:\n      return &DAT_00015008;\n    }\n    goto LAB_00011c14;\n  }\n  bVar2 = pbVar1[1];\n  switch(bVar2) {\n  case 0x30:\n  case 0x31:\n  case 0x32:\n  case 0x33:\n  case 0x34:\n  case 0x35:\n  case 0x36:\n  case 0x37:\n    pbVar5 = pbVar1 + 1;\n    bVar6 = 0;\n    do {\n      bVar6 = (bVar2 - 0x30) + bVar6 * '\b';\n      pbVar5 = pbVar5 + 1;\n      bVar2 = *pbVar5;\n      pbStack_24 = pbVar5;\n      if (7 < (byte)(bVar2 - 0x30)) break;\n      pbStack_24 = pbVar1 + 4;\n    } while (pbVar5 != pbVar1 + 4);\n    *param_1 = (int)pbStack_24;\n    if ((param_2 == 0) || (bVar6 != 0xb)) {\n      _DAT_000152f0 = (ushort)bVar6;\n      return &DAT_000152f0;\n    }\n    goto LAB_00011c6d;\n  default:\n    *param_1 = (int)(pbVar1 + 2);\n    bVar2 = pbVar1[1];\n    _DAT_000152f0 = (ushort)bVar2;\n    if (param_2 != 0) goto joined_r0x00011c6b;\n    goto LAB_00011c14;\n  case 0x62:\n    pcVar4 = "\b";\n    *param_1 = (int)(pbVar1 + 2);\n    break;\n  case 0x65:\n    pcVar4 = &DAT_000152f0;\n    *param_1 = (int)(pbVar1 + 2);\n    _DAT_000152f0 = 0x1b;\n    break;\n  case 0x6b:\n    if (param_2 != 0) {\n      switch(pbVar1[2]) {\n      case 0x44:\n        uVar3 = 6;\n        break;\n      default:\n        error("illegal char after \\k");\n        *param_1 = (int)(pbVar1 + 3);\n        return "";\n      case 0x55:\n        uVar3 = 5;\n        break;\n      case 100:\n        uVar3 = 4;\n        break;\n      case 0x65:\n        uVar3 = 8;\n        break;\n      case 0x68:\n        uVar3 = 7;\n        break;\n      case 0x6c:\n        uVar3 = 2;\n        break;\n      case 0x72:\n        uVar3 = 1;\n        break;\n      case 0x75:\n        uVar3 = 3;\n        break;\n      case 0x78:\n        uVar3 = 9;\n      }\n      *param_1 = (int)(pbVar1 + 3);\n      _DAT_000152f0 = CONCAT11(uVar3,0xb);\n      uRam000152f2 = 0x1010106;\n      uRam000152f6 = 0;\n      return &DAT_000152f0;\n    }\n    *param_1 = (int)(pbVar1 + 2);\n    _DAT_000152f0 = (ushort)pbVar1[1];\nLAB_00011c14:\n    pcVar4 = &DAT_000152f0;\n    break;\n  case 0x6e:\n    pcVar4 = "\n";\n    *param_1 = (int)(pbVar1 + 2);\n    break;\n  case 0x72:\n    pcVar4 = "\r";\n    *param_1 = (int)(pbVar1 + 2);\n    break;\n  case 0x74:\n    pcVar4 = "\t";\n    *param_1 = (int)(pbVar1 + 2);\n  }\n  return pcVar4;\n}" primitive_type (pointer_declarator "* FUN_00011bd0(int *param_1,int param_2)" * (function_declarator "FUN_00011bd0(int *param_1,int param_2)" identifier (parameter_list "(int *param_1,int param_2)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) )))) (compound_statement "{\n  byte *pbVar1;\n  byte bVar2;\n  undefined1 uVar3;\n  char *pcVar4;\n  byte *pbVar5;\n  byte bVar6;\n  byte *pbStack_24;\n  \n  pbVar1 = (byte *)*param_1;\n  if (*pbVar1 != 0x5c) {\n    if (*pbVar1 == 0x5e) {\n      *param_1 = (int)(pbVar1 + 2);\n      bVar2 = pbVar1[1] & 0x1f;\n      _DAT_000152f0 = pbVar1[1] & 0xff1f;\n    }\n    else {\n      *param_1 = (int)(pbVar1 + 1);\n      bVar2 = *pbVar1;\n      _DAT_000152f0 = (ushort)bVar2;\n      if (param_2 == 0) goto LAB_00011c14;\n    }\njoined_r0x00011c6b:\n    if (bVar2 == 0xb) {\nLAB_00011c6d:\n      return &DAT_00015008;\n    }\n    goto LAB_00011c14;\n  }\n  bVar2 = pbVar1[1];\n  switch(bVar2) {\n  case 0x30:\n  case 0x31:\n  case 0x32:\n  case 0x33:\n  case 0x34:\n  case 0x35:\n  case 0x36:\n  case 0x37:\n    pbVar5 = pbVar1 + 1;\n    bVar6 = 0;\n    do {\n      bVar6 = (bVar2 - 0x30) + bVar6 * '\b';\n      pbVar5 = pbVar5 + 1;\n      bVar2 = *pbVar5;\n      pbStack_24 = pbVar5;\n      if (7 < (byte)(bVar2 - 0x30)) break;\n      pbStack_24 = pbVar1 + 4;\n    } while (pbVar5 != pbVar1 + 4);\n    *param_1 = (int)pbStack_24;\n    if ((param_2 == 0) || (bVar6 != 0xb)) {\n      _DAT_000152f0 = (ushort)bVar6;\n      return &DAT_000152f0;\n    }\n    goto LAB_00011c6d;\n  default:\n    *param_1 = (int)(pbVar1 + 2);\n    bVar2 = pbVar1[1];\n    _DAT_000152f0 = (ushort)bVar2;\n    if (param_2 != 0) goto joined_r0x00011c6b;\n    goto LAB_00011c14;\n  case 0x62:\n    pcVar4 = "\b";\n    *param_1 = (int)(pbVar1 + 2);\n    break;\n  case 0x65:\n    pcVar4 = &DAT_000152f0;\n    *param_1 = (int)(pbVar1 + 2);\n    _DAT_000152f0 = 0x1b;\n    break;\n  case 0x6b:\n    if (param_2 != 0) {\n      switch(pbVar1[2]) {\n      case 0x44:\n        uVar3 = 6;\n        break;\n      default:\n        error("illegal char after \\k");\n        *param_1 = (int)(pbVar1 + 3);\n        return "";\n      case 0x55:\n        uVar3 = 5;\n        break;\n      case 100:\n        uVar3 = 4;\n        break;\n      case 0x65:\n        uVar3 = 8;\n        break;\n      case 0x68:\n        uVar3 = 7;\n        break;\n      case 0x6c:\n        uVar3 = 2;\n        break;\n      case 0x72:\n        uVar3 = 1;\n        break;\n      case 0x75:\n        uVar3 = 3;\n        break;\n      case 0x78:\n        uVar3 = 9;\n      }\n      *param_1 = (int)(pbVar1 + 3);\n      _DAT_000152f0 = CONCAT11(uVar3,0xb);\n      uRam000152f2 = 0x1010106;\n      uRam000152f6 = 0;\n      return &DAT_000152f0;\n    }\n    *param_1 = (int)(pbVar1 + 2);\n    _DAT_000152f0 = (ushort)pbVar1[1];\nLAB_00011c14:\n    pcVar4 = &DAT_000152f0;\n    break;\n  case 0x6e:\n    pcVar4 = "\n";\n    *param_1 = (int)(pbVar1 + 2);\n    break;\n  case 0x72:\n    pcVar4 = "\r";\n    *param_1 = (int)(pbVar1 + 2);\n    break;\n  case 0x74:\n    pcVar4 = "\t";\n    *param_1 = (int)(pbVar1 + 2);\n  }\n  return pcVar4;\n}" { (declaration "byte *pbVar1;" type_identifier (pointer_declarator "*pbVar1" * identifier) ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "undefined1 uVar3;" type_identifier identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "byte *pbVar5;" type_identifier (pointer_declarator "*pbVar5" * identifier) ;) (declaration "byte bVar6;" type_identifier identifier ;) (declaration "byte *pbStack_24;" type_identifier (pointer_declarator "*pbStack_24" * identifier) ;) (expression_statement "pbVar1 = (byte *)*param_1;" (assignment_expression "pbVar1 = (byte *)*param_1" identifier = (cast_expression "(byte *)*param_1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_1" * identifier))) ;) (if_statement "if (*pbVar1 != 0x5c) {\n    if (*pbVar1 == 0x5e) {\n      *param_1 = (int)(pbVar1 + 2);\n      bVar2 = pbVar1[1] & 0x1f;\n      _DAT_000152f0 = pbVar1[1] & 0xff1f;\n    }\n    else {\n      *param_1 = (int)(pbVar1 + 1);\n      bVar2 = *pbVar1;\n      _DAT_000152f0 = (ushort)bVar2;\n      if (param_2 == 0) goto LAB_00011c14;\n    }\njoined_r0x00011c6b:\n    if (bVar2 == 0xb) {\nLAB_00011c6d:\n      return &DAT_00015008;\n    }\n    goto LAB_00011c14;\n  }" if (parenthesized_expression "(*pbVar1 != 0x5c)" ( (binary_expression "*pbVar1 != 0x5c" (pointer_expression "*pbVar1" * identifier) != number_literal) )) (compound_statement "{\n    if (*pbVar1 == 0x5e) {\n      *param_1 = (int)(pbVar1 + 2);\n      bVar2 = pbVar1[1] & 0x1f;\n      _DAT_000152f0 = pbVar1[1] & 0xff1f;\n    }\n    else {\n      *param_1 = (int)(pbVar1 + 1);\n      bVar2 = *pbVar1;\n      _DAT_000152f0 = (ushort)bVar2;\n      if (param_2 == 0) goto LAB_00011c14;\n    }\njoined_r0x00011c6b:\n    if (bVar2 == 0xb) {\nLAB_00011c6d:\n      return &DAT_00015008;\n    }\n    goto LAB_00011c14;\n  }" { (if_statement "if (*pbVar1 == 0x5e) {\n      *param_1 = (int)(pbVar1 + 2);\n      bVar2 = pbVar1[1] & 0x1f;\n      _DAT_000152f0 = pbVar1[1] & 0xff1f;\n    }\n    else {\n      *param_1 = (int)(pbVar1 + 1);\n      bVar2 = *pbVar1;\n      _DAT_000152f0 = (ushort)bVar2;\n      if (param_2 == 0) goto LAB_00011c14;\n    }" if (parenthesized_expression "(*pbVar1 == 0x5e)" ( (binary_expression "*pbVar1 == 0x5e" (pointer_expression "*pbVar1" * identifier) == number_literal) )) (compound_statement "{\n      *param_1 = (int)(pbVar1 + 2);\n      bVar2 = pbVar1[1] & 0x1f;\n      _DAT_000152f0 = pbVar1[1] & 0xff1f;\n    }" { (expression_statement "*param_1 = (int)(pbVar1 + 2);" (assignment_expression "*param_1 = (int)(pbVar1 + 2)" (pointer_expression "*param_1" * identifier) = (cast_expression "(int)(pbVar1 + 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar1 + 2)" ( (binary_expression "pbVar1 + 2" identifier + number_literal) )))) ;) (expression_statement "bVar2 = pbVar1[1] & 0x1f;" (assignment_expression "bVar2 = pbVar1[1] & 0x1f" identifier = (binary_expression "pbVar1[1] & 0x1f" (subscript_expression "pbVar1[1]" identifier [ number_literal ]) & number_literal)) ;) (expression_statement "_DAT_000152f0 = pbVar1[1] & 0xff1f;" (assignment_expression "_DAT_000152f0 = pbVar1[1] & 0xff1f" identifier = (binary_expression "pbVar1[1] & 0xff1f" (subscript_expression "pbVar1[1]" identifier [ number_literal ]) & number_literal)) ;) }) (else_clause "else {\n      *param_1 = (int)(pbVar1 + 1);\n      bVar2 = *pbVar1;\n      _DAT_000152f0 = (ushort)bVar2;\n      if (param_2 == 0) goto LAB_00011c14;\n    }" else (compound_statement "{\n      *param_1 = (int)(pbVar1 + 1);\n      bVar2 = *pbVar1;\n      _DAT_000152f0 = (ushort)bVar2;\n      if (param_2 == 0) goto LAB_00011c14;\n    }" { (expression_statement "*param_1 = (int)(pbVar1 + 1);" (assignment_expression "*param_1 = (int)(pbVar1 + 1)" (pointer_expression "*param_1" * identifier) = (cast_expression "(int)(pbVar1 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar1 + 1)" ( (binary_expression "pbVar1 + 1" identifier + number_literal) )))) ;) (expression_statement "bVar2 = *pbVar1;" (assignment_expression "bVar2 = *pbVar1" identifier = (pointer_expression "*pbVar1" * identifier)) ;) (expression_statement "_DAT_000152f0 = (ushort)bVar2;" (assignment_expression "_DAT_000152f0 = (ushort)bVar2" identifier = (cast_expression "(ushort)bVar2" ( (type_descriptor "ushort" type_identifier) ) identifier)) ;) (if_statement "if (param_2 == 0) goto LAB_00011c14;" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00011c14;" goto statement_identifier ;)) }))) (labeled_statement "joined_r0x00011c6b:\n    if (bVar2 == 0xb) {\nLAB_00011c6d:\n      return &DAT_00015008;\n    }" statement_identifier : (if_statement "if (bVar2 == 0xb) {\nLAB_00011c6d:\n      return &DAT_00015008;\n    }" if (parenthesized_expression "(bVar2 == 0xb)" ( (binary_expression "bVar2 == 0xb" identifier == number_literal) )) (compound_statement "{\nLAB_00011c6d:\n      return &DAT_00015008;\n    }" { (labeled_statement "LAB_00011c6d:\n      return &DAT_00015008;" statement_identifier : (return_statement "return &DAT_00015008;" return (pointer_expression "&DAT_00015008" & identifier) ;)) }))) (goto_statement "goto LAB_00011c14;" goto statement_identifier ;) })) (expression_statement "bVar2 = pbVar1[1];" (assignment_expression "bVar2 = pbVar1[1]" identifier = (subscript_expression "pbVar1[1]" identifier [ number_literal ])) ;) (switch_statement "switch(bVar2) {\n  case 0x30:\n  case 0x31:\n  case 0x32:\n  case 0x33:\n  case 0x34:\n  case 0x35:\n  case 0x36:\n  case 0x37:\n    pbVar5 = pbVar1 + 1;\n    bVar6 = 0;\n    do {\n      bVar6 = (bVar2 - 0x30) + bVar6 * '\b';\n      pbVar5 = pbVar5 + 1;\n      bVar2 = *pbVar5;\n      pbStack_24 = pbVar5;\n      if (7 < (byte)(bVar2 - 0x30)) break;\n      pbStack_24 = pbVar1 + 4;\n    } while (pbVar5 != pbVar1 + 4);\n    *param_1 = (int)pbStack_24;\n    if ((param_2 == 0) || (bVar6 != 0xb)) {\n      _DAT_000152f0 = (ushort)bVar6;\n      return &DAT_000152f0;\n    }\n    goto LAB_00011c6d;\n  default:\n    *param_1 = (int)(pbVar1 + 2);\n    bVar2 = pbVar1[1];\n    _DAT_000152f0 = (ushort)bVar2;\n    if (param_2 != 0) goto joined_r0x00011c6b;\n    goto LAB_00011c14;\n  case 0x62:\n    pcVar4 = "\b";\n    *param_1 = (int)(pbVar1 + 2);\n    break;\n  case 0x65:\n    pcVar4 = &DAT_000152f0;\n    *param_1 = (int)(pbVar1 + 2);\n    _DAT_000152f0 = 0x1b;\n    break;\n  case 0x6b:\n    if (param_2 != 0) {\n      switch(pbVar1[2]) {\n      case 0x44:\n        uVar3 = 6;\n        break;\n      default:\n        error("illegal char after \\k");\n        *param_1 = (int)(pbVar1 + 3);\n        return "";\n      case 0x55:\n        uVar3 = 5;\n        break;\n      case 100:\n        uVar3 = 4;\n        break;\n      case 0x65:\n        uVar3 = 8;\n        break;\n      case 0x68:\n        uVar3 = 7;\n        break;\n      case 0x6c:\n        uVar3 = 2;\n        break;\n      case 0x72:\n        uVar3 = 1;\n        break;\n      case 0x75:\n        uVar3 = 3;\n        break;\n      case 0x78:\n        uVar3 = 9;\n      }\n      *param_1 = (int)(pbVar1 + 3);\n      _DAT_000152f0 = CONCAT11(uVar3,0xb);\n      uRam000152f2 = 0x1010106;\n      uRam000152f6 = 0;\n      return &DAT_000152f0;\n    }\n    *param_1 = (int)(pbVar1 + 2);\n    _DAT_000152f0 = (ushort)pbVar1[1];\nLAB_00011c14:\n    pcVar4 = &DAT_000152f0;\n    break;\n  case 0x6e:\n    pcVar4 = "\n";\n    *param_1 = (int)(pbVar1 + 2);\n    break;\n  case 0x72:\n    pcVar4 = "\r";\n    *param_1 = (int)(pbVar1 + 2);\n    break;\n  case 0x74:\n    pcVar4 = "\t";\n    *param_1 = (int)(pbVar1 + 2);\n  }" switch (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n  case 0x30:\n  case 0x31:\n  case 0x32:\n  case 0x33:\n  case 0x34:\n  case 0x35:\n  case 0x36:\n  case 0x37:\n    pbVar5 = pbVar1 + 1;\n    bVar6 = 0;\n    do {\n      bVar6 = (bVar2 - 0x30) + bVar6 * '\b';\n      pbVar5 = pbVar5 + 1;\n      bVar2 = *pbVar5;\n      pbStack_24 = pbVar5;\n      if (7 < (byte)(bVar2 - 0x30)) break;\n      pbStack_24 = pbVar1 + 4;\n    } while (pbVar5 != pbVar1 + 4);\n    *param_1 = (int)pbStack_24;\n    if ((param_2 == 0) || (bVar6 != 0xb)) {\n      _DAT_000152f0 = (ushort)bVar6;\n      return &DAT_000152f0;\n    }\n    goto LAB_00011c6d;\n  default:\n    *param_1 = (int)(pbVar1 + 2);\n    bVar2 = pbVar1[1];\n    _DAT_000152f0 = (ushort)bVar2;\n    if (param_2 != 0) goto joined_r0x00011c6b;\n    goto LAB_00011c14;\n  case 0x62:\n    pcVar4 = "\b";\n    *param_1 = (int)(pbVar1 + 2);\n    break;\n  case 0x65:\n    pcVar4 = &DAT_000152f0;\n    *param_1 = (int)(pbVar1 + 2);\n    _DAT_000152f0 = 0x1b;\n    break;\n  case 0x6b:\n    if (param_2 != 0) {\n      switch(pbVar1[2]) {\n      case 0x44:\n        uVar3 = 6;\n        break;\n      default:\n        error("illegal char after \\k");\n        *param_1 = (int)(pbVar1 + 3);\n        return "";\n      case 0x55:\n        uVar3 = 5;\n        break;\n      case 100:\n        uVar3 = 4;\n        break;\n      case 0x65:\n        uVar3 = 8;\n        break;\n      case 0x68:\n        uVar3 = 7;\n        break;\n      case 0x6c:\n        uVar3 = 2;\n        break;\n      case 0x72:\n        uVar3 = 1;\n        break;\n      case 0x75:\n        uVar3 = 3;\n        break;\n      case 0x78:\n        uVar3 = 9;\n      }\n      *param_1 = (int)(pbVar1 + 3);\n      _DAT_000152f0 = CONCAT11(uVar3,0xb);\n      uRam000152f2 = 0x1010106;\n      uRam000152f6 = 0;\n      return &DAT_000152f0;\n    }\n    *param_1 = (int)(pbVar1 + 2);\n    _DAT_000152f0 = (ushort)pbVar1[1];\nLAB_00011c14:\n    pcVar4 = &DAT_000152f0;\n    break;\n  case 0x6e:\n    pcVar4 = "\n";\n    *param_1 = (int)(pbVar1 + 2);\n    break;\n  case 0x72:\n    pcVar4 = "\r";\n    *param_1 = (int)(pbVar1 + 2);\n    break;\n  case 0x74:\n    pcVar4 = "\t";\n    *param_1 = (int)(pbVar1 + 2);\n  }" { (case_statement "case 0x30:" case number_literal :) (case_statement "case 0x31:" case number_literal :) (case_statement "case 0x32:" case number_literal :) (case_statement "case 0x33:" case number_literal :) (case_statement "case 0x34:" case number_literal :) (case_statement "case 0x35:" case number_literal :) (case_statement "case 0x36:" case number_literal :) (case_statement "case 0x37:\n    pbVar5 = pbVar1 + 1;\n    bVar6 = 0;\n    do {\n      bVar6 = (bVar2 - 0x30) + bVar6 * '\b';\n      pbVar5 = pbVar5 + 1;\n      bVar2 = *pbVar5;\n      pbStack_24 = pbVar5;\n      if (7 < (byte)(bVar2 - 0x30)) break;\n      pbStack_24 = pbVar1 + 4;\n    } while (pbVar5 != pbVar1 + 4);\n    *param_1 = (int)pbStack_24;\n    if ((param_2 == 0) || (bVar6 != 0xb)) {\n      _DAT_000152f0 = (ushort)bVar6;\n      return &DAT_000152f0;\n    }\n    goto LAB_00011c6d;" case number_literal : (expression_statement "pbVar5 = pbVar1 + 1;" (assignment_expression "pbVar5 = pbVar1 + 1" identifier = (binary_expression "pbVar1 + 1" identifier + number_literal)) ;) (expression_statement "bVar6 = 0;" (assignment_expression "bVar6 = 0" identifier = number_literal) ;) (do_statement "do {\n      bVar6 = (bVar2 - 0x30) + bVar6 * '\b';\n      pbVar5 = pbVar5 + 1;\n      bVar2 = *pbVar5;\n      pbStack_24 = pbVar5;\n      if (7 < (byte)(bVar2 - 0x30)) break;\n      pbStack_24 = pbVar1 + 4;\n    } while (pbVar5 != pbVar1 + 4);" do (compound_statement "{\n      bVar6 = (bVar2 - 0x30) + bVar6 * '\b';\n      pbVar5 = pbVar5 + 1;\n      bVar2 = *pbVar5;\n      pbStack_24 = pbVar5;\n      if (7 < (byte)(bVar2 - 0x30)) break;\n      pbStack_24 = pbVar1 + 4;\n    }" { (expression_statement "bVar6 = (bVar2 - 0x30) + bVar6 * '\b';" (assignment_expression "bVar6 = (bVar2 - 0x30) + bVar6 * '\b'" identifier = (binary_expression "(bVar2 - 0x30) + bVar6 * '\b'" (parenthesized_expression "(bVar2 - 0x30)" ( (binary_expression "bVar2 - 0x30" identifier - number_literal) )) + (binary_expression "bVar6 * '\b'" identifier * (char_literal "'\b'" ' escape_sequence ')))) ;) (expression_statement "pbVar5 = pbVar5 + 1;" (assignment_expression "pbVar5 = pbVar5 + 1" identifier = (binary_expression "pbVar5 + 1" identifier + number_literal)) ;) (expression_statement "bVar2 = *pbVar5;" (assignment_expression "bVar2 = *pbVar5" identifier = (pointer_expression "*pbVar5" * identifier)) ;) (expression_statement "pbStack_24 = pbVar5;" (assignment_expression "pbStack_24 = pbVar5" identifier = identifier) ;) (if_statement "if (7 < (byte)(bVar2 - 0x30)) break;" if (parenthesized_expression "(7 < (byte)(bVar2 - 0x30))" ( (binary_expression "7 < (byte)(bVar2 - 0x30)" number_literal < (call_expression "(byte)(bVar2 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar2 - 0x30)" ( (binary_expression "bVar2 - 0x30" identifier - number_literal) )))) )) (break_statement "break;" break ;)) (expression_statement "pbStack_24 = pbVar1 + 4;" (assignment_expression "pbStack_24 = pbVar1 + 4" identifier = (binary_expression "pbVar1 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(pbVar5 != pbVar1 + 4)" ( (binary_expression "pbVar5 != pbVar1 + 4" identifier != (binary_expression "pbVar1 + 4" identifier + number_literal)) )) ;) (expression_statement "*param_1 = (int)pbStack_24;" (assignment_expression "*param_1 = (int)pbStack_24" (pointer_expression "*param_1" * identifier) = (cast_expression "(int)pbStack_24" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if ((param_2 == 0) || (bVar6 != 0xb)) {\n      _DAT_000152f0 = (ushort)bVar6;\n      return &DAT_000152f0;\n    }" if (parenthesized_expression "((param_2 == 0) || (bVar6 != 0xb))" ( (binary_expression "(param_2 == 0) || (bVar6 != 0xb)" (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) || (parenthesized_expression "(bVar6 != 0xb)" ( (binary_expression "bVar6 != 0xb" identifier != number_literal) ))) )) (compound_statement "{\n      _DAT_000152f0 = (ushort)bVar6;\n      return &DAT_000152f0;\n    }" { (expression_statement "_DAT_000152f0 = (ushort)bVar6;" (assignment_expression "_DAT_000152f0 = (ushort)bVar6" identifier = (cast_expression "(ushort)bVar6" ( (type_descriptor "ushort" type_identifier) ) identifier)) ;) (return_statement "return &DAT_000152f0;" return (pointer_expression "&DAT_000152f0" & identifier) ;) })) (goto_statement "goto LAB_00011c6d;" goto statement_identifier ;)) (case_statement "default:\n    *param_1 = (int)(pbVar1 + 2);\n    bVar2 = pbVar1[1];\n    _DAT_000152f0 = (ushort)bVar2;\n    if (param_2 != 0) goto joined_r0x00011c6b;\n    goto LAB_00011c14;" default : (expression_statement "*param_1 = (int)(pbVar1 + 2);" (assignment_expression "*param_1 = (int)(pbVar1 + 2)" (pointer_expression "*param_1" * identifier) = (cast_expression "(int)(pbVar1 + 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar1 + 2)" ( (binary_expression "pbVar1 + 2" identifier + number_literal) )))) ;) (expression_statement "bVar2 = pbVar1[1];" (assignment_expression "bVar2 = pbVar1[1]" identifier = (subscript_expression "pbVar1[1]" identifier [ number_literal ])) ;) (expression_statement "_DAT_000152f0 = (ushort)bVar2;" (assignment_expression "_DAT_000152f0 = (ushort)bVar2" identifier = (cast_expression "(ushort)bVar2" ( (type_descriptor "ushort" type_identifier) ) identifier)) ;) (if_statement "if (param_2 != 0) goto joined_r0x00011c6b;" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (goto_statement "goto joined_r0x00011c6b;" goto statement_identifier ;)) (goto_statement "goto LAB_00011c14;" goto statement_identifier ;)) (case_statement "case 0x62:\n    pcVar4 = "\b";\n    *param_1 = (int)(pbVar1 + 2);\n    break;" case number_literal : (expression_statement "pcVar4 = "\b";" (assignment_expression "pcVar4 = "\b"" identifier = (string_literal ""\b"" " escape_sequence ")) ;) (expression_statement "*param_1 = (int)(pbVar1 + 2);" (assignment_expression "*param_1 = (int)(pbVar1 + 2)" (pointer_expression "*param_1" * identifier) = (cast_expression "(int)(pbVar1 + 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar1 + 2)" ( (binary_expression "pbVar1 + 2" identifier + number_literal) )))) ;) (break_statement "break;" break ;)) (case_statement "case 0x65:\n    pcVar4 = &DAT_000152f0;\n    *param_1 = (int)(pbVar1 + 2);\n    _DAT_000152f0 = 0x1b;\n    break;" case number_literal : (expression_statement "pcVar4 = &DAT_000152f0;" (assignment_expression "pcVar4 = &DAT_000152f0" identifier = (pointer_expression "&DAT_000152f0" & identifier)) ;) (expression_statement "*param_1 = (int)(pbVar1 + 2);" (assignment_expression "*param_1 = (int)(pbVar1 + 2)" (pointer_expression "*param_1" * identifier) = (cast_expression "(int)(pbVar1 + 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar1 + 2)" ( (binary_expression "pbVar1 + 2" identifier + number_literal) )))) ;) (expression_statement "_DAT_000152f0 = 0x1b;" (assignment_expression "_DAT_000152f0 = 0x1b" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x6b:\n    if (param_2 != 0) {\n      switch(pbVar1[2]) {\n      case 0x44:\n        uVar3 = 6;\n        break;\n      default:\n        error("illegal char after \\k");\n        *param_1 = (int)(pbVar1 + 3);\n        return "";\n      case 0x55:\n        uVar3 = 5;\n        break;\n      case 100:\n        uVar3 = 4;\n        break;\n      case 0x65:\n        uVar3 = 8;\n        break;\n      case 0x68:\n        uVar3 = 7;\n        break;\n      case 0x6c:\n        uVar3 = 2;\n        break;\n      case 0x72:\n        uVar3 = 1;\n        break;\n      case 0x75:\n        uVar3 = 3;\n        break;\n      case 0x78:\n        uVar3 = 9;\n      }\n      *param_1 = (int)(pbVar1 + 3);\n      _DAT_000152f0 = CONCAT11(uVar3,0xb);\n      uRam000152f2 = 0x1010106;\n      uRam000152f6 = 0;\n      return &DAT_000152f0;\n    }\n    *param_1 = (int)(pbVar1 + 2);\n    _DAT_000152f0 = (ushort)pbVar1[1];\nLAB_00011c14:\n    pcVar4 = &DAT_000152f0;\n    break;" case number_literal : (if_statement "if (param_2 != 0) {\n      switch(pbVar1[2]) {\n      case 0x44:\n        uVar3 = 6;\n        break;\n      default:\n        error("illegal char after \\k");\n        *param_1 = (int)(pbVar1 + 3);\n        return "";\n      case 0x55:\n        uVar3 = 5;\n        break;\n      case 100:\n        uVar3 = 4;\n        break;\n      case 0x65:\n        uVar3 = 8;\n        break;\n      case 0x68:\n        uVar3 = 7;\n        break;\n      case 0x6c:\n        uVar3 = 2;\n        break;\n      case 0x72:\n        uVar3 = 1;\n        break;\n      case 0x75:\n        uVar3 = 3;\n        break;\n      case 0x78:\n        uVar3 = 9;\n      }\n      *param_1 = (int)(pbVar1 + 3);\n      _DAT_000152f0 = CONCAT11(uVar3,0xb);\n      uRam000152f2 = 0x1010106;\n      uRam000152f6 = 0;\n      return &DAT_000152f0;\n    }" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (compound_statement "{\n      switch(pbVar1[2]) {\n      case 0x44:\n        uVar3 = 6;\n        break;\n      default:\n        error("illegal char after \\k");\n        *param_1 = (int)(pbVar1 + 3);\n        return "";\n      case 0x55:\n        uVar3 = 5;\n        break;\n      case 100:\n        uVar3 = 4;\n        break;\n      case 0x65:\n        uVar3 = 8;\n        break;\n      case 0x68:\n        uVar3 = 7;\n        break;\n      case 0x6c:\n        uVar3 = 2;\n        break;\n      case 0x72:\n        uVar3 = 1;\n        break;\n      case 0x75:\n        uVar3 = 3;\n        break;\n      case 0x78:\n        uVar3 = 9;\n      }\n      *param_1 = (int)(pbVar1 + 3);\n      _DAT_000152f0 = CONCAT11(uVar3,0xb);\n      uRam000152f2 = 0x1010106;\n      uRam000152f6 = 0;\n      return &DAT_000152f0;\n    }" { (switch_statement "switch(pbVar1[2]) {\n      case 0x44:\n        uVar3 = 6;\n        break;\n      default:\n        error("illegal char after \\k");\n        *param_1 = (int)(pbVar1 + 3);\n        return "";\n      case 0x55:\n        uVar3 = 5;\n        break;\n      case 100:\n        uVar3 = 4;\n        break;\n      case 0x65:\n        uVar3 = 8;\n        break;\n      case 0x68:\n        uVar3 = 7;\n        break;\n      case 0x6c:\n        uVar3 = 2;\n        break;\n      case 0x72:\n        uVar3 = 1;\n        break;\n      case 0x75:\n        uVar3 = 3;\n        break;\n      case 0x78:\n        uVar3 = 9;\n      }" switch (parenthesized_expression "(pbVar1[2])" ( (subscript_expression "pbVar1[2]" identifier [ number_literal ]) )) (compound_statement "{\n      case 0x44:\n        uVar3 = 6;\n        break;\n      default:\n        error("illegal char after \\k");\n        *param_1 = (int)(pbVar1 + 3);\n        return "";\n      case 0x55:\n        uVar3 = 5;\n        break;\n      case 100:\n        uVar3 = 4;\n        break;\n      case 0x65:\n        uVar3 = 8;\n        break;\n      case 0x68:\n        uVar3 = 7;\n        break;\n      case 0x6c:\n        uVar3 = 2;\n        break;\n      case 0x72:\n        uVar3 = 1;\n        break;\n      case 0x75:\n        uVar3 = 3;\n        break;\n      case 0x78:\n        uVar3 = 9;\n      }" { (case_statement "case 0x44:\n        uVar3 = 6;\n        break;" case number_literal : (expression_statement "uVar3 = 6;" (assignment_expression "uVar3 = 6" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "default:\n        error("illegal char after \\k");\n        *param_1 = (int)(pbVar1 + 3);\n        return "";" default : (expression_statement "error("illegal char after \\k");" (call_expression "error("illegal char after \\k")" identifier (argument_list "("illegal char after \\k")" ( (string_literal ""illegal char after \\k"" " string_content escape_sequence string_content ") ))) ;) (expression_statement "*param_1 = (int)(pbVar1 + 3);" (assignment_expression "*param_1 = (int)(pbVar1 + 3)" (pointer_expression "*param_1" * identifier) = (cast_expression "(int)(pbVar1 + 3)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar1 + 3)" ( (binary_expression "pbVar1 + 3" identifier + number_literal) )))) ;) (return_statement "return "";" return (string_literal """" " ") ;)) (case_statement "case 0x55:\n        uVar3 = 5;\n        break;" case number_literal : (expression_statement "uVar3 = 5;" (assignment_expression "uVar3 = 5" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 100:\n        uVar3 = 4;\n        break;" case number_literal : (expression_statement "uVar3 = 4;" (assignment_expression "uVar3 = 4" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x65:\n        uVar3 = 8;\n        break;" case number_literal : (expression_statement "uVar3 = 8;" (assignment_expression "uVar3 = 8" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x68:\n        uVar3 = 7;\n        break;" case number_literal : (expression_statement "uVar3 = 7;" (assignment_expression "uVar3 = 7" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x6c:\n        uVar3 = 2;\n        break;" case number_literal : (expression_statement "uVar3 = 2;" (assignment_expression "uVar3 = 2" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x72:\n        uVar3 = 1;\n        break;" case number_literal : (expression_statement "uVar3 = 1;" (assignment_expression "uVar3 = 1" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x75:\n        uVar3 = 3;\n        break;" case number_literal : (expression_statement "uVar3 = 3;" (assignment_expression "uVar3 = 3" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x78:\n        uVar3 = 9;" case number_literal : (expression_statement "uVar3 = 9;" (assignment_expression "uVar3 = 9" identifier = number_literal) ;)) })) (expression_statement "*param_1 = (int)(pbVar1 + 3);" (assignment_expression "*param_1 = (int)(pbVar1 + 3)" (pointer_expression "*param_1" * identifier) = (cast_expression "(int)(pbVar1 + 3)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar1 + 3)" ( (binary_expression "pbVar1 + 3" identifier + number_literal) )))) ;) (expression_statement "_DAT_000152f0 = CONCAT11(uVar3,0xb);" (assignment_expression "_DAT_000152f0 = CONCAT11(uVar3,0xb)" identifier = (call_expression "CONCAT11(uVar3,0xb)" identifier (argument_list "(uVar3,0xb)" ( identifier , number_literal )))) ;) (expression_statement "uRam000152f2 = 0x1010106;" (assignment_expression "uRam000152f2 = 0x1010106" identifier = number_literal) ;) (expression_statement "uRam000152f6 = 0;" (assignment_expression "uRam000152f6 = 0" identifier = number_literal) ;) (return_statement "return &DAT_000152f0;" return (pointer_expression "&DAT_000152f0" & identifier) ;) })) (expression_statement "*param_1 = (int)(pbVar1 + 2);" (assignment_expression "*param_1 = (int)(pbVar1 + 2)" (pointer_expression "*param_1" * identifier) = (cast_expression "(int)(pbVar1 + 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar1 + 2)" ( (binary_expression "pbVar1 + 2" identifier + number_literal) )))) ;) (expression_statement "_DAT_000152f0 = (ushort)pbVar1[1];" (assignment_expression "_DAT_000152f0 = (ushort)pbVar1[1]" identifier = (cast_expression "(ushort)pbVar1[1]" ( (type_descriptor "ushort" type_identifier) ) (subscript_expression "pbVar1[1]" identifier [ number_literal ]))) ;) (labeled_statement "LAB_00011c14:\n    pcVar4 = &DAT_000152f0;" statement_identifier : (expression_statement "pcVar4 = &DAT_000152f0;" (assignment_expression "pcVar4 = &DAT_000152f0" identifier = (pointer_expression "&DAT_000152f0" & identifier)) ;)) (break_statement "break;" break ;)) (case_statement "case 0x6e:\n    pcVar4 = "\n";\n    *param_1 = (int)(pbVar1 + 2);\n    break;" case number_literal : (expression_statement "pcVar4 = "\n";" (assignment_expression "pcVar4 = "\n"" identifier = (string_literal ""\n"" " escape_sequence ")) ;) (expression_statement "*param_1 = (int)(pbVar1 + 2);" (assignment_expression "*param_1 = (int)(pbVar1 + 2)" (pointer_expression "*param_1" * identifier) = (cast_expression "(int)(pbVar1 + 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar1 + 2)" ( (binary_expression "pbVar1 + 2" identifier + number_literal) )))) ;) (break_statement "break;" break ;)) (case_statement "case 0x72:\n    pcVar4 = "\r";\n    *param_1 = (int)(pbVar1 + 2);\n    break;" case number_literal : (expression_statement "pcVar4 = "\r";" (assignment_expression "pcVar4 = "\r"" identifier = (string_literal ""\r"" " escape_sequence ")) ;) (expression_statement "*param_1 = (int)(pbVar1 + 2);" (assignment_expression "*param_1 = (int)(pbVar1 + 2)" (pointer_expression "*param_1" * identifier) = (cast_expression "(int)(pbVar1 + 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar1 + 2)" ( (binary_expression "pbVar1 + 2" identifier + number_literal) )))) ;) (break_statement "break;" break ;)) (case_statement "case 0x74:\n    pcVar4 = "\t";\n    *param_1 = (int)(pbVar1 + 2);" case number_literal : (expression_statement "pcVar4 = "\t";" (assignment_expression "pcVar4 = "\t"" identifier = (string_literal ""\t"" " escape_sequence ")) ;) (expression_statement "*param_1 = (int)(pbVar1 + 2);" (assignment_expression "*param_1 = (int)(pbVar1 + 2)" (pointer_expression "*param_1" * identifier) = (cast_expression "(int)(pbVar1 + 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar1 + 2)" ( (binary_expression "pbVar1 + 2" identifier + number_literal) )))) ;)) })) (return_statement "return pcVar4;" return identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention */\n\nchar * tstr(char **pp,int xlate)\n\n{\n  byte *pbVar1;\n  byte bVar2;\n  char *pcVar3;\n  byte *pbVar4;\n  byte bVar5;\n  byte *local_24;\n  \n  pbVar1 = (byte *)*pp;\n  if (*pbVar1 != 0x5c) {\n    if (*pbVar1 == 0x5e) {\n      *pp = (char *)(pbVar1 + 2);\n      bVar2 = pbVar1[1] & 0x1f;\n      tstr::buf._0_2_ = pbVar1[1] & 0xff1f;\n    }\n    else {\n      *pp = (char *)(pbVar1 + 1);\n      bVar2 = *pbVar1;\n      tstr::buf[1] = '\0';\n      tstr::buf[0] = bVar2;\n      if (xlate == 0) goto LAB_00011c14;\n    }\njoined_r0x00011c6b:\n    if (bVar2 == 0xb) {\nLAB_00011c6d:\n      return tstr::tstr_control_k;\n    }\n    goto LAB_00011c14;\n  }\n  bVar2 = pbVar1[1];\n  switch(bVar2) {\n  case 0x30:\n  case 0x31:\n  case 0x32:\n  case 0x33:\n  case 0x34:\n  case 0x35:\n  case 0x36:\n  case 0x37:\n    pbVar4 = pbVar1 + 1;\n    bVar5 = 0;\n    do {\n      bVar5 = (bVar2 - 0x30) + bVar5 * '\b';\n      pbVar4 = pbVar4 + 1;\n      bVar2 = *pbVar4;\n      local_24 = pbVar4;\n      if (7 < (byte)(bVar2 - 0x30)) break;\n      local_24 = pbVar1 + 4;\n    } while (pbVar4 != pbVar1 + 4);\n    *pp = (char *)local_24;\n    if ((xlate == 0) || (bVar5 != 0xb)) {\n      tstr::buf[1] = '\0';\n      tstr::buf[0] = bVar5;\n      return tstr::buf;\n    }\n    goto LAB_00011c6d;\n  default:\n    *pp = (char *)(pbVar1 + 2);\n    bVar2 = pbVar1[1];\n    tstr::buf[1] = '\0';\n    tstr::buf[0] = bVar2;\n    if (xlate != 0) goto joined_r0x00011c6b;\n    goto LAB_00011c14;\n  case 0x62:\n    pcVar3 = "\b";\n    *pp = (char *)(pbVar1 + 2);\n    break;\n  case 0x65:\n    pcVar3 = tstr::buf;\n    *pp = (char *)(pbVar1 + 2);\n    tstr::buf[0] = '\x1b';\n    tstr::buf[1] = '\0';\n    break;\n  case 0x6b:\n    if (xlate != 0) {\n      switch(pbVar1[2]) {\n      case 0x44:\n        tstr::buf[1] = '\x06';\n        break;\n      default:\n        error("illegal char after \\k");\n        *pp = (char *)(pbVar1 + 3);\n        return "";\n      case 0x55:\n        tstr::buf[1] = '\x05';\n        break;\n      case 100:\n        tstr::buf[1] = '\x04';\n        break;\n      case 0x65:\n        tstr::buf[1] = '\b';\n        break;\n      case 0x68:\n        tstr::buf[1] = '\a';\n        break;\n      case 0x6c:\n        tstr::buf[1] = '\x02';\n        break;\n      case 0x72:\n        tstr::buf[1] = '\x01';\n        break;\n      case 0x75:\n        tstr::buf[1] = '\x03';\n        break;\n      case 0x78:\n        tstr::buf[1] = '\t';\n      }\n      *pp = (char *)(pbVar1 + 3);\n      tstr::buf[0] = '\v';\n      builtin_strncpy(tstr::buf + 2,"\x06\x01\x01\x01",5);\n      return tstr::buf;\n    }\n    *pp = (char *)(pbVar1 + 2);\n    tstr::buf[1] = '\0';\n    tstr::buf[0] = pbVar1[1];\nLAB_00011c14:\n    pcVar3 = tstr::buf;\n    break;\n  case 0x6e:\n    pcVar3 = "\n";\n    *pp = (char *)(pbVar1 + 2);\n    break;\n  case 0x72:\n    pcVar3 = "\r";\n    *pp = (char *)(pbVar1 + 2);\n    break;\n  case 0x74:\n    pcVar3 = "\t";\n    *pp = (char *)(pbVar1 + 2);\n  }\n  return pcVar3;\n}\n\n" comment comment (function_definition "char * tstr(char **pp,int xlate)\n\n{\n  byte *pbVar1;\n  byte bVar2;\n  char *pcVar3;\n  byte *pbVar4;\n  byte bVar5;\n  byte *local_24;\n  \n  pbVar1 = (byte *)*pp;\n  if (*pbVar1 != 0x5c) {\n    if (*pbVar1 == 0x5e) {\n      *pp = (char *)(pbVar1 + 2);\n      bVar2 = pbVar1[1] & 0x1f;\n      tstr::buf._0_2_ = pbVar1[1] & 0xff1f;\n    }\n    else {\n      *pp = (char *)(pbVar1 + 1);\n      bVar2 = *pbVar1;\n      tstr::buf[1] = '\0';\n      tstr::buf[0] = bVar2;\n      if (xlate == 0) goto LAB_00011c14;\n    }\njoined_r0x00011c6b:\n    if (bVar2 == 0xb) {\nLAB_00011c6d:\n      return tstr::tstr_control_k;\n    }\n    goto LAB_00011c14;\n  }\n  bVar2 = pbVar1[1];\n  switch(bVar2) {\n  case 0x30:\n  case 0x31:\n  case 0x32:\n  case 0x33:\n  case 0x34:\n  case 0x35:\n  case 0x36:\n  case 0x37:\n    pbVar4 = pbVar1 + 1;\n    bVar5 = 0;\n    do {\n      bVar5 = (bVar2 - 0x30) + bVar5 * '\b';\n      pbVar4 = pbVar4 + 1;\n      bVar2 = *pbVar4;\n      local_24 = pbVar4;\n      if (7 < (byte)(bVar2 - 0x30)) break;\n      local_24 = pbVar1 + 4;\n    } while (pbVar4 != pbVar1 + 4);\n    *pp = (char *)local_24;\n    if ((xlate == 0) || (bVar5 != 0xb)) {\n      tstr::buf[1] = '\0';\n      tstr::buf[0] = bVar5;\n      return tstr::buf;\n    }\n    goto LAB_00011c6d;\n  default:\n    *pp = (char *)(pbVar1 + 2);\n    bVar2 = pbVar1[1];\n    tstr::buf[1] = '\0';\n    tstr::buf[0] = bVar2;\n    if (xlate != 0) goto joined_r0x00011c6b;\n    goto LAB_00011c14;\n  case 0x62:\n    pcVar3 = "\b";\n    *pp = (char *)(pbVar1 + 2);\n    break;\n  case 0x65:\n    pcVar3 = tstr::buf;\n    *pp = (char *)(pbVar1 + 2);\n    tstr::buf[0] = '\x1b';\n    tstr::buf[1] = '\0';\n    break;\n  case 0x6b:\n    if (xlate != 0) {\n      switch(pbVar1[2]) {\n      case 0x44:\n        tstr::buf[1] = '\x06';\n        break;\n      default:\n        error("illegal char after \\k");\n        *pp = (char *)(pbVar1 + 3);\n        return "";\n      case 0x55:\n        tstr::buf[1] = '\x05';\n        break;\n      case 100:\n        tstr::buf[1] = '\x04';\n        break;\n      case 0x65:\n        tstr::buf[1] = '\b';\n        break;\n      case 0x68:\n        tstr::buf[1] = '\a';\n        break;\n      case 0x6c:\n        tstr::buf[1] = '\x02';\n        break;\n      case 0x72:\n        tstr::buf[1] = '\x01';\n        break;\n      case 0x75:\n        tstr::buf[1] = '\x03';\n        break;\n      case 0x78:\n        tstr::buf[1] = '\t';\n      }\n      *pp = (char *)(pbVar1 + 3);\n      tstr::buf[0] = '\v';\n      builtin_strncpy(tstr::buf + 2,"\x06\x01\x01\x01",5);\n      return tstr::buf;\n    }\n    *pp = (char *)(pbVar1 + 2);\n    tstr::buf[1] = '\0';\n    tstr::buf[0] = pbVar1[1];\nLAB_00011c14:\n    pcVar3 = tstr::buf;\n    break;\n  case 0x6e:\n    pcVar3 = "\n";\n    *pp = (char *)(pbVar1 + 2);\n    break;\n  case 0x72:\n    pcVar3 = "\r";\n    *pp = (char *)(pbVar1 + 2);\n    break;\n  case 0x74:\n    pcVar3 = "\t";\n    *pp = (char *)(pbVar1 + 2);\n  }\n  return pcVar3;\n}" primitive_type (pointer_declarator "* tstr(char **pp,int xlate)" * (function_declarator "tstr(char **pp,int xlate)" identifier (parameter_list "(char **pp,int xlate)" ( (parameter_declaration "char **pp" primitive_type (pointer_declarator "**pp" * (pointer_declarator "*pp" * identifier))) , (parameter_declaration "int xlate" primitive_type identifier) )))) (compound_statement "{\n  byte *pbVar1;\n  byte bVar2;\n  char *pcVar3;\n  byte *pbVar4;\n  byte bVar5;\n  byte *local_24;\n  \n  pbVar1 = (byte *)*pp;\n  if (*pbVar1 != 0x5c) {\n    if (*pbVar1 == 0x5e) {\n      *pp = (char *)(pbVar1 + 2);\n      bVar2 = pbVar1[1] & 0x1f;\n      tstr::buf._0_2_ = pbVar1[1] & 0xff1f;\n    }\n    else {\n      *pp = (char *)(pbVar1 + 1);\n      bVar2 = *pbVar1;\n      tstr::buf[1] = '\0';\n      tstr::buf[0] = bVar2;\n      if (xlate == 0) goto LAB_00011c14;\n    }\njoined_r0x00011c6b:\n    if (bVar2 == 0xb) {\nLAB_00011c6d:\n      return tstr::tstr_control_k;\n    }\n    goto LAB_00011c14;\n  }\n  bVar2 = pbVar1[1];\n  switch(bVar2) {\n  case 0x30:\n  case 0x31:\n  case 0x32:\n  case 0x33:\n  case 0x34:\n  case 0x35:\n  case 0x36:\n  case 0x37:\n    pbVar4 = pbVar1 + 1;\n    bVar5 = 0;\n    do {\n      bVar5 = (bVar2 - 0x30) + bVar5 * '\b';\n      pbVar4 = pbVar4 + 1;\n      bVar2 = *pbVar4;\n      local_24 = pbVar4;\n      if (7 < (byte)(bVar2 - 0x30)) break;\n      local_24 = pbVar1 + 4;\n    } while (pbVar4 != pbVar1 + 4);\n    *pp = (char *)local_24;\n    if ((xlate == 0) || (bVar5 != 0xb)) {\n      tstr::buf[1] = '\0';\n      tstr::buf[0] = bVar5;\n      return tstr::buf;\n    }\n    goto LAB_00011c6d;\n  default:\n    *pp = (char *)(pbVar1 + 2);\n    bVar2 = pbVar1[1];\n    tstr::buf[1] = '\0';\n    tstr::buf[0] = bVar2;\n    if (xlate != 0) goto joined_r0x00011c6b;\n    goto LAB_00011c14;\n  case 0x62:\n    pcVar3 = "\b";\n    *pp = (char *)(pbVar1 + 2);\n    break;\n  case 0x65:\n    pcVar3 = tstr::buf;\n    *pp = (char *)(pbVar1 + 2);\n    tstr::buf[0] = '\x1b';\n    tstr::buf[1] = '\0';\n    break;\n  case 0x6b:\n    if (xlate != 0) {\n      switch(pbVar1[2]) {\n      case 0x44:\n        tstr::buf[1] = '\x06';\n        break;\n      default:\n        error("illegal char after \\k");\n        *pp = (char *)(pbVar1 + 3);\n        return "";\n      case 0x55:\n        tstr::buf[1] = '\x05';\n        break;\n      case 100:\n        tstr::buf[1] = '\x04';\n        break;\n      case 0x65:\n        tstr::buf[1] = '\b';\n        break;\n      case 0x68:\n        tstr::buf[1] = '\a';\n        break;\n      case 0x6c:\n        tstr::buf[1] = '\x02';\n        break;\n      case 0x72:\n        tstr::buf[1] = '\x01';\n        break;\n      case 0x75:\n        tstr::buf[1] = '\x03';\n        break;\n      case 0x78:\n        tstr::buf[1] = '\t';\n      }\n      *pp = (char *)(pbVar1 + 3);\n      tstr::buf[0] = '\v';\n      builtin_strncpy(tstr::buf + 2,"\x06\x01\x01\x01",5);\n      return tstr::buf;\n    }\n    *pp = (char *)(pbVar1 + 2);\n    tstr::buf[1] = '\0';\n    tstr::buf[0] = pbVar1[1];\nLAB_00011c14:\n    pcVar3 = tstr::buf;\n    break;\n  case 0x6e:\n    pcVar3 = "\n";\n    *pp = (char *)(pbVar1 + 2);\n    break;\n  case 0x72:\n    pcVar3 = "\r";\n    *pp = (char *)(pbVar1 + 2);\n    break;\n  case 0x74:\n    pcVar3 = "\t";\n    *pp = (char *)(pbVar1 + 2);\n  }\n  return pcVar3;\n}" { (declaration "byte *pbVar1;" type_identifier (pointer_declarator "*pbVar1" * identifier) ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "char *pcVar3;" primitive_type (pointer_declarator "*pcVar3" * identifier) ;) (declaration "byte *pbVar4;" type_identifier (pointer_declarator "*pbVar4" * identifier) ;) (declaration "byte bVar5;" type_identifier identifier ;) (declaration "byte *local_24;" type_identifier (pointer_declarator "*local_24" * identifier) ;) (expression_statement "pbVar1 = (byte *)*pp;" (assignment_expression "pbVar1 = (byte *)*pp" identifier = (cast_expression "(byte *)*pp" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*pp" * identifier))) ;) (if_statement "if (*pbVar1 != 0x5c) {\n    if (*pbVar1 == 0x5e) {\n      *pp = (char *)(pbVar1 + 2);\n      bVar2 = pbVar1[1] & 0x1f;\n      tstr::buf._0_2_ = pbVar1[1] & 0xff1f;\n    }\n    else {\n      *pp = (char *)(pbVar1 + 1);\n      bVar2 = *pbVar1;\n      tstr::buf[1] = '\0';\n      tstr::buf[0] = bVar2;\n      if (xlate == 0) goto LAB_00011c14;\n    }\njoined_r0x00011c6b:\n    if (bVar2 == 0xb) {\nLAB_00011c6d:\n      return tstr::tstr_control_k;\n    }\n    goto LAB_00011c14;\n  }" if (parenthesized_expression "(*pbVar1 != 0x5c)" ( (binary_expression "*pbVar1 != 0x5c" (pointer_expression "*pbVar1" * identifier) != number_literal) )) (compound_statement "{\n    if (*pbVar1 == 0x5e) {\n      *pp = (char *)(pbVar1 + 2);\n      bVar2 = pbVar1[1] & 0x1f;\n      tstr::buf._0_2_ = pbVar1[1] & 0xff1f;\n    }\n    else {\n      *pp = (char *)(pbVar1 + 1);\n      bVar2 = *pbVar1;\n      tstr::buf[1] = '\0';\n      tstr::buf[0] = bVar2;\n      if (xlate == 0) goto LAB_00011c14;\n    }\njoined_r0x00011c6b:\n    if (bVar2 == 0xb) {\nLAB_00011c6d:\n      return tstr::tstr_control_k;\n    }\n    goto LAB_00011c14;\n  }" { (if_statement "if (*pbVar1 == 0x5e) {\n      *pp = (char *)(pbVar1 + 2);\n      bVar2 = pbVar1[1] & 0x1f;\n      tstr::buf._0_2_ = pbVar1[1] & 0xff1f;\n    }\n    else {\n      *pp = (char *)(pbVar1 + 1);\n      bVar2 = *pbVar1;\n      tstr::buf[1] = '\0';\n      tstr::buf[0] = bVar2;\n      if (xlate == 0) goto LAB_00011c14;\n    }" if (parenthesized_expression "(*pbVar1 == 0x5e)" ( (binary_expression "*pbVar1 == 0x5e" (pointer_expression "*pbVar1" * identifier) == number_literal) )) (compound_statement "{\n      *pp = (char *)(pbVar1 + 2);\n      bVar2 = pbVar1[1] & 0x1f;\n      tstr::buf._0_2_ = pbVar1[1] & 0xff1f;\n    }" { (expression_statement "*pp = (char *)(pbVar1 + 2);" (assignment_expression "*pp = (char *)(pbVar1 + 2)" (pointer_expression "*pp" * identifier) = (cast_expression "(char *)(pbVar1 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar1 + 2)" ( (binary_expression "pbVar1 + 2" identifier + number_literal) )))) ;) (expression_statement "bVar2 = pbVar1[1] & 0x1f;" (assignment_expression "bVar2 = pbVar1[1] & 0x1f" identifier = (binary_expression "pbVar1[1] & 0x1f" (subscript_expression "pbVar1[1]" identifier [ number_literal ]) & number_literal)) ;) (labeled_statement "tstr::buf._0_2_ = pbVar1[1] & 0xff1f;" statement_identifier : (ERROR ":" :) (expression_statement "buf._0_2_ = pbVar1[1] & 0xff1f;" (assignment_expression "buf._0_2_ = pbVar1[1] & 0xff1f" (field_expression "buf._0_2_" identifier . field_identifier) = (binary_expression "pbVar1[1] & 0xff1f" (subscript_expression "pbVar1[1]" identifier [ number_literal ]) & number_literal)) ;)) }) (else_clause "else {\n      *pp = (char *)(pbVar1 + 1);\n      bVar2 = *pbVar1;\n      tstr::buf[1] = '\0';\n      tstr::buf[0] = bVar2;\n      if (xlate == 0) goto LAB_00011c14;\n    }" else (compound_statement "{\n      *pp = (char *)(pbVar1 + 1);\n      bVar2 = *pbVar1;\n      tstr::buf[1] = '\0';\n      tstr::buf[0] = bVar2;\n      if (xlate == 0) goto LAB_00011c14;\n    }" { (expression_statement "*pp = (char *)(pbVar1 + 1);" (assignment_expression "*pp = (char *)(pbVar1 + 1)" (pointer_expression "*pp" * identifier) = (cast_expression "(char *)(pbVar1 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar1 + 1)" ( (binary_expression "pbVar1 + 1" identifier + number_literal) )))) ;) (expression_statement "bVar2 = *pbVar1;" (assignment_expression "bVar2 = *pbVar1" identifier = (pointer_expression "*pbVar1" * identifier)) ;) (labeled_statement "tstr::buf[1] = '\0';" statement_identifier : (ERROR ":" :) (expression_statement "buf[1] = '\0';" (assignment_expression "buf[1] = '\0'" (subscript_expression "buf[1]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;)) (labeled_statement "tstr::buf[0] = bVar2;" statement_identifier : (ERROR ":" :) (expression_statement "buf[0] = bVar2;" (assignment_expression "buf[0] = bVar2" (subscript_expression "buf[0]" identifier [ number_literal ]) = identifier) ;)) (if_statement "if (xlate == 0) goto LAB_00011c14;" if (parenthesized_expression "(xlate == 0)" ( (binary_expression "xlate == 0" identifier == number_literal) )) (goto_statement "goto LAB_00011c14;" goto statement_identifier ;)) }))) (labeled_statement "joined_r0x00011c6b:\n    if (bVar2 == 0xb) {\nLAB_00011c6d:\n      return tstr::tstr_control_k;\n    }" statement_identifier : (if_statement "if (bVar2 == 0xb) {\nLAB_00011c6d:\n      return tstr::tstr_control_k;\n    }" if (parenthesized_expression "(bVar2 == 0xb)" ( (binary_expression "bVar2 == 0xb" identifier == number_literal) )) (compound_statement "{\nLAB_00011c6d:\n      return tstr::tstr_control_k;\n    }" { (labeled_statement "LAB_00011c6d:\n      return tstr::tstr_control_k;" statement_identifier : (return_statement "return tstr::tstr_control_k;" return (ERROR "tstr::" identifier : :) identifier ;)) }))) (goto_statement "goto LAB_00011c14;" goto statement_identifier ;) })) (expression_statement "bVar2 = pbVar1[1];" (assignment_expression "bVar2 = pbVar1[1]" identifier = (subscript_expression "pbVar1[1]" identifier [ number_literal ])) ;) (switch_statement "switch(bVar2) {\n  case 0x30:\n  case 0x31:\n  case 0x32:\n  case 0x33:\n  case 0x34:\n  case 0x35:\n  case 0x36:\n  case 0x37:\n    pbVar4 = pbVar1 + 1;\n    bVar5 = 0;\n    do {\n      bVar5 = (bVar2 - 0x30) + bVar5 * '\b';\n      pbVar4 = pbVar4 + 1;\n      bVar2 = *pbVar4;\n      local_24 = pbVar4;\n      if (7 < (byte)(bVar2 - 0x30)) break;\n      local_24 = pbVar1 + 4;\n    } while (pbVar4 != pbVar1 + 4);\n    *pp = (char *)local_24;\n    if ((xlate == 0) || (bVar5 != 0xb)) {\n      tstr::buf[1] = '\0';\n      tstr::buf[0] = bVar5;\n      return tstr::buf;\n    }\n    goto LAB_00011c6d;\n  default:\n    *pp = (char *)(pbVar1 + 2);\n    bVar2 = pbVar1[1];\n    tstr::buf[1] = '\0';\n    tstr::buf[0] = bVar2;\n    if (xlate != 0) goto joined_r0x00011c6b;\n    goto LAB_00011c14;\n  case 0x62:\n    pcVar3 = "\b";\n    *pp = (char *)(pbVar1 + 2);\n    break;\n  case 0x65:\n    pcVar3 = tstr::buf;\n    *pp = (char *)(pbVar1 + 2);\n    tstr::buf[0] = '\x1b';\n    tstr::buf[1] = '\0';\n    break;\n  case 0x6b:\n    if (xlate != 0) {\n      switch(pbVar1[2]) {\n      case 0x44:\n        tstr::buf[1] = '\x06';\n        break;\n      default:\n        error("illegal char after \\k");\n        *pp = (char *)(pbVar1 + 3);\n        return "";\n      case 0x55:\n        tstr::buf[1] = '\x05';\n        break;\n      case 100:\n        tstr::buf[1] = '\x04';\n        break;\n      case 0x65:\n        tstr::buf[1] = '\b';\n        break;\n      case 0x68:\n        tstr::buf[1] = '\a';\n        break;\n      case 0x6c:\n        tstr::buf[1] = '\x02';\n        break;\n      case 0x72:\n        tstr::buf[1] = '\x01';\n        break;\n      case 0x75:\n        tstr::buf[1] = '\x03';\n        break;\n      case 0x78:\n        tstr::buf[1] = '\t';\n      }\n      *pp = (char *)(pbVar1 + 3);\n      tstr::buf[0] = '\v';\n      builtin_strncpy(tstr::buf + 2,"\x06\x01\x01\x01",5);\n      return tstr::buf;\n    }\n    *pp = (char *)(pbVar1 + 2);\n    tstr::buf[1] = '\0';\n    tstr::buf[0] = pbVar1[1];\nLAB_00011c14:\n    pcVar3 = tstr::buf;\n    break;\n  case 0x6e:\n    pcVar3 = "\n";\n    *pp = (char *)(pbVar1 + 2);\n    break;\n  case 0x72:\n    pcVar3 = "\r";\n    *pp = (char *)(pbVar1 + 2);\n    break;\n  case 0x74:\n    pcVar3 = "\t";\n    *pp = (char *)(pbVar1 + 2);\n  }" switch (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n  case 0x30:\n  case 0x31:\n  case 0x32:\n  case 0x33:\n  case 0x34:\n  case 0x35:\n  case 0x36:\n  case 0x37:\n    pbVar4 = pbVar1 + 1;\n    bVar5 = 0;\n    do {\n      bVar5 = (bVar2 - 0x30) + bVar5 * '\b';\n      pbVar4 = pbVar4 + 1;\n      bVar2 = *pbVar4;\n      local_24 = pbVar4;\n      if (7 < (byte)(bVar2 - 0x30)) break;\n      local_24 = pbVar1 + 4;\n    } while (pbVar4 != pbVar1 + 4);\n    *pp = (char *)local_24;\n    if ((xlate == 0) || (bVar5 != 0xb)) {\n      tstr::buf[1] = '\0';\n      tstr::buf[0] = bVar5;\n      return tstr::buf;\n    }\n    goto LAB_00011c6d;\n  default:\n    *pp = (char *)(pbVar1 + 2);\n    bVar2 = pbVar1[1];\n    tstr::buf[1] = '\0';\n    tstr::buf[0] = bVar2;\n    if (xlate != 0) goto joined_r0x00011c6b;\n    goto LAB_00011c14;\n  case 0x62:\n    pcVar3 = "\b";\n    *pp = (char *)(pbVar1 + 2);\n    break;\n  case 0x65:\n    pcVar3 = tstr::buf;\n    *pp = (char *)(pbVar1 + 2);\n    tstr::buf[0] = '\x1b';\n    tstr::buf[1] = '\0';\n    break;\n  case 0x6b:\n    if (xlate != 0) {\n      switch(pbVar1[2]) {\n      case 0x44:\n        tstr::buf[1] = '\x06';\n        break;\n      default:\n        error("illegal char after \\k");\n        *pp = (char *)(pbVar1 + 3);\n        return "";\n      case 0x55:\n        tstr::buf[1] = '\x05';\n        break;\n      case 100:\n        tstr::buf[1] = '\x04';\n        break;\n      case 0x65:\n        tstr::buf[1] = '\b';\n        break;\n      case 0x68:\n        tstr::buf[1] = '\a';\n        break;\n      case 0x6c:\n        tstr::buf[1] = '\x02';\n        break;\n      case 0x72:\n        tstr::buf[1] = '\x01';\n        break;\n      case 0x75:\n        tstr::buf[1] = '\x03';\n        break;\n      case 0x78:\n        tstr::buf[1] = '\t';\n      }\n      *pp = (char *)(pbVar1 + 3);\n      tstr::buf[0] = '\v';\n      builtin_strncpy(tstr::buf + 2,"\x06\x01\x01\x01",5);\n      return tstr::buf;\n    }\n    *pp = (char *)(pbVar1 + 2);\n    tstr::buf[1] = '\0';\n    tstr::buf[0] = pbVar1[1];\nLAB_00011c14:\n    pcVar3 = tstr::buf;\n    break;\n  case 0x6e:\n    pcVar3 = "\n";\n    *pp = (char *)(pbVar1 + 2);\n    break;\n  case 0x72:\n    pcVar3 = "\r";\n    *pp = (char *)(pbVar1 + 2);\n    break;\n  case 0x74:\n    pcVar3 = "\t";\n    *pp = (char *)(pbVar1 + 2);\n  }" { (case_statement "case 0x30:" case number_literal :) (case_statement "case 0x31:" case number_literal :) (case_statement "case 0x32:" case number_literal :) (case_statement "case 0x33:" case number_literal :) (case_statement "case 0x34:" case number_literal :) (case_statement "case 0x35:" case number_literal :) (case_statement "case 0x36:" case number_literal :) (case_statement "case 0x37:\n    pbVar4 = pbVar1 + 1;\n    bVar5 = 0;\n    do {\n      bVar5 = (bVar2 - 0x30) + bVar5 * '\b';\n      pbVar4 = pbVar4 + 1;\n      bVar2 = *pbVar4;\n      local_24 = pbVar4;\n      if (7 < (byte)(bVar2 - 0x30)) break;\n      local_24 = pbVar1 + 4;\n    } while (pbVar4 != pbVar1 + 4);\n    *pp = (char *)local_24;\n    if ((xlate == 0) || (bVar5 != 0xb)) {\n      tstr::buf[1] = '\0';\n      tstr::buf[0] = bVar5;\n      return tstr::buf;\n    }\n    goto LAB_00011c6d;" case number_literal : (expression_statement "pbVar4 = pbVar1 + 1;" (assignment_expression "pbVar4 = pbVar1 + 1" identifier = (binary_expression "pbVar1 + 1" identifier + number_literal)) ;) (expression_statement "bVar5 = 0;" (assignment_expression "bVar5 = 0" identifier = number_literal) ;) (do_statement "do {\n      bVar5 = (bVar2 - 0x30) + bVar5 * '\b';\n      pbVar4 = pbVar4 + 1;\n      bVar2 = *pbVar4;\n      local_24 = pbVar4;\n      if (7 < (byte)(bVar2 - 0x30)) break;\n      local_24 = pbVar1 + 4;\n    } while (pbVar4 != pbVar1 + 4);" do (compound_statement "{\n      bVar5 = (bVar2 - 0x30) + bVar5 * '\b';\n      pbVar4 = pbVar4 + 1;\n      bVar2 = *pbVar4;\n      local_24 = pbVar4;\n      if (7 < (byte)(bVar2 - 0x30)) break;\n      local_24 = pbVar1 + 4;\n    }" { (expression_statement "bVar5 = (bVar2 - 0x30) + bVar5 * '\b';" (assignment_expression "bVar5 = (bVar2 - 0x30) + bVar5 * '\b'" identifier = (binary_expression "(bVar2 - 0x30) + bVar5 * '\b'" (parenthesized_expression "(bVar2 - 0x30)" ( (binary_expression "bVar2 - 0x30" identifier - number_literal) )) + (binary_expression "bVar5 * '\b'" identifier * (char_literal "'\b'" ' escape_sequence ')))) ;) (expression_statement "pbVar4 = pbVar4 + 1;" (assignment_expression "pbVar4 = pbVar4 + 1" identifier = (binary_expression "pbVar4 + 1" identifier + number_literal)) ;) (expression_statement "bVar2 = *pbVar4;" (assignment_expression "bVar2 = *pbVar4" identifier = (pointer_expression "*pbVar4" * identifier)) ;) (expression_statement "local_24 = pbVar4;" (assignment_expression "local_24 = pbVar4" identifier = identifier) ;) (if_statement "if (7 < (byte)(bVar2 - 0x30)) break;" if (parenthesized_expression "(7 < (byte)(bVar2 - 0x30))" ( (binary_expression "7 < (byte)(bVar2 - 0x30)" number_literal < (call_expression "(byte)(bVar2 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar2 - 0x30)" ( (binary_expression "bVar2 - 0x30" identifier - number_literal) )))) )) (break_statement "break;" break ;)) (expression_statement "local_24 = pbVar1 + 4;" (assignment_expression "local_24 = pbVar1 + 4" identifier = (binary_expression "pbVar1 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(pbVar4 != pbVar1 + 4)" ( (binary_expression "pbVar4 != pbVar1 + 4" identifier != (binary_expression "pbVar1 + 4" identifier + number_literal)) )) ;) (expression_statement "*pp = (char *)local_24;" (assignment_expression "*pp = (char *)local_24" (pointer_expression "*pp" * identifier) = (cast_expression "(char *)local_24" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((xlate == 0) || (bVar5 != 0xb)) {\n      tstr::buf[1] = '\0';\n      tstr::buf[0] = bVar5;\n      return tstr::buf;\n    }" if (parenthesized_expression "((xlate == 0) || (bVar5 != 0xb))" ( (binary_expression "(xlate == 0) || (bVar5 != 0xb)" (parenthesized_expression "(xlate == 0)" ( (binary_expression "xlate == 0" identifier == number_literal) )) || (parenthesized_expression "(bVar5 != 0xb)" ( (binary_expression "bVar5 != 0xb" identifier != number_literal) ))) )) (compound_statement "{\n      tstr::buf[1] = '\0';\n      tstr::buf[0] = bVar5;\n      return tstr::buf;\n    }" { (labeled_statement "tstr::buf[1] = '\0';" statement_identifier : (ERROR ":" :) (expression_statement "buf[1] = '\0';" (assignment_expression "buf[1] = '\0'" (subscript_expression "buf[1]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;)) (labeled_statement "tstr::buf[0] = bVar5;" statement_identifier : (ERROR ":" :) (expression_statement "buf[0] = bVar5;" (assignment_expression "buf[0] = bVar5" (subscript_expression "buf[0]" identifier [ number_literal ]) = identifier) ;)) (return_statement "return tstr::buf;" return identifier (ERROR "::buf" : : identifier) ;) })) (goto_statement "goto LAB_00011c6d;" goto statement_identifier ;)) (case_statement "default:\n    *pp = (char *)(pbVar1 + 2);\n    bVar2 = pbVar1[1];\n    tstr::buf[1] = '\0';\n    tstr::buf[0] = bVar2;\n    if (xlate != 0) goto joined_r0x00011c6b;\n    goto LAB_00011c14;" default : (expression_statement "*pp = (char *)(pbVar1 + 2);" (assignment_expression "*pp = (char *)(pbVar1 + 2)" (pointer_expression "*pp" * identifier) = (cast_expression "(char *)(pbVar1 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar1 + 2)" ( (binary_expression "pbVar1 + 2" identifier + number_literal) )))) ;) (expression_statement "bVar2 = pbVar1[1];" (assignment_expression "bVar2 = pbVar1[1]" identifier = (subscript_expression "pbVar1[1]" identifier [ number_literal ])) ;) (labeled_statement "tstr::buf[1] = '\0';" statement_identifier : (ERROR ":" :) (expression_statement "buf[1] = '\0';" (assignment_expression "buf[1] = '\0'" (subscript_expression "buf[1]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;)) (labeled_statement "tstr::buf[0] = bVar2;" statement_identifier : (ERROR ":" :) (expression_statement "buf[0] = bVar2;" (assignment_expression "buf[0] = bVar2" (subscript_expression "buf[0]" identifier [ number_literal ]) = identifier) ;)) (if_statement "if (xlate != 0) goto joined_r0x00011c6b;" if (parenthesized_expression "(xlate != 0)" ( (binary_expression "xlate != 0" identifier != number_literal) )) (goto_statement "goto joined_r0x00011c6b;" goto statement_identifier ;)) (goto_statement "goto LAB_00011c14;" goto statement_identifier ;)) (case_statement "case 0x62:\n    pcVar3 = "\b";\n    *pp = (char *)(pbVar1 + 2);\n    break;" case number_literal : (expression_statement "pcVar3 = "\b";" (assignment_expression "pcVar3 = "\b"" identifier = (string_literal ""\b"" " escape_sequence ")) ;) (expression_statement "*pp = (char *)(pbVar1 + 2);" (assignment_expression "*pp = (char *)(pbVar1 + 2)" (pointer_expression "*pp" * identifier) = (cast_expression "(char *)(pbVar1 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar1 + 2)" ( (binary_expression "pbVar1 + 2" identifier + number_literal) )))) ;) (break_statement "break;" break ;)) (case_statement "case 0x65:\n    pcVar3 = tstr::buf;\n    *pp = (char *)(pbVar1 + 2);\n    tstr::buf[0] = '\x1b';\n    tstr::buf[1] = '\0';\n    break;" case number_literal : (expression_statement "pcVar3 = tstr::buf;" (assignment_expression "pcVar3 = tstr" identifier = identifier) (ERROR "::buf" : : identifier) ;) (expression_statement "*pp = (char *)(pbVar1 + 2);" (assignment_expression "*pp = (char *)(pbVar1 + 2)" (pointer_expression "*pp" * identifier) = (cast_expression "(char *)(pbVar1 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar1 + 2)" ( (binary_expression "pbVar1 + 2" identifier + number_literal) )))) ;) (labeled_statement "tstr::buf[0] = '\x1b';" statement_identifier : (ERROR ":" :) (expression_statement "buf[0] = '\x1b';" (assignment_expression "buf[0] = '\x1b'" (subscript_expression "buf[0]" identifier [ number_literal ]) = (char_literal "'\x1b'" ' escape_sequence ')) ;)) (labeled_statement "tstr::buf[1] = '\0';" statement_identifier : (ERROR ":" :) (expression_statement "buf[1] = '\0';" (assignment_expression "buf[1] = '\0'" (subscript_expression "buf[1]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;)) (break_statement "break;" break ;)) (case_statement "case 0x6b:\n    if (xlate != 0) {\n      switch(pbVar1[2]) {\n      case 0x44:\n        tstr::buf[1] = '\x06';\n        break;\n      default:\n        error("illegal char after \\k");\n        *pp = (char *)(pbVar1 + 3);\n        return "";\n      case 0x55:\n        tstr::buf[1] = '\x05';\n        break;\n      case 100:\n        tstr::buf[1] = '\x04';\n        break;\n      case 0x65:\n        tstr::buf[1] = '\b';\n        break;\n      case 0x68:\n        tstr::buf[1] = '\a';\n        break;\n      case 0x6c:\n        tstr::buf[1] = '\x02';\n        break;\n      case 0x72:\n        tstr::buf[1] = '\x01';\n        break;\n      case 0x75:\n        tstr::buf[1] = '\x03';\n        break;\n      case 0x78:\n        tstr::buf[1] = '\t';\n      }\n      *pp = (char *)(pbVar1 + 3);\n      tstr::buf[0] = '\v';\n      builtin_strncpy(tstr::buf + 2,"\x06\x01\x01\x01",5);\n      return tstr::buf;\n    }\n    *pp = (char *)(pbVar1 + 2);\n    tstr::buf[1] = '\0';\n    tstr::buf[0] = pbVar1[1];\nLAB_00011c14:\n    pcVar3 = tstr::buf;\n    break;" case number_literal : (if_statement "if (xlate != 0) {\n      switch(pbVar1[2]) {\n      case 0x44:\n        tstr::buf[1] = '\x06';\n        break;\n      default:\n        error("illegal char after \\k");\n        *pp = (char *)(pbVar1 + 3);\n        return "";\n      case 0x55:\n        tstr::buf[1] = '\x05';\n        break;\n      case 100:\n        tstr::buf[1] = '\x04';\n        break;\n      case 0x65:\n        tstr::buf[1] = '\b';\n        break;\n      case 0x68:\n        tstr::buf[1] = '\a';\n        break;\n      case 0x6c:\n        tstr::buf[1] = '\x02';\n        break;\n      case 0x72:\n        tstr::buf[1] = '\x01';\n        break;\n      case 0x75:\n        tstr::buf[1] = '\x03';\n        break;\n      case 0x78:\n        tstr::buf[1] = '\t';\n      }\n      *pp = (char *)(pbVar1 + 3);\n      tstr::buf[0] = '\v';\n      builtin_strncpy(tstr::buf + 2,"\x06\x01\x01\x01",5);\n      return tstr::buf;\n    }" if (parenthesized_expression "(xlate != 0)" ( (binary_expression "xlate != 0" identifier != number_literal) )) (compound_statement "{\n      switch(pbVar1[2]) {\n      case 0x44:\n        tstr::buf[1] = '\x06';\n        break;\n      default:\n        error("illegal char after \\k");\n        *pp = (char *)(pbVar1 + 3);\n        return "";\n      case 0x55:\n        tstr::buf[1] = '\x05';\n        break;\n      case 100:\n        tstr::buf[1] = '\x04';\n        break;\n      case 0x65:\n        tstr::buf[1] = '\b';\n        break;\n      case 0x68:\n        tstr::buf[1] = '\a';\n        break;\n      case 0x6c:\n        tstr::buf[1] = '\x02';\n        break;\n      case 0x72:\n        tstr::buf[1] = '\x01';\n        break;\n      case 0x75:\n        tstr::buf[1] = '\x03';\n        break;\n      case 0x78:\n        tstr::buf[1] = '\t';\n      }\n      *pp = (char *)(pbVar1 + 3);\n      tstr::buf[0] = '\v';\n      builtin_strncpy(tstr::buf + 2,"\x06\x01\x01\x01",5);\n      return tstr::buf;\n    }" { (switch_statement "switch(pbVar1[2]) {\n      case 0x44:\n        tstr::buf[1] = '\x06';\n        break;\n      default:\n        error("illegal char after \\k");\n        *pp = (char *)(pbVar1 + 3);\n        return "";\n      case 0x55:\n        tstr::buf[1] = '\x05';\n        break;\n      case 100:\n        tstr::buf[1] = '\x04';\n        break;\n      case 0x65:\n        tstr::buf[1] = '\b';\n        break;\n      case 0x68:\n        tstr::buf[1] = '\a';\n        break;\n      case 0x6c:\n        tstr::buf[1] = '\x02';\n        break;\n      case 0x72:\n        tstr::buf[1] = '\x01';\n        break;\n      case 0x75:\n        tstr::buf[1] = '\x03';\n        break;\n      case 0x78:\n        tstr::buf[1] = '\t';\n      }" switch (parenthesized_expression "(pbVar1[2])" ( (subscript_expression "pbVar1[2]" identifier [ number_literal ]) )) (compound_statement "{\n      case 0x44:\n        tstr::buf[1] = '\x06';\n        break;\n      default:\n        error("illegal char after \\k");\n        *pp = (char *)(pbVar1 + 3);\n        return "";\n      case 0x55:\n        tstr::buf[1] = '\x05';\n        break;\n      case 100:\n        tstr::buf[1] = '\x04';\n        break;\n      case 0x65:\n        tstr::buf[1] = '\b';\n        break;\n      case 0x68:\n        tstr::buf[1] = '\a';\n        break;\n      case 0x6c:\n        tstr::buf[1] = '\x02';\n        break;\n      case 0x72:\n        tstr::buf[1] = '\x01';\n        break;\n      case 0x75:\n        tstr::buf[1] = '\x03';\n        break;\n      case 0x78:\n        tstr::buf[1] = '\t';\n      }" { (case_statement "case 0x44:\n        tstr::buf[1] = '\x06';\n        break;" case number_literal : (labeled_statement "tstr::buf[1] = '\x06';" statement_identifier : (ERROR ":" :) (expression_statement "buf[1] = '\x06';" (assignment_expression "buf[1] = '\x06'" (subscript_expression "buf[1]" identifier [ number_literal ]) = (char_literal "'\x06'" ' escape_sequence ')) ;)) (break_statement "break;" break ;)) (case_statement "default:\n        error("illegal char after \\k");\n        *pp = (char *)(pbVar1 + 3);\n        return "";" default : (expression_statement "error("illegal char after \\k");" (call_expression "error("illegal char after \\k")" identifier (argument_list "("illegal char after \\k")" ( (string_literal ""illegal char after \\k"" " string_content escape_sequence string_content ") ))) ;) (expression_statement "*pp = (char *)(pbVar1 + 3);" (assignment_expression "*pp = (char *)(pbVar1 + 3)" (pointer_expression "*pp" * identifier) = (cast_expression "(char *)(pbVar1 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar1 + 3)" ( (binary_expression "pbVar1 + 3" identifier + number_literal) )))) ;) (return_statement "return "";" return (string_literal """" " ") ;)) (case_statement "case 0x55:\n        tstr::buf[1] = '\x05';\n        break;" case number_literal : (labeled_statement "tstr::buf[1] = '\x05';" statement_identifier : (ERROR ":" :) (expression_statement "buf[1] = '\x05';" (assignment_expression "buf[1] = '\x05'" (subscript_expression "buf[1]" identifier [ number_literal ]) = (char_literal "'\x05'" ' escape_sequence ')) ;)) (break_statement "break;" break ;)) (case_statement "case 100:\n        tstr::buf[1] = '\x04';\n        break;" case number_literal : (labeled_statement "tstr::buf[1] = '\x04';" statement_identifier : (ERROR ":" :) (expression_statement "buf[1] = '\x04';" (assignment_expression "buf[1] = '\x04'" (subscript_expression "buf[1]" identifier [ number_literal ]) = (char_literal "'\x04'" ' escape_sequence ')) ;)) (break_statement "break;" break ;)) (case_statement "case 0x65:\n        tstr::buf[1] = '\b';\n        break;" case number_literal : (labeled_statement "tstr::buf[1] = '\b';" statement_identifier : (ERROR ":" :) (expression_statement "buf[1] = '\b';" (assignment_expression "buf[1] = '\b'" (subscript_expression "buf[1]" identifier [ number_literal ]) = (char_literal "'\b'" ' escape_sequence ')) ;)) (break_statement "break;" break ;)) (case_statement "case 0x68:\n        tstr::buf[1] = '\a';\n        break;" case number_literal : (labeled_statement "tstr::buf[1] = '\a';" statement_identifier : (ERROR ":" :) (expression_statement "buf[1] = '\a';" (assignment_expression "buf[1] = '\a'" (subscript_expression "buf[1]" identifier [ number_literal ]) = (char_literal "'\a'" ' escape_sequence ')) ;)) (break_statement "break;" break ;)) (case_statement "case 0x6c:\n        tstr::buf[1] = '\x02';\n        break;" case number_literal : (labeled_statement "tstr::buf[1] = '\x02';" statement_identifier : (ERROR ":" :) (expression_statement "buf[1] = '\x02';" (assignment_expression "buf[1] = '\x02'" (subscript_expression "buf[1]" identifier [ number_literal ]) = (char_literal "'\x02'" ' escape_sequence ')) ;)) (break_statement "break;" break ;)) (case_statement "case 0x72:\n        tstr::buf[1] = '\x01';\n        break;" case number_literal : (labeled_statement "tstr::buf[1] = '\x01';" statement_identifier : (ERROR ":" :) (expression_statement "buf[1] = '\x01';" (assignment_expression "buf[1] = '\x01'" (subscript_expression "buf[1]" identifier [ number_literal ]) = (char_literal "'\x01'" ' escape_sequence ')) ;)) (break_statement "break;" break ;)) (case_statement "case 0x75:\n        tstr::buf[1] = '\x03';\n        break;" case number_literal : (labeled_statement "tstr::buf[1] = '\x03';" statement_identifier : (ERROR ":" :) (expression_statement "buf[1] = '\x03';" (assignment_expression "buf[1] = '\x03'" (subscript_expression "buf[1]" identifier [ number_literal ]) = (char_literal "'\x03'" ' escape_sequence ')) ;)) (break_statement "break;" break ;)) (case_statement "case 0x78:\n        tstr::buf[1] = '\t';" case number_literal : (labeled_statement "tstr::buf[1] = '\t';" statement_identifier : (ERROR ":" :) (expression_statement "buf[1] = '\t';" (assignment_expression "buf[1] = '\t'" (subscript_expression "buf[1]" identifier [ number_literal ]) = (char_literal "'\t'" ' escape_sequence ')) ;))) })) (expression_statement "*pp = (char *)(pbVar1 + 3);" (assignment_expression "*pp = (char *)(pbVar1 + 3)" (pointer_expression "*pp" * identifier) = (cast_expression "(char *)(pbVar1 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar1 + 3)" ( (binary_expression "pbVar1 + 3" identifier + number_literal) )))) ;) (labeled_statement "tstr::buf[0] = '\v';" statement_identifier : (ERROR ":" :) (expression_statement "buf[0] = '\v';" (assignment_expression "buf[0] = '\v'" (subscript_expression "buf[0]" identifier [ number_literal ]) = (char_literal "'\v'" ' escape_sequence ')) ;)) (labeled_statement "builtin_strncpy(tstr::buf + 2,"\x06\x01\x01\x01",5);" statement_identifier (ERROR "(tstr:" ( (type_descriptor "tstr" type_identifier) :) : (expression_statement "buf + 2,"\x06\x01\x01\x01",5);" (comma_expression "buf + 2,"\x06\x01\x01\x01",5" (binary_expression "buf + 2" identifier + number_literal) , (comma_expression ""\x06\x01\x01\x01",5" (string_literal ""\x06\x01\x01\x01"" " escape_sequence escape_sequence escape_sequence escape_sequence ") , number_literal)) (ERROR ")" )) ;)) (return_statement "return tstr::buf;" return identifier (ERROR "::buf" : : identifier) ;) })) (expression_statement "*pp = (char *)(pbVar1 + 2);" (assignment_expression "*pp = (char *)(pbVar1 + 2)" (pointer_expression "*pp" * identifier) = (cast_expression "(char *)(pbVar1 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar1 + 2)" ( (binary_expression "pbVar1 + 2" identifier + number_literal) )))) ;) (labeled_statement "tstr::buf[1] = '\0';" statement_identifier : (ERROR ":" :) (expression_statement "buf[1] = '\0';" (assignment_expression "buf[1] = '\0'" (subscript_expression "buf[1]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;)) (labeled_statement "tstr::buf[0] = pbVar1[1];" statement_identifier : (ERROR ":" :) (expression_statement "buf[0] = pbVar1[1];" (assignment_expression "buf[0] = pbVar1[1]" (subscript_expression "buf[0]" identifier [ number_literal ]) = (subscript_expression "pbVar1[1]" identifier [ number_literal ])) ;)) (labeled_statement "LAB_00011c14:\n    pcVar3 = tstr::buf;" statement_identifier : (expression_statement "pcVar3 = tstr::buf;" (assignment_expression "pcVar3 = tstr" identifier = identifier) (ERROR "::buf" : : identifier) ;)) (break_statement "break;" break ;)) (case_statement "case 0x6e:\n    pcVar3 = "\n";\n    *pp = (char *)(pbVar1 + 2);\n    break;" case number_literal : (expression_statement "pcVar3 = "\n";" (assignment_expression "pcVar3 = "\n"" identifier = (string_literal ""\n"" " escape_sequence ")) ;) (expression_statement "*pp = (char *)(pbVar1 + 2);" (assignment_expression "*pp = (char *)(pbVar1 + 2)" (pointer_expression "*pp" * identifier) = (cast_expression "(char *)(pbVar1 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar1 + 2)" ( (binary_expression "pbVar1 + 2" identifier + number_literal) )))) ;) (break_statement "break;" break ;)) (case_statement "case 0x72:\n    pcVar3 = "\r";\n    *pp = (char *)(pbVar1 + 2);\n    break;" case number_literal : (expression_statement "pcVar3 = "\r";" (assignment_expression "pcVar3 = "\r"" identifier = (string_literal ""\r"" " escape_sequence ")) ;) (expression_statement "*pp = (char *)(pbVar1 + 2);" (assignment_expression "*pp = (char *)(pbVar1 + 2)" (pointer_expression "*pp" * identifier) = (cast_expression "(char *)(pbVar1 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar1 + 2)" ( (binary_expression "pbVar1 + 2" identifier + number_literal) )))) ;) (break_statement "break;" break ;)) (case_statement "case 0x74:\n    pcVar3 = "\t";\n    *pp = (char *)(pbVar1 + 2);" case number_literal : (expression_statement "pcVar3 = "\t";" (assignment_expression "pcVar3 = "\t"" identifier = (string_literal ""\t"" " escape_sequence ")) ;) (expression_statement "*pp = (char *)(pbVar1 + 2);" (assignment_expression "*pp = (char *)(pbVar1 + 2)" (pointer_expression "*pp" * identifier) = (cast_expression "(char *)(pbVar1 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar1 + 2)" ( (binary_expression "pbVar1 + 2" identifier + number_literal) )))) ;)) })) (return_statement "return pcVar3;" return identifier ;) })))
(translation_unit "char * FUN_00011bd0(int *param_1,int param_2)\n\n{\n  byte *pbVar1;\n  byte bVar2;\n  undefined1 uVar3;\n  char *pcVar4;\n  byte *pbVar5;\n  byte bVar6;\n  byte *pbStack_24;\n  \n  pbVar1 = (byte *)*param_1;\n  if (*pbVar1 != 0x5c) {\n    if (*pbVar1 == 0x5e) {\n      *param_1 = (int)(pbVar1 + 2);\n      bVar2 = pbVar1[1] & 0x1f;\n      _DAT_000152f0 = pbVar1[1] & 0xff1f;\n    }\n    else {\n      *param_1 = (int)(pbVar1 + 1);\n      bVar2 = *pbVar1;\n      _DAT_000152f0 = (ushort)bVar2;\n      if (param_2 == 0) goto LAB_00011c14;\n    }\njoined_r0x00011c6b:\n    if (bVar2 == 0xb) {\nLAB_00011c6d:\n      return &DAT_00015008;\n    }\n    goto LAB_00011c14;\n  }\n  bVar2 = pbVar1[1];\n  switch(bVar2) {\n  case 0x30:\n  case 0x31:\n  case 0x32:\n  case 0x33:\n  case 0x34:\n  case 0x35:\n  case 0x36:\n  case 0x37:\n    pbVar5 = pbVar1 + 1;\n    bVar6 = 0;\n    do {\n      bVar6 = (bVar2 - 0x30) + bVar6 * '\b';\n      pbVar5 = pbVar5 + 1;\n      bVar2 = *pbVar5;\n      pbStack_24 = pbVar5;\n      if (7 < (byte)(bVar2 - 0x30)) break;\n      pbStack_24 = pbVar1 + 4;\n    } while (pbVar5 != pbVar1 + 4);\n    *param_1 = (int)pbStack_24;\n    if ((param_2 == 0) || (bVar6 != 0xb)) {\n      _DAT_000152f0 = (ushort)bVar6;\n      return &DAT_000152f0;\n    }\n    goto LAB_00011c6d;\n  default:\n    *param_1 = (int)(pbVar1 + 2);\n    bVar2 = pbVar1[1];\n    _DAT_000152f0 = (ushort)bVar2;\n    if (param_2 != 0) goto joined_r0x00011c6b;\n    goto LAB_00011c14;\n  case 0x62:\n    pcVar4 = "\b";\n    *param_1 = (int)(pbVar1 + 2);\n    break;\n  case 0x65:\n    pcVar4 = &DAT_000152f0;\n    *param_1 = (int)(pbVar1 + 2);\n    _DAT_000152f0 = 0x1b;\n    break;\n  case 0x6b:\n    if (param_2 != 0) {\n      switch(pbVar1[2]) {\n      case 0x44:\n        uVar3 = 6;\n        break;\n      default:\n        error("illegal char after \\k");\n        *param_1 = (int)(pbVar1 + 3);\n        return "";\n      case 0x55:\n        uVar3 = 5;\n        break;\n      case 100:\n        uVar3 = 4;\n        break;\n      case 0x65:\n        uVar3 = 8;\n        break;\n      case 0x68:\n        uVar3 = 7;\n        break;\n      case 0x6c:\n        uVar3 = 2;\n        break;\n      case 0x72:\n        uVar3 = 1;\n        break;\n      case 0x75:\n        uVar3 = 3;\n        break;\n      case 0x78:\n        uVar3 = 9;\n      }\n      *param_1 = (int)(pbVar1 + 3);\n      _DAT_000152f0 = CONCAT11(uVar3,0xb);\n      uRam000152f2 = 0x1010106;\n      uRam000152f6 = 0;\n      return &DAT_000152f0;\n    }\n    *param_1 = (int)(pbVar1 + 2);\n    _DAT_000152f0 = (ushort)pbVar1[1];\nLAB_00011c14:\n    pcVar4 = &DAT_000152f0;\n    break;\n  case 0x6e:\n    pcVar4 = "\n";\n    *param_1 = (int)(pbVar1 + 2);\n    break;\n  case 0x72:\n    pcVar4 = "\r";\n    *param_1 = (int)(pbVar1 + 2);\n    break;\n  case 0x74:\n    pcVar4 = "\t";\n    *param_1 = (int)(pbVar1 + 2);\n  }\n  return pcVar4;\n}\n\n" (function_definition "char * FUN_00011bd0(int *param_1,int param_2)\n\n{\n  byte *pbVar1;\n  byte bVar2;\n  undefined1 uVar3;\n  char *pcVar4;\n  byte *pbVar5;\n  byte bVar6;\n  byte *pbStack_24;\n  \n  pbVar1 = (byte *)*param_1;\n  if (*pbVar1 != 0x5c) {\n    if (*pbVar1 == 0x5e) {\n      *param_1 = (int)(pbVar1 + 2);\n      bVar2 = pbVar1[1] & 0x1f;\n      _DAT_000152f0 = pbVar1[1] & 0xff1f;\n    }\n    else {\n      *param_1 = (int)(pbVar1 + 1);\n      bVar2 = *pbVar1;\n      _DAT_000152f0 = (ushort)bVar2;\n      if (param_2 == 0) goto LAB_00011c14;\n    }\njoined_r0x00011c6b:\n    if (bVar2 == 0xb) {\nLAB_00011c6d:\n      return &DAT_00015008;\n    }\n    goto LAB_00011c14;\n  }\n  bVar2 = pbVar1[1];\n  switch(bVar2) {\n  case 0x30:\n  case 0x31:\n  case 0x32:\n  case 0x33:\n  case 0x34:\n  case 0x35:\n  case 0x36:\n  case 0x37:\n    pbVar5 = pbVar1 + 1;\n    bVar6 = 0;\n    do {\n      bVar6 = (bVar2 - 0x30) + bVar6 * '\b';\n      pbVar5 = pbVar5 + 1;\n      bVar2 = *pbVar5;\n      pbStack_24 = pbVar5;\n      if (7 < (byte)(bVar2 - 0x30)) break;\n      pbStack_24 = pbVar1 + 4;\n    } while (pbVar5 != pbVar1 + 4);\n    *param_1 = (int)pbStack_24;\n    if ((param_2 == 0) || (bVar6 != 0xb)) {\n      _DAT_000152f0 = (ushort)bVar6;\n      return &DAT_000152f0;\n    }\n    goto LAB_00011c6d;\n  default:\n    *param_1 = (int)(pbVar1 + 2);\n    bVar2 = pbVar1[1];\n    _DAT_000152f0 = (ushort)bVar2;\n    if (param_2 != 0) goto joined_r0x00011c6b;\n    goto LAB_00011c14;\n  case 0x62:\n    pcVar4 = "\b";\n    *param_1 = (int)(pbVar1 + 2);\n    break;\n  case 0x65:\n    pcVar4 = &DAT_000152f0;\n    *param_1 = (int)(pbVar1 + 2);\n    _DAT_000152f0 = 0x1b;\n    break;\n  case 0x6b:\n    if (param_2 != 0) {\n      switch(pbVar1[2]) {\n      case 0x44:\n        uVar3 = 6;\n        break;\n      default:\n        error("illegal char after \\k");\n        *param_1 = (int)(pbVar1 + 3);\n        return "";\n      case 0x55:\n        uVar3 = 5;\n        break;\n      case 100:\n        uVar3 = 4;\n        break;\n      case 0x65:\n        uVar3 = 8;\n        break;\n      case 0x68:\n        uVar3 = 7;\n        break;\n      case 0x6c:\n        uVar3 = 2;\n        break;\n      case 0x72:\n        uVar3 = 1;\n        break;\n      case 0x75:\n        uVar3 = 3;\n        break;\n      case 0x78:\n        uVar3 = 9;\n      }\n      *param_1 = (int)(pbVar1 + 3);\n      _DAT_000152f0 = CONCAT11(uVar3,0xb);\n      uRam000152f2 = 0x1010106;\n      uRam000152f6 = 0;\n      return &DAT_000152f0;\n    }\n    *param_1 = (int)(pbVar1 + 2);\n    _DAT_000152f0 = (ushort)pbVar1[1];\nLAB_00011c14:\n    pcVar4 = &DAT_000152f0;\n    break;\n  case 0x6e:\n    pcVar4 = "\n";\n    *param_1 = (int)(pbVar1 + 2);\n    break;\n  case 0x72:\n    pcVar4 = "\r";\n    *param_1 = (int)(pbVar1 + 2);\n    break;\n  case 0x74:\n    pcVar4 = "\t";\n    *param_1 = (int)(pbVar1 + 2);\n  }\n  return pcVar4;\n}" primitive_type (pointer_declarator "* FUN_00011bd0(int *param_1,int param_2)" * (function_declarator "FUN_00011bd0(int *param_1,int param_2)" identifier (parameter_list "(int *param_1,int param_2)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) )))) (compound_statement "{\n  byte *pbVar1;\n  byte bVar2;\n  undefined1 uVar3;\n  char *pcVar4;\n  byte *pbVar5;\n  byte bVar6;\n  byte *pbStack_24;\n  \n  pbVar1 = (byte *)*param_1;\n  if (*pbVar1 != 0x5c) {\n    if (*pbVar1 == 0x5e) {\n      *param_1 = (int)(pbVar1 + 2);\n      bVar2 = pbVar1[1] & 0x1f;\n      _DAT_000152f0 = pbVar1[1] & 0xff1f;\n    }\n    else {\n      *param_1 = (int)(pbVar1 + 1);\n      bVar2 = *pbVar1;\n      _DAT_000152f0 = (ushort)bVar2;\n      if (param_2 == 0) goto LAB_00011c14;\n    }\njoined_r0x00011c6b:\n    if (bVar2 == 0xb) {\nLAB_00011c6d:\n      return &DAT_00015008;\n    }\n    goto LAB_00011c14;\n  }\n  bVar2 = pbVar1[1];\n  switch(bVar2) {\n  case 0x30:\n  case 0x31:\n  case 0x32:\n  case 0x33:\n  case 0x34:\n  case 0x35:\n  case 0x36:\n  case 0x37:\n    pbVar5 = pbVar1 + 1;\n    bVar6 = 0;\n    do {\n      bVar6 = (bVar2 - 0x30) + bVar6 * '\b';\n      pbVar5 = pbVar5 + 1;\n      bVar2 = *pbVar5;\n      pbStack_24 = pbVar5;\n      if (7 < (byte)(bVar2 - 0x30)) break;\n      pbStack_24 = pbVar1 + 4;\n    } while (pbVar5 != pbVar1 + 4);\n    *param_1 = (int)pbStack_24;\n    if ((param_2 == 0) || (bVar6 != 0xb)) {\n      _DAT_000152f0 = (ushort)bVar6;\n      return &DAT_000152f0;\n    }\n    goto LAB_00011c6d;\n  default:\n    *param_1 = (int)(pbVar1 + 2);\n    bVar2 = pbVar1[1];\n    _DAT_000152f0 = (ushort)bVar2;\n    if (param_2 != 0) goto joined_r0x00011c6b;\n    goto LAB_00011c14;\n  case 0x62:\n    pcVar4 = "\b";\n    *param_1 = (int)(pbVar1 + 2);\n    break;\n  case 0x65:\n    pcVar4 = &DAT_000152f0;\n    *param_1 = (int)(pbVar1 + 2);\n    _DAT_000152f0 = 0x1b;\n    break;\n  case 0x6b:\n    if (param_2 != 0) {\n      switch(pbVar1[2]) {\n      case 0x44:\n        uVar3 = 6;\n        break;\n      default:\n        error("illegal char after \\k");\n        *param_1 = (int)(pbVar1 + 3);\n        return "";\n      case 0x55:\n        uVar3 = 5;\n        break;\n      case 100:\n        uVar3 = 4;\n        break;\n      case 0x65:\n        uVar3 = 8;\n        break;\n      case 0x68:\n        uVar3 = 7;\n        break;\n      case 0x6c:\n        uVar3 = 2;\n        break;\n      case 0x72:\n        uVar3 = 1;\n        break;\n      case 0x75:\n        uVar3 = 3;\n        break;\n      case 0x78:\n        uVar3 = 9;\n      }\n      *param_1 = (int)(pbVar1 + 3);\n      _DAT_000152f0 = CONCAT11(uVar3,0xb);\n      uRam000152f2 = 0x1010106;\n      uRam000152f6 = 0;\n      return &DAT_000152f0;\n    }\n    *param_1 = (int)(pbVar1 + 2);\n    _DAT_000152f0 = (ushort)pbVar1[1];\nLAB_00011c14:\n    pcVar4 = &DAT_000152f0;\n    break;\n  case 0x6e:\n    pcVar4 = "\n";\n    *param_1 = (int)(pbVar1 + 2);\n    break;\n  case 0x72:\n    pcVar4 = "\r";\n    *param_1 = (int)(pbVar1 + 2);\n    break;\n  case 0x74:\n    pcVar4 = "\t";\n    *param_1 = (int)(pbVar1 + 2);\n  }\n  return pcVar4;\n}" { (declaration "byte *pbVar1;" type_identifier (pointer_declarator "*pbVar1" * identifier) ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "undefined1 uVar3;" type_identifier identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "byte *pbVar5;" type_identifier (pointer_declarator "*pbVar5" * identifier) ;) (declaration "byte bVar6;" type_identifier identifier ;) (declaration "byte *pbStack_24;" type_identifier (pointer_declarator "*pbStack_24" * identifier) ;) (expression_statement "pbVar1 = (byte *)*param_1;" (assignment_expression "pbVar1 = (byte *)*param_1" identifier = (cast_expression "(byte *)*param_1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_1" * identifier))) ;) (if_statement "if (*pbVar1 != 0x5c) {\n    if (*pbVar1 == 0x5e) {\n      *param_1 = (int)(pbVar1 + 2);\n      bVar2 = pbVar1[1] & 0x1f;\n      _DAT_000152f0 = pbVar1[1] & 0xff1f;\n    }\n    else {\n      *param_1 = (int)(pbVar1 + 1);\n      bVar2 = *pbVar1;\n      _DAT_000152f0 = (ushort)bVar2;\n      if (param_2 == 0) goto LAB_00011c14;\n    }\njoined_r0x00011c6b:\n    if (bVar2 == 0xb) {\nLAB_00011c6d:\n      return &DAT_00015008;\n    }\n    goto LAB_00011c14;\n  }" if (parenthesized_expression "(*pbVar1 != 0x5c)" ( (binary_expression "*pbVar1 != 0x5c" (pointer_expression "*pbVar1" * identifier) != number_literal) )) (compound_statement "{\n    if (*pbVar1 == 0x5e) {\n      *param_1 = (int)(pbVar1 + 2);\n      bVar2 = pbVar1[1] & 0x1f;\n      _DAT_000152f0 = pbVar1[1] & 0xff1f;\n    }\n    else {\n      *param_1 = (int)(pbVar1 + 1);\n      bVar2 = *pbVar1;\n      _DAT_000152f0 = (ushort)bVar2;\n      if (param_2 == 0) goto LAB_00011c14;\n    }\njoined_r0x00011c6b:\n    if (bVar2 == 0xb) {\nLAB_00011c6d:\n      return &DAT_00015008;\n    }\n    goto LAB_00011c14;\n  }" { (if_statement "if (*pbVar1 == 0x5e) {\n      *param_1 = (int)(pbVar1 + 2);\n      bVar2 = pbVar1[1] & 0x1f;\n      _DAT_000152f0 = pbVar1[1] & 0xff1f;\n    }\n    else {\n      *param_1 = (int)(pbVar1 + 1);\n      bVar2 = *pbVar1;\n      _DAT_000152f0 = (ushort)bVar2;\n      if (param_2 == 0) goto LAB_00011c14;\n    }" if (parenthesized_expression "(*pbVar1 == 0x5e)" ( (binary_expression "*pbVar1 == 0x5e" (pointer_expression "*pbVar1" * identifier) == number_literal) )) (compound_statement "{\n      *param_1 = (int)(pbVar1 + 2);\n      bVar2 = pbVar1[1] & 0x1f;\n      _DAT_000152f0 = pbVar1[1] & 0xff1f;\n    }" { (expression_statement "*param_1 = (int)(pbVar1 + 2);" (assignment_expression "*param_1 = (int)(pbVar1 + 2)" (pointer_expression "*param_1" * identifier) = (cast_expression "(int)(pbVar1 + 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar1 + 2)" ( (binary_expression "pbVar1 + 2" identifier + number_literal) )))) ;) (expression_statement "bVar2 = pbVar1[1] & 0x1f;" (assignment_expression "bVar2 = pbVar1[1] & 0x1f" identifier = (binary_expression "pbVar1[1] & 0x1f" (subscript_expression "pbVar1[1]" identifier [ number_literal ]) & number_literal)) ;) (expression_statement "_DAT_000152f0 = pbVar1[1] & 0xff1f;" (assignment_expression "_DAT_000152f0 = pbVar1[1] & 0xff1f" identifier = (binary_expression "pbVar1[1] & 0xff1f" (subscript_expression "pbVar1[1]" identifier [ number_literal ]) & number_literal)) ;) }) (else_clause "else {\n      *param_1 = (int)(pbVar1 + 1);\n      bVar2 = *pbVar1;\n      _DAT_000152f0 = (ushort)bVar2;\n      if (param_2 == 0) goto LAB_00011c14;\n    }" else (compound_statement "{\n      *param_1 = (int)(pbVar1 + 1);\n      bVar2 = *pbVar1;\n      _DAT_000152f0 = (ushort)bVar2;\n      if (param_2 == 0) goto LAB_00011c14;\n    }" { (expression_statement "*param_1 = (int)(pbVar1 + 1);" (assignment_expression "*param_1 = (int)(pbVar1 + 1)" (pointer_expression "*param_1" * identifier) = (cast_expression "(int)(pbVar1 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar1 + 1)" ( (binary_expression "pbVar1 + 1" identifier + number_literal) )))) ;) (expression_statement "bVar2 = *pbVar1;" (assignment_expression "bVar2 = *pbVar1" identifier = (pointer_expression "*pbVar1" * identifier)) ;) (expression_statement "_DAT_000152f0 = (ushort)bVar2;" (assignment_expression "_DAT_000152f0 = (ushort)bVar2" identifier = (cast_expression "(ushort)bVar2" ( (type_descriptor "ushort" type_identifier) ) identifier)) ;) (if_statement "if (param_2 == 0) goto LAB_00011c14;" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00011c14;" goto statement_identifier ;)) }))) (labeled_statement "joined_r0x00011c6b:\n    if (bVar2 == 0xb) {\nLAB_00011c6d:\n      return &DAT_00015008;\n    }" statement_identifier : (if_statement "if (bVar2 == 0xb) {\nLAB_00011c6d:\n      return &DAT_00015008;\n    }" if (parenthesized_expression "(bVar2 == 0xb)" ( (binary_expression "bVar2 == 0xb" identifier == number_literal) )) (compound_statement "{\nLAB_00011c6d:\n      return &DAT_00015008;\n    }" { (labeled_statement "LAB_00011c6d:\n      return &DAT_00015008;" statement_identifier : (return_statement "return &DAT_00015008;" return (pointer_expression "&DAT_00015008" & identifier) ;)) }))) (goto_statement "goto LAB_00011c14;" goto statement_identifier ;) })) (expression_statement "bVar2 = pbVar1[1];" (assignment_expression "bVar2 = pbVar1[1]" identifier = (subscript_expression "pbVar1[1]" identifier [ number_literal ])) ;) (switch_statement "switch(bVar2) {\n  case 0x30:\n  case 0x31:\n  case 0x32:\n  case 0x33:\n  case 0x34:\n  case 0x35:\n  case 0x36:\n  case 0x37:\n    pbVar5 = pbVar1 + 1;\n    bVar6 = 0;\n    do {\n      bVar6 = (bVar2 - 0x30) + bVar6 * '\b';\n      pbVar5 = pbVar5 + 1;\n      bVar2 = *pbVar5;\n      pbStack_24 = pbVar5;\n      if (7 < (byte)(bVar2 - 0x30)) break;\n      pbStack_24 = pbVar1 + 4;\n    } while (pbVar5 != pbVar1 + 4);\n    *param_1 = (int)pbStack_24;\n    if ((param_2 == 0) || (bVar6 != 0xb)) {\n      _DAT_000152f0 = (ushort)bVar6;\n      return &DAT_000152f0;\n    }\n    goto LAB_00011c6d;\n  default:\n    *param_1 = (int)(pbVar1 + 2);\n    bVar2 = pbVar1[1];\n    _DAT_000152f0 = (ushort)bVar2;\n    if (param_2 != 0) goto joined_r0x00011c6b;\n    goto LAB_00011c14;\n  case 0x62:\n    pcVar4 = "\b";\n    *param_1 = (int)(pbVar1 + 2);\n    break;\n  case 0x65:\n    pcVar4 = &DAT_000152f0;\n    *param_1 = (int)(pbVar1 + 2);\n    _DAT_000152f0 = 0x1b;\n    break;\n  case 0x6b:\n    if (param_2 != 0) {\n      switch(pbVar1[2]) {\n      case 0x44:\n        uVar3 = 6;\n        break;\n      default:\n        error("illegal char after \\k");\n        *param_1 = (int)(pbVar1 + 3);\n        return "";\n      case 0x55:\n        uVar3 = 5;\n        break;\n      case 100:\n        uVar3 = 4;\n        break;\n      case 0x65:\n        uVar3 = 8;\n        break;\n      case 0x68:\n        uVar3 = 7;\n        break;\n      case 0x6c:\n        uVar3 = 2;\n        break;\n      case 0x72:\n        uVar3 = 1;\n        break;\n      case 0x75:\n        uVar3 = 3;\n        break;\n      case 0x78:\n        uVar3 = 9;\n      }\n      *param_1 = (int)(pbVar1 + 3);\n      _DAT_000152f0 = CONCAT11(uVar3,0xb);\n      uRam000152f2 = 0x1010106;\n      uRam000152f6 = 0;\n      return &DAT_000152f0;\n    }\n    *param_1 = (int)(pbVar1 + 2);\n    _DAT_000152f0 = (ushort)pbVar1[1];\nLAB_00011c14:\n    pcVar4 = &DAT_000152f0;\n    break;\n  case 0x6e:\n    pcVar4 = "\n";\n    *param_1 = (int)(pbVar1 + 2);\n    break;\n  case 0x72:\n    pcVar4 = "\r";\n    *param_1 = (int)(pbVar1 + 2);\n    break;\n  case 0x74:\n    pcVar4 = "\t";\n    *param_1 = (int)(pbVar1 + 2);\n  }" switch (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n  case 0x30:\n  case 0x31:\n  case 0x32:\n  case 0x33:\n  case 0x34:\n  case 0x35:\n  case 0x36:\n  case 0x37:\n    pbVar5 = pbVar1 + 1;\n    bVar6 = 0;\n    do {\n      bVar6 = (bVar2 - 0x30) + bVar6 * '\b';\n      pbVar5 = pbVar5 + 1;\n      bVar2 = *pbVar5;\n      pbStack_24 = pbVar5;\n      if (7 < (byte)(bVar2 - 0x30)) break;\n      pbStack_24 = pbVar1 + 4;\n    } while (pbVar5 != pbVar1 + 4);\n    *param_1 = (int)pbStack_24;\n    if ((param_2 == 0) || (bVar6 != 0xb)) {\n      _DAT_000152f0 = (ushort)bVar6;\n      return &DAT_000152f0;\n    }\n    goto LAB_00011c6d;\n  default:\n    *param_1 = (int)(pbVar1 + 2);\n    bVar2 = pbVar1[1];\n    _DAT_000152f0 = (ushort)bVar2;\n    if (param_2 != 0) goto joined_r0x00011c6b;\n    goto LAB_00011c14;\n  case 0x62:\n    pcVar4 = "\b";\n    *param_1 = (int)(pbVar1 + 2);\n    break;\n  case 0x65:\n    pcVar4 = &DAT_000152f0;\n    *param_1 = (int)(pbVar1 + 2);\n    _DAT_000152f0 = 0x1b;\n    break;\n  case 0x6b:\n    if (param_2 != 0) {\n      switch(pbVar1[2]) {\n      case 0x44:\n        uVar3 = 6;\n        break;\n      default:\n        error("illegal char after \\k");\n        *param_1 = (int)(pbVar1 + 3);\n        return "";\n      case 0x55:\n        uVar3 = 5;\n        break;\n      case 100:\n        uVar3 = 4;\n        break;\n      case 0x65:\n        uVar3 = 8;\n        break;\n      case 0x68:\n        uVar3 = 7;\n        break;\n      case 0x6c:\n        uVar3 = 2;\n        break;\n      case 0x72:\n        uVar3 = 1;\n        break;\n      case 0x75:\n        uVar3 = 3;\n        break;\n      case 0x78:\n        uVar3 = 9;\n      }\n      *param_1 = (int)(pbVar1 + 3);\n      _DAT_000152f0 = CONCAT11(uVar3,0xb);\n      uRam000152f2 = 0x1010106;\n      uRam000152f6 = 0;\n      return &DAT_000152f0;\n    }\n    *param_1 = (int)(pbVar1 + 2);\n    _DAT_000152f0 = (ushort)pbVar1[1];\nLAB_00011c14:\n    pcVar4 = &DAT_000152f0;\n    break;\n  case 0x6e:\n    pcVar4 = "\n";\n    *param_1 = (int)(pbVar1 + 2);\n    break;\n  case 0x72:\n    pcVar4 = "\r";\n    *param_1 = (int)(pbVar1 + 2);\n    break;\n  case 0x74:\n    pcVar4 = "\t";\n    *param_1 = (int)(pbVar1 + 2);\n  }" { (case_statement "case 0x30:" case number_literal :) (case_statement "case 0x31:" case number_literal :) (case_statement "case 0x32:" case number_literal :) (case_statement "case 0x33:" case number_literal :) (case_statement "case 0x34:" case number_literal :) (case_statement "case 0x35:" case number_literal :) (case_statement "case 0x36:" case number_literal :) (case_statement "case 0x37:\n    pbVar5 = pbVar1 + 1;\n    bVar6 = 0;\n    do {\n      bVar6 = (bVar2 - 0x30) + bVar6 * '\b';\n      pbVar5 = pbVar5 + 1;\n      bVar2 = *pbVar5;\n      pbStack_24 = pbVar5;\n      if (7 < (byte)(bVar2 - 0x30)) break;\n      pbStack_24 = pbVar1 + 4;\n    } while (pbVar5 != pbVar1 + 4);\n    *param_1 = (int)pbStack_24;\n    if ((param_2 == 0) || (bVar6 != 0xb)) {\n      _DAT_000152f0 = (ushort)bVar6;\n      return &DAT_000152f0;\n    }\n    goto LAB_00011c6d;" case number_literal : (expression_statement "pbVar5 = pbVar1 + 1;" (assignment_expression "pbVar5 = pbVar1 + 1" identifier = (binary_expression "pbVar1 + 1" identifier + number_literal)) ;) (expression_statement "bVar6 = 0;" (assignment_expression "bVar6 = 0" identifier = number_literal) ;) (do_statement "do {\n      bVar6 = (bVar2 - 0x30) + bVar6 * '\b';\n      pbVar5 = pbVar5 + 1;\n      bVar2 = *pbVar5;\n      pbStack_24 = pbVar5;\n      if (7 < (byte)(bVar2 - 0x30)) break;\n      pbStack_24 = pbVar1 + 4;\n    } while (pbVar5 != pbVar1 + 4);" do (compound_statement "{\n      bVar6 = (bVar2 - 0x30) + bVar6 * '\b';\n      pbVar5 = pbVar5 + 1;\n      bVar2 = *pbVar5;\n      pbStack_24 = pbVar5;\n      if (7 < (byte)(bVar2 - 0x30)) break;\n      pbStack_24 = pbVar1 + 4;\n    }" { (expression_statement "bVar6 = (bVar2 - 0x30) + bVar6 * '\b';" (assignment_expression "bVar6 = (bVar2 - 0x30) + bVar6 * '\b'" identifier = (binary_expression "(bVar2 - 0x30) + bVar6 * '\b'" (parenthesized_expression "(bVar2 - 0x30)" ( (binary_expression "bVar2 - 0x30" identifier - number_literal) )) + (binary_expression "bVar6 * '\b'" identifier * (char_literal "'\b'" ' escape_sequence ')))) ;) (expression_statement "pbVar5 = pbVar5 + 1;" (assignment_expression "pbVar5 = pbVar5 + 1" identifier = (binary_expression "pbVar5 + 1" identifier + number_literal)) ;) (expression_statement "bVar2 = *pbVar5;" (assignment_expression "bVar2 = *pbVar5" identifier = (pointer_expression "*pbVar5" * identifier)) ;) (expression_statement "pbStack_24 = pbVar5;" (assignment_expression "pbStack_24 = pbVar5" identifier = identifier) ;) (if_statement "if (7 < (byte)(bVar2 - 0x30)) break;" if (parenthesized_expression "(7 < (byte)(bVar2 - 0x30))" ( (binary_expression "7 < (byte)(bVar2 - 0x30)" number_literal < (call_expression "(byte)(bVar2 - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar2 - 0x30)" ( (binary_expression "bVar2 - 0x30" identifier - number_literal) )))) )) (break_statement "break;" break ;)) (expression_statement "pbStack_24 = pbVar1 + 4;" (assignment_expression "pbStack_24 = pbVar1 + 4" identifier = (binary_expression "pbVar1 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(pbVar5 != pbVar1 + 4)" ( (binary_expression "pbVar5 != pbVar1 + 4" identifier != (binary_expression "pbVar1 + 4" identifier + number_literal)) )) ;) (expression_statement "*param_1 = (int)pbStack_24;" (assignment_expression "*param_1 = (int)pbStack_24" (pointer_expression "*param_1" * identifier) = (cast_expression "(int)pbStack_24" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if ((param_2 == 0) || (bVar6 != 0xb)) {\n      _DAT_000152f0 = (ushort)bVar6;\n      return &DAT_000152f0;\n    }" if (parenthesized_expression "((param_2 == 0) || (bVar6 != 0xb))" ( (binary_expression "(param_2 == 0) || (bVar6 != 0xb)" (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) || (parenthesized_expression "(bVar6 != 0xb)" ( (binary_expression "bVar6 != 0xb" identifier != number_literal) ))) )) (compound_statement "{\n      _DAT_000152f0 = (ushort)bVar6;\n      return &DAT_000152f0;\n    }" { (expression_statement "_DAT_000152f0 = (ushort)bVar6;" (assignment_expression "_DAT_000152f0 = (ushort)bVar6" identifier = (cast_expression "(ushort)bVar6" ( (type_descriptor "ushort" type_identifier) ) identifier)) ;) (return_statement "return &DAT_000152f0;" return (pointer_expression "&DAT_000152f0" & identifier) ;) })) (goto_statement "goto LAB_00011c6d;" goto statement_identifier ;)) (case_statement "default:\n    *param_1 = (int)(pbVar1 + 2);\n    bVar2 = pbVar1[1];\n    _DAT_000152f0 = (ushort)bVar2;\n    if (param_2 != 0) goto joined_r0x00011c6b;\n    goto LAB_00011c14;" default : (expression_statement "*param_1 = (int)(pbVar1 + 2);" (assignment_expression "*param_1 = (int)(pbVar1 + 2)" (pointer_expression "*param_1" * identifier) = (cast_expression "(int)(pbVar1 + 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar1 + 2)" ( (binary_expression "pbVar1 + 2" identifier + number_literal) )))) ;) (expression_statement "bVar2 = pbVar1[1];" (assignment_expression "bVar2 = pbVar1[1]" identifier = (subscript_expression "pbVar1[1]" identifier [ number_literal ])) ;) (expression_statement "_DAT_000152f0 = (ushort)bVar2;" (assignment_expression "_DAT_000152f0 = (ushort)bVar2" identifier = (cast_expression "(ushort)bVar2" ( (type_descriptor "ushort" type_identifier) ) identifier)) ;) (if_statement "if (param_2 != 0) goto joined_r0x00011c6b;" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (goto_statement "goto joined_r0x00011c6b;" goto statement_identifier ;)) (goto_statement "goto LAB_00011c14;" goto statement_identifier ;)) (case_statement "case 0x62:\n    pcVar4 = "\b";\n    *param_1 = (int)(pbVar1 + 2);\n    break;" case number_literal : (expression_statement "pcVar4 = "\b";" (assignment_expression "pcVar4 = "\b"" identifier = (string_literal ""\b"" " escape_sequence ")) ;) (expression_statement "*param_1 = (int)(pbVar1 + 2);" (assignment_expression "*param_1 = (int)(pbVar1 + 2)" (pointer_expression "*param_1" * identifier) = (cast_expression "(int)(pbVar1 + 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar1 + 2)" ( (binary_expression "pbVar1 + 2" identifier + number_literal) )))) ;) (break_statement "break;" break ;)) (case_statement "case 0x65:\n    pcVar4 = &DAT_000152f0;\n    *param_1 = (int)(pbVar1 + 2);\n    _DAT_000152f0 = 0x1b;\n    break;" case number_literal : (expression_statement "pcVar4 = &DAT_000152f0;" (assignment_expression "pcVar4 = &DAT_000152f0" identifier = (pointer_expression "&DAT_000152f0" & identifier)) ;) (expression_statement "*param_1 = (int)(pbVar1 + 2);" (assignment_expression "*param_1 = (int)(pbVar1 + 2)" (pointer_expression "*param_1" * identifier) = (cast_expression "(int)(pbVar1 + 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar1 + 2)" ( (binary_expression "pbVar1 + 2" identifier + number_literal) )))) ;) (expression_statement "_DAT_000152f0 = 0x1b;" (assignment_expression "_DAT_000152f0 = 0x1b" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x6b:\n    if (param_2 != 0) {\n      switch(pbVar1[2]) {\n      case 0x44:\n        uVar3 = 6;\n        break;\n      default:\n        error("illegal char after \\k");\n        *param_1 = (int)(pbVar1 + 3);\n        return "";\n      case 0x55:\n        uVar3 = 5;\n        break;\n      case 100:\n        uVar3 = 4;\n        break;\n      case 0x65:\n        uVar3 = 8;\n        break;\n      case 0x68:\n        uVar3 = 7;\n        break;\n      case 0x6c:\n        uVar3 = 2;\n        break;\n      case 0x72:\n        uVar3 = 1;\n        break;\n      case 0x75:\n        uVar3 = 3;\n        break;\n      case 0x78:\n        uVar3 = 9;\n      }\n      *param_1 = (int)(pbVar1 + 3);\n      _DAT_000152f0 = CONCAT11(uVar3,0xb);\n      uRam000152f2 = 0x1010106;\n      uRam000152f6 = 0;\n      return &DAT_000152f0;\n    }\n    *param_1 = (int)(pbVar1 + 2);\n    _DAT_000152f0 = (ushort)pbVar1[1];\nLAB_00011c14:\n    pcVar4 = &DAT_000152f0;\n    break;" case number_literal : (if_statement "if (param_2 != 0) {\n      switch(pbVar1[2]) {\n      case 0x44:\n        uVar3 = 6;\n        break;\n      default:\n        error("illegal char after \\k");\n        *param_1 = (int)(pbVar1 + 3);\n        return "";\n      case 0x55:\n        uVar3 = 5;\n        break;\n      case 100:\n        uVar3 = 4;\n        break;\n      case 0x65:\n        uVar3 = 8;\n        break;\n      case 0x68:\n        uVar3 = 7;\n        break;\n      case 0x6c:\n        uVar3 = 2;\n        break;\n      case 0x72:\n        uVar3 = 1;\n        break;\n      case 0x75:\n        uVar3 = 3;\n        break;\n      case 0x78:\n        uVar3 = 9;\n      }\n      *param_1 = (int)(pbVar1 + 3);\n      _DAT_000152f0 = CONCAT11(uVar3,0xb);\n      uRam000152f2 = 0x1010106;\n      uRam000152f6 = 0;\n      return &DAT_000152f0;\n    }" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (compound_statement "{\n      switch(pbVar1[2]) {\n      case 0x44:\n        uVar3 = 6;\n        break;\n      default:\n        error("illegal char after \\k");\n        *param_1 = (int)(pbVar1 + 3);\n        return "";\n      case 0x55:\n        uVar3 = 5;\n        break;\n      case 100:\n        uVar3 = 4;\n        break;\n      case 0x65:\n        uVar3 = 8;\n        break;\n      case 0x68:\n        uVar3 = 7;\n        break;\n      case 0x6c:\n        uVar3 = 2;\n        break;\n      case 0x72:\n        uVar3 = 1;\n        break;\n      case 0x75:\n        uVar3 = 3;\n        break;\n      case 0x78:\n        uVar3 = 9;\n      }\n      *param_1 = (int)(pbVar1 + 3);\n      _DAT_000152f0 = CONCAT11(uVar3,0xb);\n      uRam000152f2 = 0x1010106;\n      uRam000152f6 = 0;\n      return &DAT_000152f0;\n    }" { (switch_statement "switch(pbVar1[2]) {\n      case 0x44:\n        uVar3 = 6;\n        break;\n      default:\n        error("illegal char after \\k");\n        *param_1 = (int)(pbVar1 + 3);\n        return "";\n      case 0x55:\n        uVar3 = 5;\n        break;\n      case 100:\n        uVar3 = 4;\n        break;\n      case 0x65:\n        uVar3 = 8;\n        break;\n      case 0x68:\n        uVar3 = 7;\n        break;\n      case 0x6c:\n        uVar3 = 2;\n        break;\n      case 0x72:\n        uVar3 = 1;\n        break;\n      case 0x75:\n        uVar3 = 3;\n        break;\n      case 0x78:\n        uVar3 = 9;\n      }" switch (parenthesized_expression "(pbVar1[2])" ( (subscript_expression "pbVar1[2]" identifier [ number_literal ]) )) (compound_statement "{\n      case 0x44:\n        uVar3 = 6;\n        break;\n      default:\n        error("illegal char after \\k");\n        *param_1 = (int)(pbVar1 + 3);\n        return "";\n      case 0x55:\n        uVar3 = 5;\n        break;\n      case 100:\n        uVar3 = 4;\n        break;\n      case 0x65:\n        uVar3 = 8;\n        break;\n      case 0x68:\n        uVar3 = 7;\n        break;\n      case 0x6c:\n        uVar3 = 2;\n        break;\n      case 0x72:\n        uVar3 = 1;\n        break;\n      case 0x75:\n        uVar3 = 3;\n        break;\n      case 0x78:\n        uVar3 = 9;\n      }" { (case_statement "case 0x44:\n        uVar3 = 6;\n        break;" case number_literal : (expression_statement "uVar3 = 6;" (assignment_expression "uVar3 = 6" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "default:\n        error("illegal char after \\k");\n        *param_1 = (int)(pbVar1 + 3);\n        return "";" default : (expression_statement "error("illegal char after \\k");" (call_expression "error("illegal char after \\k")" identifier (argument_list "("illegal char after \\k")" ( (string_literal ""illegal char after \\k"" " string_content escape_sequence string_content ") ))) ;) (expression_statement "*param_1 = (int)(pbVar1 + 3);" (assignment_expression "*param_1 = (int)(pbVar1 + 3)" (pointer_expression "*param_1" * identifier) = (cast_expression "(int)(pbVar1 + 3)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar1 + 3)" ( (binary_expression "pbVar1 + 3" identifier + number_literal) )))) ;) (return_statement "return "";" return (string_literal """" " ") ;)) (case_statement "case 0x55:\n        uVar3 = 5;\n        break;" case number_literal : (expression_statement "uVar3 = 5;" (assignment_expression "uVar3 = 5" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 100:\n        uVar3 = 4;\n        break;" case number_literal : (expression_statement "uVar3 = 4;" (assignment_expression "uVar3 = 4" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x65:\n        uVar3 = 8;\n        break;" case number_literal : (expression_statement "uVar3 = 8;" (assignment_expression "uVar3 = 8" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x68:\n        uVar3 = 7;\n        break;" case number_literal : (expression_statement "uVar3 = 7;" (assignment_expression "uVar3 = 7" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x6c:\n        uVar3 = 2;\n        break;" case number_literal : (expression_statement "uVar3 = 2;" (assignment_expression "uVar3 = 2" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x72:\n        uVar3 = 1;\n        break;" case number_literal : (expression_statement "uVar3 = 1;" (assignment_expression "uVar3 = 1" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x75:\n        uVar3 = 3;\n        break;" case number_literal : (expression_statement "uVar3 = 3;" (assignment_expression "uVar3 = 3" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x78:\n        uVar3 = 9;" case number_literal : (expression_statement "uVar3 = 9;" (assignment_expression "uVar3 = 9" identifier = number_literal) ;)) })) (expression_statement "*param_1 = (int)(pbVar1 + 3);" (assignment_expression "*param_1 = (int)(pbVar1 + 3)" (pointer_expression "*param_1" * identifier) = (cast_expression "(int)(pbVar1 + 3)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar1 + 3)" ( (binary_expression "pbVar1 + 3" identifier + number_literal) )))) ;) (expression_statement "_DAT_000152f0 = CONCAT11(uVar3,0xb);" (assignment_expression "_DAT_000152f0 = CONCAT11(uVar3,0xb)" identifier = (call_expression "CONCAT11(uVar3,0xb)" identifier (argument_list "(uVar3,0xb)" ( identifier , number_literal )))) ;) (expression_statement "uRam000152f2 = 0x1010106;" (assignment_expression "uRam000152f2 = 0x1010106" identifier = number_literal) ;) (expression_statement "uRam000152f6 = 0;" (assignment_expression "uRam000152f6 = 0" identifier = number_literal) ;) (return_statement "return &DAT_000152f0;" return (pointer_expression "&DAT_000152f0" & identifier) ;) })) (expression_statement "*param_1 = (int)(pbVar1 + 2);" (assignment_expression "*param_1 = (int)(pbVar1 + 2)" (pointer_expression "*param_1" * identifier) = (cast_expression "(int)(pbVar1 + 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar1 + 2)" ( (binary_expression "pbVar1 + 2" identifier + number_literal) )))) ;) (expression_statement "_DAT_000152f0 = (ushort)pbVar1[1];" (assignment_expression "_DAT_000152f0 = (ushort)pbVar1[1]" identifier = (cast_expression "(ushort)pbVar1[1]" ( (type_descriptor "ushort" type_identifier) ) (subscript_expression "pbVar1[1]" identifier [ number_literal ]))) ;) (labeled_statement "LAB_00011c14:\n    pcVar4 = &DAT_000152f0;" statement_identifier : (expression_statement "pcVar4 = &DAT_000152f0;" (assignment_expression "pcVar4 = &DAT_000152f0" identifier = (pointer_expression "&DAT_000152f0" & identifier)) ;)) (break_statement "break;" break ;)) (case_statement "case 0x6e:\n    pcVar4 = "\n";\n    *param_1 = (int)(pbVar1 + 2);\n    break;" case number_literal : (expression_statement "pcVar4 = "\n";" (assignment_expression "pcVar4 = "\n"" identifier = (string_literal ""\n"" " escape_sequence ")) ;) (expression_statement "*param_1 = (int)(pbVar1 + 2);" (assignment_expression "*param_1 = (int)(pbVar1 + 2)" (pointer_expression "*param_1" * identifier) = (cast_expression "(int)(pbVar1 + 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar1 + 2)" ( (binary_expression "pbVar1 + 2" identifier + number_literal) )))) ;) (break_statement "break;" break ;)) (case_statement "case 0x72:\n    pcVar4 = "\r";\n    *param_1 = (int)(pbVar1 + 2);\n    break;" case number_literal : (expression_statement "pcVar4 = "\r";" (assignment_expression "pcVar4 = "\r"" identifier = (string_literal ""\r"" " escape_sequence ")) ;) (expression_statement "*param_1 = (int)(pbVar1 + 2);" (assignment_expression "*param_1 = (int)(pbVar1 + 2)" (pointer_expression "*param_1" * identifier) = (cast_expression "(int)(pbVar1 + 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar1 + 2)" ( (binary_expression "pbVar1 + 2" identifier + number_literal) )))) ;) (break_statement "break;" break ;)) (case_statement "case 0x74:\n    pcVar4 = "\t";\n    *param_1 = (int)(pbVar1 + 2);" case number_literal : (expression_statement "pcVar4 = "\t";" (assignment_expression "pcVar4 = "\t"" identifier = (string_literal ""\t"" " escape_sequence ")) ;) (expression_statement "*param_1 = (int)(pbVar1 + 2);" (assignment_expression "*param_1 = (int)(pbVar1 + 2)" (pointer_expression "*param_1" * identifier) = (cast_expression "(int)(pbVar1 + 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar1 + 2)" ( (binary_expression "pbVar1 + 2" identifier + number_literal) )))) ;)) })) (return_statement "return pcVar4;" return identifier ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) )))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) & LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (return_statement return (pointer_expression & IDENT) ;)) }))) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - LIT) )) + (binary_expression IDENT * (char_literal ' escape_sequence ')))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) )))) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT + LIT)) )) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (return_statement return (pointer_expression & IDENT) ;) })) (goto_statement goto statement_identifier ;)) (case_statement default : (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " escape_sequence ")) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (switch_statement switch (parenthesized_expression ( (subscript_expression IDENT [ LIT ]) )) (compound_statement { (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement default : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content ") ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (return_statement return (string_literal " ") ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;)) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (return_statement return (pointer_expression & IDENT) ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;)) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " escape_sequence ")) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " escape_sequence ")) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " escape_sequence ")) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;)) })) (return_statement return IDENT ;) })))
(function_definition "char * FUN_00011bd0(int *param_1,int param_2)\n\n{\n  byte *pbVar1;\n  byte bVar2;\n  undefined1 uVar3;\n  char *pcVar4;\n  byte *pbVar5;\n  byte bVar6;\n  byte *pbStack_24;\n  \n  pbVar1 = (byte *)*param_1;\n  if (*pbVar1 != 0x5c) {\n    if (*pbVar1 == 0x5e) {\n      *param_1 = (int)(pbVar1 + 2);\n      bVar2 = pbVar1[1] & 0x1f;\n      _DAT_000152f0 = pbVar1[1] & 0xff1f;\n    }\n    else {\n      *param_1 = (int)(pbVar1 + 1);\n      bVar2 = *pbVar1;\n      _DAT_000152f0 = (ushort)bVar2;\n      if (param_2 == 0) goto LAB_00011c14;\n    }\njoined_r0x00011c6b:\n    if (bVar2 == 0xb) {\nLAB_00011c6d:\n      return &DAT_00015008;\n    }\n    goto LAB_00011c14;\n  }\n  bVar2 = pbVar1[1];\n  switch(bVar2) {\n  case 0x30:\n  case 0x31:\n  case 0x32:\n  case 0x33:\n  case 0x34:\n  case 0x35:\n  case 0x36:\n  case 0x37:\n    pbVar5 = pbVar1 + 1;\n    bVar6 = 0;\n    do {\n      bVar6 = (bVar2 - 0x30) + bVar6 * '\b';\n      pbVar5 = pbVar5 + 1;\n      bVar2 = *pbVar5;\n      pbStack_24 = pbVar5;\n      if (7 < (byte)(bVar2 - 0x30)) break;\n      pbStack_24 = pbVar1 + 4;\n    } while (pbVar5 != pbVar1 + 4);\n    *param_1 = (int)pbStack_24;\n    if ((param_2 == 0) || (bVar6 != 0xb)) {\n      _DAT_000152f0 = (ushort)bVar6;\n      return &DAT_000152f0;\n    }\n    goto LAB_00011c6d;\n  default:\n    *param_1 = (int)(pbVar1 + 2);\n    bVar2 = pbVar1[1];\n    _DAT_000152f0 = (ushort)bVar2;\n    if (param_2 != 0) goto joined_r0x00011c6b;\n    goto LAB_00011c14;\n  case 0x62:\n    pcVar4 = "\b";\n    *param_1 = (int)(pbVar1 + 2);\n    break;\n  case 0x65:\n    pcVar4 = &DAT_000152f0;\n    *param_1 = (int)(pbVar1 + 2);\n    _DAT_000152f0 = 0x1b;\n    break;\n  case 0x6b:\n    if (param_2 != 0) {\n      switch(pbVar1[2]) {\n      case 0x44:\n        uVar3 = 6;\n        break;\n      default:\n        error("illegal char after \\k");\n        *param_1 = (int)(pbVar1 + 3);\n        return "";\n      case 0x55:\n        uVar3 = 5;\n        break;\n      case 100:\n        uVar3 = 4;\n        break;\n      case 0x65:\n        uVar3 = 8;\n        break;\n      case 0x68:\n        uVar3 = 7;\n        break;\n      case 0x6c:\n        uVar3 = 2;\n        break;\n      case 0x72:\n        uVar3 = 1;\n        break;\n      case 0x75:\n        uVar3 = 3;\n        break;\n      case 0x78:\n        uVar3 = 9;\n      }\n      *param_1 = (int)(pbVar1 + 3);\n      _DAT_000152f0 = CONCAT11(uVar3,0xb);\n      uRam000152f2 = 0x1010106;\n      uRam000152f6 = 0;\n      return &DAT_000152f0;\n    }\n    *param_1 = (int)(pbVar1 + 2);\n    _DAT_000152f0 = (ushort)pbVar1[1];\nLAB_00011c14:\n    pcVar4 = &DAT_000152f0;\n    break;\n  case 0x6e:\n    pcVar4 = "\n";\n    *param_1 = (int)(pbVar1 + 2);\n    break;\n  case 0x72:\n    pcVar4 = "\r";\n    *param_1 = (int)(pbVar1 + 2);\n    break;\n  case 0x74:\n    pcVar4 = "\t";\n    *param_1 = (int)(pbVar1 + 2);\n  }\n  return pcVar4;\n}" (primitive_type "char") (pointer_declarator "* FUN_00011bd0(int *param_1,int param_2)" (* "*") (function_declarator "FUN_00011bd0(int *param_1,int param_2)" (identifier "FUN_00011bd0") (parameter_list "(int *param_1,int param_2)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) () ")")))) (compound_statement "{\n  byte *pbVar1;\n  byte bVar2;\n  undefined1 uVar3;\n  char *pcVar4;\n  byte *pbVar5;\n  byte bVar6;\n  byte *pbStack_24;\n  \n  pbVar1 = (byte *)*param_1;\n  if (*pbVar1 != 0x5c) {\n    if (*pbVar1 == 0x5e) {\n      *param_1 = (int)(pbVar1 + 2);\n      bVar2 = pbVar1[1] & 0x1f;\n      _DAT_000152f0 = pbVar1[1] & 0xff1f;\n    }\n    else {\n      *param_1 = (int)(pbVar1 + 1);\n      bVar2 = *pbVar1;\n      _DAT_000152f0 = (ushort)bVar2;\n      if (param_2 == 0) goto LAB_00011c14;\n    }\njoined_r0x00011c6b:\n    if (bVar2 == 0xb) {\nLAB_00011c6d:\n      return &DAT_00015008;\n    }\n    goto LAB_00011c14;\n  }\n  bVar2 = pbVar1[1];\n  switch(bVar2) {\n  case 0x30:\n  case 0x31:\n  case 0x32:\n  case 0x33:\n  case 0x34:\n  case 0x35:\n  case 0x36:\n  case 0x37:\n    pbVar5 = pbVar1 + 1;\n    bVar6 = 0;\n    do {\n      bVar6 = (bVar2 - 0x30) + bVar6 * '\b';\n      pbVar5 = pbVar5 + 1;\n      bVar2 = *pbVar5;\n      pbStack_24 = pbVar5;\n      if (7 < (byte)(bVar2 - 0x30)) break;\n      pbStack_24 = pbVar1 + 4;\n    } while (pbVar5 != pbVar1 + 4);\n    *param_1 = (int)pbStack_24;\n    if ((param_2 == 0) || (bVar6 != 0xb)) {\n      _DAT_000152f0 = (ushort)bVar6;\n      return &DAT_000152f0;\n    }\n    goto LAB_00011c6d;\n  default:\n    *param_1 = (int)(pbVar1 + 2);\n    bVar2 = pbVar1[1];\n    _DAT_000152f0 = (ushort)bVar2;\n    if (param_2 != 0) goto joined_r0x00011c6b;\n    goto LAB_00011c14;\n  case 0x62:\n    pcVar4 = "\b";\n    *param_1 = (int)(pbVar1 + 2);\n    break;\n  case 0x65:\n    pcVar4 = &DAT_000152f0;\n    *param_1 = (int)(pbVar1 + 2);\n    _DAT_000152f0 = 0x1b;\n    break;\n  case 0x6b:\n    if (param_2 != 0) {\n      switch(pbVar1[2]) {\n      case 0x44:\n        uVar3 = 6;\n        break;\n      default:\n        error("illegal char after \\k");\n        *param_1 = (int)(pbVar1 + 3);\n        return "";\n      case 0x55:\n        uVar3 = 5;\n        break;\n      case 100:\n        uVar3 = 4;\n        break;\n      case 0x65:\n        uVar3 = 8;\n        break;\n      case 0x68:\n        uVar3 = 7;\n        break;\n      case 0x6c:\n        uVar3 = 2;\n        break;\n      case 0x72:\n        uVar3 = 1;\n        break;\n      case 0x75:\n        uVar3 = 3;\n        break;\n      case 0x78:\n        uVar3 = 9;\n      }\n      *param_1 = (int)(pbVar1 + 3);\n      _DAT_000152f0 = CONCAT11(uVar3,0xb);\n      uRam000152f2 = 0x1010106;\n      uRam000152f6 = 0;\n      return &DAT_000152f0;\n    }\n    *param_1 = (int)(pbVar1 + 2);\n    _DAT_000152f0 = (ushort)pbVar1[1];\nLAB_00011c14:\n    pcVar4 = &DAT_000152f0;\n    break;\n  case 0x6e:\n    pcVar4 = "\n";\n    *param_1 = (int)(pbVar1 + 2);\n    break;\n  case 0x72:\n    pcVar4 = "\r";\n    *param_1 = (int)(pbVar1 + 2);\n    break;\n  case 0x74:\n    pcVar4 = "\t";\n    *param_1 = (int)(pbVar1 + 2);\n  }\n  return pcVar4;\n}" ({ "{") (declaration "byte *pbVar1;" (type_identifier "byte") (pointer_declarator "*pbVar1" (* "*") (identifier "pbVar1")) (; ";")) (declaration "byte bVar2;" (type_identifier "byte") (identifier "bVar2") (; ";")) (declaration "undefined1 uVar3;" (type_identifier "undefined1") (identifier "uVar3") (; ";")) (declaration "char *pcVar4;" (primitive_type "char") (pointer_declarator "*pcVar4" (* "*") (identifier "pcVar4")) (; ";")) (declaration "byte *pbVar5;" (type_identifier "byte") (pointer_declarator "*pbVar5" (* "*") (identifier "pbVar5")) (; ";")) (declaration "byte bVar6;" (type_identifier "byte") (identifier "bVar6") (; ";")) (declaration "byte *pbStack_24;" (type_identifier "byte") (pointer_declarator "*pbStack_24" (* "*") (identifier "pbStack_24")) (; ";")) (expression_statement "pbVar1 = (byte *)*param_1;" (assignment_expression "pbVar1 = (byte *)*param_1" (identifier "pbVar1") (= "=") (cast_expression "(byte *)*param_1" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_1" (* "*") (identifier "param_1")))) (; ";")) (if_statement "if (*pbVar1 != 0x5c) {\n    if (*pbVar1 == 0x5e) {\n      *param_1 = (int)(pbVar1 + 2);\n      bVar2 = pbVar1[1] & 0x1f;\n      _DAT_000152f0 = pbVar1[1] & 0xff1f;\n    }\n    else {\n      *param_1 = (int)(pbVar1 + 1);\n      bVar2 = *pbVar1;\n      _DAT_000152f0 = (ushort)bVar2;\n      if (param_2 == 0) goto LAB_00011c14;\n    }\njoined_r0x00011c6b:\n    if (bVar2 == 0xb) {\nLAB_00011c6d:\n      return &DAT_00015008;\n    }\n    goto LAB_00011c14;\n  }" (if "if") (parenthesized_expression "(*pbVar1 != 0x5c)" (( "(") (binary_expression "*pbVar1 != 0x5c" (pointer_expression "*pbVar1" (* "*") (identifier "pbVar1")) (!= "!=") (number_literal "0x5c")) () ")")) (compound_statement "{\n    if (*pbVar1 == 0x5e) {\n      *param_1 = (int)(pbVar1 + 2);\n      bVar2 = pbVar1[1] & 0x1f;\n      _DAT_000152f0 = pbVar1[1] & 0xff1f;\n    }\n    else {\n      *param_1 = (int)(pbVar1 + 1);\n      bVar2 = *pbVar1;\n      _DAT_000152f0 = (ushort)bVar2;\n      if (param_2 == 0) goto LAB_00011c14;\n    }\njoined_r0x00011c6b:\n    if (bVar2 == 0xb) {\nLAB_00011c6d:\n      return &DAT_00015008;\n    }\n    goto LAB_00011c14;\n  }" ({ "{") (if_statement "if (*pbVar1 == 0x5e) {\n      *param_1 = (int)(pbVar1 + 2);\n      bVar2 = pbVar1[1] & 0x1f;\n      _DAT_000152f0 = pbVar1[1] & 0xff1f;\n    }\n    else {\n      *param_1 = (int)(pbVar1 + 1);\n      bVar2 = *pbVar1;\n      _DAT_000152f0 = (ushort)bVar2;\n      if (param_2 == 0) goto LAB_00011c14;\n    }" (if "if") (parenthesized_expression "(*pbVar1 == 0x5e)" (( "(") (binary_expression "*pbVar1 == 0x5e" (pointer_expression "*pbVar1" (* "*") (identifier "pbVar1")) (== "==") (number_literal "0x5e")) () ")")) (compound_statement "{\n      *param_1 = (int)(pbVar1 + 2);\n      bVar2 = pbVar1[1] & 0x1f;\n      _DAT_000152f0 = pbVar1[1] & 0xff1f;\n    }" ({ "{") (expression_statement "*param_1 = (int)(pbVar1 + 2);" (assignment_expression "*param_1 = (int)(pbVar1 + 2)" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (cast_expression "(int)(pbVar1 + 2)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pbVar1 + 2)" (( "(") (binary_expression "pbVar1 + 2" (identifier "pbVar1") (+ "+") (number_literal "2")) () ")")))) (; ";")) (expression_statement "bVar2 = pbVar1[1] & 0x1f;" (assignment_expression "bVar2 = pbVar1[1] & 0x1f" (identifier "bVar2") (= "=") (binary_expression "pbVar1[1] & 0x1f" (subscript_expression "pbVar1[1]" (identifier "pbVar1") ([ "[") (number_literal "1") (] "]")) (& "&") (number_literal "0x1f"))) (; ";")) (expression_statement "_DAT_000152f0 = pbVar1[1] & 0xff1f;" (assignment_expression "_DAT_000152f0 = pbVar1[1] & 0xff1f" (identifier "_DAT_000152f0") (= "=") (binary_expression "pbVar1[1] & 0xff1f" (subscript_expression "pbVar1[1]" (identifier "pbVar1") ([ "[") (number_literal "1") (] "]")) (& "&") (number_literal "0xff1f"))) (; ";")) (} "}")) (else_clause "else {\n      *param_1 = (int)(pbVar1 + 1);\n      bVar2 = *pbVar1;\n      _DAT_000152f0 = (ushort)bVar2;\n      if (param_2 == 0) goto LAB_00011c14;\n    }" (else "else") (compound_statement "{\n      *param_1 = (int)(pbVar1 + 1);\n      bVar2 = *pbVar1;\n      _DAT_000152f0 = (ushort)bVar2;\n      if (param_2 == 0) goto LAB_00011c14;\n    }" ({ "{") (expression_statement "*param_1 = (int)(pbVar1 + 1);" (assignment_expression "*param_1 = (int)(pbVar1 + 1)" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (cast_expression "(int)(pbVar1 + 1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pbVar1 + 1)" (( "(") (binary_expression "pbVar1 + 1" (identifier "pbVar1") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "bVar2 = *pbVar1;" (assignment_expression "bVar2 = *pbVar1" (identifier "bVar2") (= "=") (pointer_expression "*pbVar1" (* "*") (identifier "pbVar1"))) (; ";")) (expression_statement "_DAT_000152f0 = (ushort)bVar2;" (assignment_expression "_DAT_000152f0 = (ushort)bVar2" (identifier "_DAT_000152f0") (= "=") (cast_expression "(ushort)bVar2" (( "(") (type_descriptor "ushort" (type_identifier "ushort")) () ")") (identifier "bVar2"))) (; ";")) (if_statement "if (param_2 == 0) goto LAB_00011c14;" (if "if") (parenthesized_expression "(param_2 == 0)" (( "(") (binary_expression "param_2 == 0" (identifier "param_2") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00011c14;" (goto "goto") (statement_identifier "LAB_00011c14") (; ";"))) (} "}")))) (labeled_statement "joined_r0x00011c6b:\n    if (bVar2 == 0xb) {\nLAB_00011c6d:\n      return &DAT_00015008;\n    }" (statement_identifier "joined_r0x00011c6b") (: ":") (if_statement "if (bVar2 == 0xb) {\nLAB_00011c6d:\n      return &DAT_00015008;\n    }" (if "if") (parenthesized_expression "(bVar2 == 0xb)" (( "(") (binary_expression "bVar2 == 0xb" (identifier "bVar2") (== "==") (number_literal "0xb")) () ")")) (compound_statement "{\nLAB_00011c6d:\n      return &DAT_00015008;\n    }" ({ "{") (labeled_statement "LAB_00011c6d:\n      return &DAT_00015008;" (statement_identifier "LAB_00011c6d") (: ":") (return_statement "return &DAT_00015008;" (return "return") (pointer_expression "&DAT_00015008" (& "&") (identifier "DAT_00015008")) (; ";"))) (} "}")))) (goto_statement "goto LAB_00011c14;" (goto "goto") (statement_identifier "LAB_00011c14") (; ";")) (} "}"))) (expression_statement "bVar2 = pbVar1[1];" (assignment_expression "bVar2 = pbVar1[1]" (identifier "bVar2") (= "=") (subscript_expression "pbVar1[1]" (identifier "pbVar1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (switch_statement "switch(bVar2) {\n  case 0x30:\n  case 0x31:\n  case 0x32:\n  case 0x33:\n  case 0x34:\n  case 0x35:\n  case 0x36:\n  case 0x37:\n    pbVar5 = pbVar1 + 1;\n    bVar6 = 0;\n    do {\n      bVar6 = (bVar2 - 0x30) + bVar6 * '\b';\n      pbVar5 = pbVar5 + 1;\n      bVar2 = *pbVar5;\n      pbStack_24 = pbVar5;\n      if (7 < (byte)(bVar2 - 0x30)) break;\n      pbStack_24 = pbVar1 + 4;\n    } while (pbVar5 != pbVar1 + 4);\n    *param_1 = (int)pbStack_24;\n    if ((param_2 == 0) || (bVar6 != 0xb)) {\n      _DAT_000152f0 = (ushort)bVar6;\n      return &DAT_000152f0;\n    }\n    goto LAB_00011c6d;\n  default:\n    *param_1 = (int)(pbVar1 + 2);\n    bVar2 = pbVar1[1];\n    _DAT_000152f0 = (ushort)bVar2;\n    if (param_2 != 0) goto joined_r0x00011c6b;\n    goto LAB_00011c14;\n  case 0x62:\n    pcVar4 = "\b";\n    *param_1 = (int)(pbVar1 + 2);\n    break;\n  case 0x65:\n    pcVar4 = &DAT_000152f0;\n    *param_1 = (int)(pbVar1 + 2);\n    _DAT_000152f0 = 0x1b;\n    break;\n  case 0x6b:\n    if (param_2 != 0) {\n      switch(pbVar1[2]) {\n      case 0x44:\n        uVar3 = 6;\n        break;\n      default:\n        error("illegal char after \\k");\n        *param_1 = (int)(pbVar1 + 3);\n        return "";\n      case 0x55:\n        uVar3 = 5;\n        break;\n      case 100:\n        uVar3 = 4;\n        break;\n      case 0x65:\n        uVar3 = 8;\n        break;\n      case 0x68:\n        uVar3 = 7;\n        break;\n      case 0x6c:\n        uVar3 = 2;\n        break;\n      case 0x72:\n        uVar3 = 1;\n        break;\n      case 0x75:\n        uVar3 = 3;\n        break;\n      case 0x78:\n        uVar3 = 9;\n      }\n      *param_1 = (int)(pbVar1 + 3);\n      _DAT_000152f0 = CONCAT11(uVar3,0xb);\n      uRam000152f2 = 0x1010106;\n      uRam000152f6 = 0;\n      return &DAT_000152f0;\n    }\n    *param_1 = (int)(pbVar1 + 2);\n    _DAT_000152f0 = (ushort)pbVar1[1];\nLAB_00011c14:\n    pcVar4 = &DAT_000152f0;\n    break;\n  case 0x6e:\n    pcVar4 = "\n";\n    *param_1 = (int)(pbVar1 + 2);\n    break;\n  case 0x72:\n    pcVar4 = "\r";\n    *param_1 = (int)(pbVar1 + 2);\n    break;\n  case 0x74:\n    pcVar4 = "\t";\n    *param_1 = (int)(pbVar1 + 2);\n  }" (switch "switch") (parenthesized_expression "(bVar2)" (( "(") (identifier "bVar2") () ")")) (compound_statement "{\n  case 0x30:\n  case 0x31:\n  case 0x32:\n  case 0x33:\n  case 0x34:\n  case 0x35:\n  case 0x36:\n  case 0x37:\n    pbVar5 = pbVar1 + 1;\n    bVar6 = 0;\n    do {\n      bVar6 = (bVar2 - 0x30) + bVar6 * '\b';\n      pbVar5 = pbVar5 + 1;\n      bVar2 = *pbVar5;\n      pbStack_24 = pbVar5;\n      if (7 < (byte)(bVar2 - 0x30)) break;\n      pbStack_24 = pbVar1 + 4;\n    } while (pbVar5 != pbVar1 + 4);\n    *param_1 = (int)pbStack_24;\n    if ((param_2 == 0) || (bVar6 != 0xb)) {\n      _DAT_000152f0 = (ushort)bVar6;\n      return &DAT_000152f0;\n    }\n    goto LAB_00011c6d;\n  default:\n    *param_1 = (int)(pbVar1 + 2);\n    bVar2 = pbVar1[1];\n    _DAT_000152f0 = (ushort)bVar2;\n    if (param_2 != 0) goto joined_r0x00011c6b;\n    goto LAB_00011c14;\n  case 0x62:\n    pcVar4 = "\b";\n    *param_1 = (int)(pbVar1 + 2);\n    break;\n  case 0x65:\n    pcVar4 = &DAT_000152f0;\n    *param_1 = (int)(pbVar1 + 2);\n    _DAT_000152f0 = 0x1b;\n    break;\n  case 0x6b:\n    if (param_2 != 0) {\n      switch(pbVar1[2]) {\n      case 0x44:\n        uVar3 = 6;\n        break;\n      default:\n        error("illegal char after \\k");\n        *param_1 = (int)(pbVar1 + 3);\n        return "";\n      case 0x55:\n        uVar3 = 5;\n        break;\n      case 100:\n        uVar3 = 4;\n        break;\n      case 0x65:\n        uVar3 = 8;\n        break;\n      case 0x68:\n        uVar3 = 7;\n        break;\n      case 0x6c:\n        uVar3 = 2;\n        break;\n      case 0x72:\n        uVar3 = 1;\n        break;\n      case 0x75:\n        uVar3 = 3;\n        break;\n      case 0x78:\n        uVar3 = 9;\n      }\n      *param_1 = (int)(pbVar1 + 3);\n      _DAT_000152f0 = CONCAT11(uVar3,0xb);\n      uRam000152f2 = 0x1010106;\n      uRam000152f6 = 0;\n      return &DAT_000152f0;\n    }\n    *param_1 = (int)(pbVar1 + 2);\n    _DAT_000152f0 = (ushort)pbVar1[1];\nLAB_00011c14:\n    pcVar4 = &DAT_000152f0;\n    break;\n  case 0x6e:\n    pcVar4 = "\n";\n    *param_1 = (int)(pbVar1 + 2);\n    break;\n  case 0x72:\n    pcVar4 = "\r";\n    *param_1 = (int)(pbVar1 + 2);\n    break;\n  case 0x74:\n    pcVar4 = "\t";\n    *param_1 = (int)(pbVar1 + 2);\n  }" ({ "{") (case_statement "case 0x30:" (case "case") (number_literal "0x30") (: ":")) (case_statement "case 0x31:" (case "case") (number_literal "0x31") (: ":")) (case_statement "case 0x32:" (case "case") (number_literal "0x32") (: ":")) (case_statement "case 0x33:" (case "case") (number_literal "0x33") (: ":")) (case_statement "case 0x34:" (case "case") (number_literal "0x34") (: ":")) (case_statement "case 0x35:" (case "case") (number_literal "0x35") (: ":")) (case_statement "case 0x36:" (case "case") (number_literal "0x36") (: ":")) (case_statement "case 0x37:\n    pbVar5 = pbVar1 + 1;\n    bVar6 = 0;\n    do {\n      bVar6 = (bVar2 - 0x30) + bVar6 * '\b';\n      pbVar5 = pbVar5 + 1;\n      bVar2 = *pbVar5;\n      pbStack_24 = pbVar5;\n      if (7 < (byte)(bVar2 - 0x30)) break;\n      pbStack_24 = pbVar1 + 4;\n    } while (pbVar5 != pbVar1 + 4);\n    *param_1 = (int)pbStack_24;\n    if ((param_2 == 0) || (bVar6 != 0xb)) {\n      _DAT_000152f0 = (ushort)bVar6;\n      return &DAT_000152f0;\n    }\n    goto LAB_00011c6d;" (case "case") (number_literal "0x37") (: ":") (expression_statement "pbVar5 = pbVar1 + 1;" (assignment_expression "pbVar5 = pbVar1 + 1" (identifier "pbVar5") (= "=") (binary_expression "pbVar1 + 1" (identifier "pbVar1") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar6 = 0;" (assignment_expression "bVar6 = 0" (identifier "bVar6") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n      bVar6 = (bVar2 - 0x30) + bVar6 * '\b';\n      pbVar5 = pbVar5 + 1;\n      bVar2 = *pbVar5;\n      pbStack_24 = pbVar5;\n      if (7 < (byte)(bVar2 - 0x30)) break;\n      pbStack_24 = pbVar1 + 4;\n    } while (pbVar5 != pbVar1 + 4);" (do "do") (compound_statement "{\n      bVar6 = (bVar2 - 0x30) + bVar6 * '\b';\n      pbVar5 = pbVar5 + 1;\n      bVar2 = *pbVar5;\n      pbStack_24 = pbVar5;\n      if (7 < (byte)(bVar2 - 0x30)) break;\n      pbStack_24 = pbVar1 + 4;\n    }" ({ "{") (expression_statement "bVar6 = (bVar2 - 0x30) + bVar6 * '\b';" (assignment_expression "bVar6 = (bVar2 - 0x30) + bVar6 * '\b'" (identifier "bVar6") (= "=") (binary_expression "(bVar2 - 0x30) + bVar6 * '\b'" (parenthesized_expression "(bVar2 - 0x30)" (( "(") (binary_expression "bVar2 - 0x30" (identifier "bVar2") (- "-") (number_literal "0x30")) () ")")) (+ "+") (binary_expression "bVar6 * '\b'" (identifier "bVar6") (* "*") (char_literal "'\b'" (' "'") (escape_sequence "\b") (' "'"))))) (; ";")) (expression_statement "pbVar5 = pbVar5 + 1;" (assignment_expression "pbVar5 = pbVar5 + 1" (identifier "pbVar5") (= "=") (binary_expression "pbVar5 + 1" (identifier "pbVar5") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar2 = *pbVar5;" (assignment_expression "bVar2 = *pbVar5" (identifier "bVar2") (= "=") (pointer_expression "*pbVar5" (* "*") (identifier "pbVar5"))) (; ";")) (expression_statement "pbStack_24 = pbVar5;" (assignment_expression "pbStack_24 = pbVar5" (identifier "pbStack_24") (= "=") (identifier "pbVar5")) (; ";")) (if_statement "if (7 < (byte)(bVar2 - 0x30)) break;" (if "if") (parenthesized_expression "(7 < (byte)(bVar2 - 0x30))" (( "(") (binary_expression "7 < (byte)(bVar2 - 0x30)" (number_literal "7") (< "<") (call_expression "(byte)(bVar2 - 0x30)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(bVar2 - 0x30)" (( "(") (binary_expression "bVar2 - 0x30" (identifier "bVar2") (- "-") (number_literal "0x30")) () ")")))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "pbStack_24 = pbVar1 + 4;" (assignment_expression "pbStack_24 = pbVar1 + 4" (identifier "pbStack_24") (= "=") (binary_expression "pbVar1 + 4" (identifier "pbVar1") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pbVar5 != pbVar1 + 4)" (( "(") (binary_expression "pbVar5 != pbVar1 + 4" (identifier "pbVar5") (!= "!=") (binary_expression "pbVar1 + 4" (identifier "pbVar1") (+ "+") (number_literal "4"))) () ")")) (; ";")) (expression_statement "*param_1 = (int)pbStack_24;" (assignment_expression "*param_1 = (int)pbStack_24" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (cast_expression "(int)pbStack_24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbStack_24"))) (; ";")) (if_statement "if ((param_2 == 0) || (bVar6 != 0xb)) {\n      _DAT_000152f0 = (ushort)bVar6;\n      return &DAT_000152f0;\n    }" (if "if") (parenthesized_expression "((param_2 == 0) || (bVar6 != 0xb))" (( "(") (binary_expression "(param_2 == 0) || (bVar6 != 0xb)" (parenthesized_expression "(param_2 == 0)" (( "(") (binary_expression "param_2 == 0" (identifier "param_2") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(bVar6 != 0xb)" (( "(") (binary_expression "bVar6 != 0xb" (identifier "bVar6") (!= "!=") (number_literal "0xb")) () ")"))) () ")")) (compound_statement "{\n      _DAT_000152f0 = (ushort)bVar6;\n      return &DAT_000152f0;\n    }" ({ "{") (expression_statement "_DAT_000152f0 = (ushort)bVar6;" (assignment_expression "_DAT_000152f0 = (ushort)bVar6" (identifier "_DAT_000152f0") (= "=") (cast_expression "(ushort)bVar6" (( "(") (type_descriptor "ushort" (type_identifier "ushort")) () ")") (identifier "bVar6"))) (; ";")) (return_statement "return &DAT_000152f0;" (return "return") (pointer_expression "&DAT_000152f0" (& "&") (identifier "DAT_000152f0")) (; ";")) (} "}"))) (goto_statement "goto LAB_00011c6d;" (goto "goto") (statement_identifier "LAB_00011c6d") (; ";"))) (case_statement "default:\n    *param_1 = (int)(pbVar1 + 2);\n    bVar2 = pbVar1[1];\n    _DAT_000152f0 = (ushort)bVar2;\n    if (param_2 != 0) goto joined_r0x00011c6b;\n    goto LAB_00011c14;" (default "default") (: ":") (expression_statement "*param_1 = (int)(pbVar1 + 2);" (assignment_expression "*param_1 = (int)(pbVar1 + 2)" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (cast_expression "(int)(pbVar1 + 2)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pbVar1 + 2)" (( "(") (binary_expression "pbVar1 + 2" (identifier "pbVar1") (+ "+") (number_literal "2")) () ")")))) (; ";")) (expression_statement "bVar2 = pbVar1[1];" (assignment_expression "bVar2 = pbVar1[1]" (identifier "bVar2") (= "=") (subscript_expression "pbVar1[1]" (identifier "pbVar1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "_DAT_000152f0 = (ushort)bVar2;" (assignment_expression "_DAT_000152f0 = (ushort)bVar2" (identifier "_DAT_000152f0") (= "=") (cast_expression "(ushort)bVar2" (( "(") (type_descriptor "ushort" (type_identifier "ushort")) () ")") (identifier "bVar2"))) (; ";")) (if_statement "if (param_2 != 0) goto joined_r0x00011c6b;" (if "if") (parenthesized_expression "(param_2 != 0)" (( "(") (binary_expression "param_2 != 0" (identifier "param_2") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto joined_r0x00011c6b;" (goto "goto") (statement_identifier "joined_r0x00011c6b") (; ";"))) (goto_statement "goto LAB_00011c14;" (goto "goto") (statement_identifier "LAB_00011c14") (; ";"))) (case_statement "case 0x62:\n    pcVar4 = "\b";\n    *param_1 = (int)(pbVar1 + 2);\n    break;" (case "case") (number_literal "0x62") (: ":") (expression_statement "pcVar4 = "\b";" (assignment_expression "pcVar4 = "\b"" (identifier "pcVar4") (= "=") (string_literal ""\b"" (" """) (escape_sequence "\b") (" """))) (; ";")) (expression_statement "*param_1 = (int)(pbVar1 + 2);" (assignment_expression "*param_1 = (int)(pbVar1 + 2)" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (cast_expression "(int)(pbVar1 + 2)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pbVar1 + 2)" (( "(") (binary_expression "pbVar1 + 2" (identifier "pbVar1") (+ "+") (number_literal "2")) () ")")))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x65:\n    pcVar4 = &DAT_000152f0;\n    *param_1 = (int)(pbVar1 + 2);\n    _DAT_000152f0 = 0x1b;\n    break;" (case "case") (number_literal "0x65") (: ":") (expression_statement "pcVar4 = &DAT_000152f0;" (assignment_expression "pcVar4 = &DAT_000152f0" (identifier "pcVar4") (= "=") (pointer_expression "&DAT_000152f0" (& "&") (identifier "DAT_000152f0"))) (; ";")) (expression_statement "*param_1 = (int)(pbVar1 + 2);" (assignment_expression "*param_1 = (int)(pbVar1 + 2)" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (cast_expression "(int)(pbVar1 + 2)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pbVar1 + 2)" (( "(") (binary_expression "pbVar1 + 2" (identifier "pbVar1") (+ "+") (number_literal "2")) () ")")))) (; ";")) (expression_statement "_DAT_000152f0 = 0x1b;" (assignment_expression "_DAT_000152f0 = 0x1b" (identifier "_DAT_000152f0") (= "=") (number_literal "0x1b")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x6b:\n    if (param_2 != 0) {\n      switch(pbVar1[2]) {\n      case 0x44:\n        uVar3 = 6;\n        break;\n      default:\n        error("illegal char after \\k");\n        *param_1 = (int)(pbVar1 + 3);\n        return "";\n      case 0x55:\n        uVar3 = 5;\n        break;\n      case 100:\n        uVar3 = 4;\n        break;\n      case 0x65:\n        uVar3 = 8;\n        break;\n      case 0x68:\n        uVar3 = 7;\n        break;\n      case 0x6c:\n        uVar3 = 2;\n        break;\n      case 0x72:\n        uVar3 = 1;\n        break;\n      case 0x75:\n        uVar3 = 3;\n        break;\n      case 0x78:\n        uVar3 = 9;\n      }\n      *param_1 = (int)(pbVar1 + 3);\n      _DAT_000152f0 = CONCAT11(uVar3,0xb);\n      uRam000152f2 = 0x1010106;\n      uRam000152f6 = 0;\n      return &DAT_000152f0;\n    }\n    *param_1 = (int)(pbVar1 + 2);\n    _DAT_000152f0 = (ushort)pbVar1[1];\nLAB_00011c14:\n    pcVar4 = &DAT_000152f0;\n    break;" (case "case") (number_literal "0x6b") (: ":") (if_statement "if (param_2 != 0) {\n      switch(pbVar1[2]) {\n      case 0x44:\n        uVar3 = 6;\n        break;\n      default:\n        error("illegal char after \\k");\n        *param_1 = (int)(pbVar1 + 3);\n        return "";\n      case 0x55:\n        uVar3 = 5;\n        break;\n      case 100:\n        uVar3 = 4;\n        break;\n      case 0x65:\n        uVar3 = 8;\n        break;\n      case 0x68:\n        uVar3 = 7;\n        break;\n      case 0x6c:\n        uVar3 = 2;\n        break;\n      case 0x72:\n        uVar3 = 1;\n        break;\n      case 0x75:\n        uVar3 = 3;\n        break;\n      case 0x78:\n        uVar3 = 9;\n      }\n      *param_1 = (int)(pbVar1 + 3);\n      _DAT_000152f0 = CONCAT11(uVar3,0xb);\n      uRam000152f2 = 0x1010106;\n      uRam000152f6 = 0;\n      return &DAT_000152f0;\n    }" (if "if") (parenthesized_expression "(param_2 != 0)" (( "(") (binary_expression "param_2 != 0" (identifier "param_2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      switch(pbVar1[2]) {\n      case 0x44:\n        uVar3 = 6;\n        break;\n      default:\n        error("illegal char after \\k");\n        *param_1 = (int)(pbVar1 + 3);\n        return "";\n      case 0x55:\n        uVar3 = 5;\n        break;\n      case 100:\n        uVar3 = 4;\n        break;\n      case 0x65:\n        uVar3 = 8;\n        break;\n      case 0x68:\n        uVar3 = 7;\n        break;\n      case 0x6c:\n        uVar3 = 2;\n        break;\n      case 0x72:\n        uVar3 = 1;\n        break;\n      case 0x75:\n        uVar3 = 3;\n        break;\n      case 0x78:\n        uVar3 = 9;\n      }\n      *param_1 = (int)(pbVar1 + 3);\n      _DAT_000152f0 = CONCAT11(uVar3,0xb);\n      uRam000152f2 = 0x1010106;\n      uRam000152f6 = 0;\n      return &DAT_000152f0;\n    }" ({ "{") (switch_statement "switch(pbVar1[2]) {\n      case 0x44:\n        uVar3 = 6;\n        break;\n      default:\n        error("illegal char after \\k");\n        *param_1 = (int)(pbVar1 + 3);\n        return "";\n      case 0x55:\n        uVar3 = 5;\n        break;\n      case 100:\n        uVar3 = 4;\n        break;\n      case 0x65:\n        uVar3 = 8;\n        break;\n      case 0x68:\n        uVar3 = 7;\n        break;\n      case 0x6c:\n        uVar3 = 2;\n        break;\n      case 0x72:\n        uVar3 = 1;\n        break;\n      case 0x75:\n        uVar3 = 3;\n        break;\n      case 0x78:\n        uVar3 = 9;\n      }" (switch "switch") (parenthesized_expression "(pbVar1[2])" (( "(") (subscript_expression "pbVar1[2]" (identifier "pbVar1") ([ "[") (number_literal "2") (] "]")) () ")")) (compound_statement "{\n      case 0x44:\n        uVar3 = 6;\n        break;\n      default:\n        error("illegal char after \\k");\n        *param_1 = (int)(pbVar1 + 3);\n        return "";\n      case 0x55:\n        uVar3 = 5;\n        break;\n      case 100:\n        uVar3 = 4;\n        break;\n      case 0x65:\n        uVar3 = 8;\n        break;\n      case 0x68:\n        uVar3 = 7;\n        break;\n      case 0x6c:\n        uVar3 = 2;\n        break;\n      case 0x72:\n        uVar3 = 1;\n        break;\n      case 0x75:\n        uVar3 = 3;\n        break;\n      case 0x78:\n        uVar3 = 9;\n      }" ({ "{") (case_statement "case 0x44:\n        uVar3 = 6;\n        break;" (case "case") (number_literal "0x44") (: ":") (expression_statement "uVar3 = 6;" (assignment_expression "uVar3 = 6" (identifier "uVar3") (= "=") (number_literal "6")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "default:\n        error("illegal char after \\k");\n        *param_1 = (int)(pbVar1 + 3);\n        return "";" (default "default") (: ":") (expression_statement "error("illegal char after \\k");" (call_expression "error("illegal char after \\k")" (identifier "error") (argument_list "("illegal char after \\k")" (( "(") (string_literal ""illegal char after \\k"" (" """) (string_content "illegal char after ") (escape_sequence "\\") (string_content "k") (" """)) () ")"))) (; ";")) (expression_statement "*param_1 = (int)(pbVar1 + 3);" (assignment_expression "*param_1 = (int)(pbVar1 + 3)" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (cast_expression "(int)(pbVar1 + 3)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pbVar1 + 3)" (( "(") (binary_expression "pbVar1 + 3" (identifier "pbVar1") (+ "+") (number_literal "3")) () ")")))) (; ";")) (return_statement "return "";" (return "return") (string_literal """" (" """) (" """)) (; ";"))) (case_statement "case 0x55:\n        uVar3 = 5;\n        break;" (case "case") (number_literal "0x55") (: ":") (expression_statement "uVar3 = 5;" (assignment_expression "uVar3 = 5" (identifier "uVar3") (= "=") (number_literal "5")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 100:\n        uVar3 = 4;\n        break;" (case "case") (number_literal "100") (: ":") (expression_statement "uVar3 = 4;" (assignment_expression "uVar3 = 4" (identifier "uVar3") (= "=") (number_literal "4")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x65:\n        uVar3 = 8;\n        break;" (case "case") (number_literal "0x65") (: ":") (expression_statement "uVar3 = 8;" (assignment_expression "uVar3 = 8" (identifier "uVar3") (= "=") (number_literal "8")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x68:\n        uVar3 = 7;\n        break;" (case "case") (number_literal "0x68") (: ":") (expression_statement "uVar3 = 7;" (assignment_expression "uVar3 = 7" (identifier "uVar3") (= "=") (number_literal "7")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x6c:\n        uVar3 = 2;\n        break;" (case "case") (number_literal "0x6c") (: ":") (expression_statement "uVar3 = 2;" (assignment_expression "uVar3 = 2" (identifier "uVar3") (= "=") (number_literal "2")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x72:\n        uVar3 = 1;\n        break;" (case "case") (number_literal "0x72") (: ":") (expression_statement "uVar3 = 1;" (assignment_expression "uVar3 = 1" (identifier "uVar3") (= "=") (number_literal "1")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x75:\n        uVar3 = 3;\n        break;" (case "case") (number_literal "0x75") (: ":") (expression_statement "uVar3 = 3;" (assignment_expression "uVar3 = 3" (identifier "uVar3") (= "=") (number_literal "3")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x78:\n        uVar3 = 9;" (case "case") (number_literal "0x78") (: ":") (expression_statement "uVar3 = 9;" (assignment_expression "uVar3 = 9" (identifier "uVar3") (= "=") (number_literal "9")) (; ";"))) (} "}"))) (expression_statement "*param_1 = (int)(pbVar1 + 3);" (assignment_expression "*param_1 = (int)(pbVar1 + 3)" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (cast_expression "(int)(pbVar1 + 3)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pbVar1 + 3)" (( "(") (binary_expression "pbVar1 + 3" (identifier "pbVar1") (+ "+") (number_literal "3")) () ")")))) (; ";")) (expression_statement "_DAT_000152f0 = CONCAT11(uVar3,0xb);" (assignment_expression "_DAT_000152f0 = CONCAT11(uVar3,0xb)" (identifier "_DAT_000152f0") (= "=") (call_expression "CONCAT11(uVar3,0xb)" (identifier "CONCAT11") (argument_list "(uVar3,0xb)" (( "(") (identifier "uVar3") (, ",") (number_literal "0xb") () ")")))) (; ";")) (expression_statement "uRam000152f2 = 0x1010106;" (assignment_expression "uRam000152f2 = 0x1010106" (identifier "uRam000152f2") (= "=") (number_literal "0x1010106")) (; ";")) (expression_statement "uRam000152f6 = 0;" (assignment_expression "uRam000152f6 = 0" (identifier "uRam000152f6") (= "=") (number_literal "0")) (; ";")) (return_statement "return &DAT_000152f0;" (return "return") (pointer_expression "&DAT_000152f0" (& "&") (identifier "DAT_000152f0")) (; ";")) (} "}"))) (expression_statement "*param_1 = (int)(pbVar1 + 2);" (assignment_expression "*param_1 = (int)(pbVar1 + 2)" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (cast_expression "(int)(pbVar1 + 2)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pbVar1 + 2)" (( "(") (binary_expression "pbVar1 + 2" (identifier "pbVar1") (+ "+") (number_literal "2")) () ")")))) (; ";")) (expression_statement "_DAT_000152f0 = (ushort)pbVar1[1];" (assignment_expression "_DAT_000152f0 = (ushort)pbVar1[1]" (identifier "_DAT_000152f0") (= "=") (cast_expression "(ushort)pbVar1[1]" (( "(") (type_descriptor "ushort" (type_identifier "ushort")) () ")") (subscript_expression "pbVar1[1]" (identifier "pbVar1") ([ "[") (number_literal "1") (] "]")))) (; ";")) (labeled_statement "LAB_00011c14:\n    pcVar4 = &DAT_000152f0;" (statement_identifier "LAB_00011c14") (: ":") (expression_statement "pcVar4 = &DAT_000152f0;" (assignment_expression "pcVar4 = &DAT_000152f0" (identifier "pcVar4") (= "=") (pointer_expression "&DAT_000152f0" (& "&") (identifier "DAT_000152f0"))) (; ";"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x6e:\n    pcVar4 = "\n";\n    *param_1 = (int)(pbVar1 + 2);\n    break;" (case "case") (number_literal "0x6e") (: ":") (expression_statement "pcVar4 = "\n";" (assignment_expression "pcVar4 = "\n"" (identifier "pcVar4") (= "=") (string_literal ""\n"" (" """) (escape_sequence "\n") (" """))) (; ";")) (expression_statement "*param_1 = (int)(pbVar1 + 2);" (assignment_expression "*param_1 = (int)(pbVar1 + 2)" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (cast_expression "(int)(pbVar1 + 2)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pbVar1 + 2)" (( "(") (binary_expression "pbVar1 + 2" (identifier "pbVar1") (+ "+") (number_literal "2")) () ")")))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x72:\n    pcVar4 = "\r";\n    *param_1 = (int)(pbVar1 + 2);\n    break;" (case "case") (number_literal "0x72") (: ":") (expression_statement "pcVar4 = "\r";" (assignment_expression "pcVar4 = "\r"" (identifier "pcVar4") (= "=") (string_literal ""\r"" (" """) (escape_sequence "\r") (" """))) (; ";")) (expression_statement "*param_1 = (int)(pbVar1 + 2);" (assignment_expression "*param_1 = (int)(pbVar1 + 2)" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (cast_expression "(int)(pbVar1 + 2)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pbVar1 + 2)" (( "(") (binary_expression "pbVar1 + 2" (identifier "pbVar1") (+ "+") (number_literal "2")) () ")")))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x74:\n    pcVar4 = "\t";\n    *param_1 = (int)(pbVar1 + 2);" (case "case") (number_literal "0x74") (: ":") (expression_statement "pcVar4 = "\t";" (assignment_expression "pcVar4 = "\t"" (identifier "pcVar4") (= "=") (string_literal ""\t"" (" """) (escape_sequence "\t") (" """))) (; ";")) (expression_statement "*param_1 = (int)(pbVar1 + 2);" (assignment_expression "*param_1 = (int)(pbVar1 + 2)" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (cast_expression "(int)(pbVar1 + 2)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pbVar1 + 2)" (( "(") (binary_expression "pbVar1 + 2" (identifier "pbVar1") (+ "+") (number_literal "2")) () ")")))) (; ";"))) (} "}"))) (return_statement "return pcVar4;" (return "return") (identifier "pcVar4") (; ";")) (} "}")))

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

char * function_1(char **pp,int var_2)

{
  type_1 *var_1;
  type_1 var_3;
  char *pcVar3;
  type_1 *var_5;
  type_1 var_4;
  type_1 *local_24;
  
  var_1 = (type_1 *)*pp;
  if (*var_1 != 0x5c) {
    if (*var_1 == 0x5e) {
      *pp = (char *)(var_1 + 2);
      var_3 = var_1[1] & 0x1f;
      tstr::var_7._0_2_ = var_1[1] & 0xff1f;
    }
    else {
      *pp = (char *)(var_1 + 1);
      var_3 = *var_1;
      tstr::var_7[1] = '\0';
      tstr::var_7[0] = var_3;
      if (var_2 == 0) goto LAB_00011c14;
    }
joined_r0x00011c6b:
    if (var_3 == 0xb) {
LAB_00011c6d:
      return function_1::tstr_control_k;
    }
    goto LAB_00011c14;
  }
  var_3 = var_1[1];
  switch(var_3) {
  case 0x30:
  case 0x31:
  case 0x32:
  case 0x33:
  case 0x34:
  case 0x35:
  case 0x36:
  case 0x37:
    var_5 = var_1 + 1;
    var_4 = 0;
    do {
      var_4 = (var_3 - 0x30) + var_4 * '\b';
      var_5 = var_5 + 1;
      var_3 = *var_5;
      local_24 = var_5;
      if (7 < (type_1)(var_3 - 0x30)) break;
      local_24 = var_1 + 4;
    } while (var_5 != var_1 + 4);
    *pp = (char *)local_24;
    if ((var_2 == 0) || (var_4 != 0xb)) {
      tstr::var_7[1] = '\0';
      tstr::var_7[0] = var_4;
      return function_1::var_7;
    }
    goto LAB_00011c6d;
  default:
    *pp = (char *)(var_1 + 2);
    var_3 = var_1[1];
    tstr::var_7[1] = '\0';
    tstr::var_7[0] = var_3;
    if (var_2 != 0) goto joined_r0x00011c6b;
    goto LAB_00011c14;
  case 0x62:
    pcVar3 = "\b";
    *pp = (char *)(var_1 + 2);
    break;
  case 0x65:
    pcVar3 = function_1::var_7;
    *pp = (char *)(var_1 + 2);
    tstr::var_7[0] = '\x1b';
    tstr::var_7[1] = '\0';
    break;
  case 0x6b:
    if (var_2 != 0) {
      switch(var_1[2]) {
      case 0x44:
        tstr::var_7[1] = '\x06';
        break;
      default:
        var_6("illegal char after \\k");
        *pp = (char *)(var_1 + 3);
        return "";
      case 0x55:
        tstr::var_7[1] = '\x05';
        break;
      case 100:
        tstr::var_7[1] = '\x04';
        break;
      case 0x65:
        tstr::var_7[1] = '\b';
        break;
      case 0x68:
        tstr::var_7[1] = '\a';
        break;
      case 0x6c:
        tstr::var_7[1] = '\x02';
        break;
      case 0x72:
        tstr::var_7[1] = '\x01';
        break;
      case 0x75:
        tstr::var_7[1] = '\x03';
        break;
      case 0x78:
        tstr::var_7[1] = '\t';
      }
      *pp = (char *)(var_1 + 3);
      tstr::var_7[0] = '\v';
      builtin_strncpy(function_1::var_7 + 2,"\x06\x01\x01\x01",5);
      return function_1::var_7;
    }
    *pp = (char *)(var_1 + 2);
    tstr::var_7[1] = '\0';
    tstr::var_7[0] = var_1[1];
LAB_00011c14:
    pcVar3 = function_1::var_7;
    break;
  case 0x6e:
    pcVar3 = "\n";
    *pp = (char *)(var_1 + 2);
    break;
  case 0x72:
    pcVar3 = "\r";
    *pp = (char *)(var_1 + 2);
    break;
  case 0x74:
    pcVar3 = "\t";
    *pp = (char *)(var_1 + 2);
  }
  return pcVar3;
}


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

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

char * MASKED(int *param_1,int param_2)

{
  byte *pbVar1;
  byte bVar2;
  undefined1 uVar3;
  char *pcVar4;
  byte *pbVar5;
  byte bVar6;
  byte *pbStack_24;
  
  pbVar1 = (byte *)*param_1;
  if (*pbVar1 != 0x5c) {
    if (*pbVar1 == 0x5e) {
      *param_1 = (int)(pbVar1 + 2);
      bVar2 = pbVar1[1] & 0x1f;
      _DAT_000152f0 = pbVar1[1] & 0xff1f;
    }
    else {
      *param_1 = (int)(pbVar1 + 1);
      bVar2 = *pbVar1;
      _DAT_000152f0 = (ushort)bVar2;
      if (param_2 == 0) goto LAB_00011c14;
    }
joined_r0x00011c6b:
    if (bVar2 == 0xb) {
LAB_00011c6d:
      return &DAT_00015008;
    }
    goto LAB_00011c14;
  }
  bVar2 = pbVar1[1];
  switch(bVar2) {
  case 0x30:
  case 0x31:
  case 0x32:
  case 0x33:
  case 0x34:
  case 0x35:
  case 0x36:
  case 0x37:
    pbVar5 = pbVar1 + 1;
    bVar6 = 0;
    do {
      bVar6 = (bVar2 - 0x30) + bVar6 * '\b';
      pbVar5 = pbVar5 + 1;
      bVar2 = *pbVar5;
      pbStack_24 = pbVar5;
      if (7 < (byte)(bVar2 - 0x30)) break;
      pbStack_24 = pbVar1 + 4;
    } while (pbVar5 != pbVar1 + 4);
    *param_1 = (int)pbStack_24;
    if ((param_2 == 0) || (bVar6 != 0xb)) {
      _DAT_000152f0 = (ushort)bVar6;
      return &DAT_000152f0;
    }
    goto LAB_00011c6d;
  default:
    *param_1 = (int)(pbVar1 + 2);
    bVar2 = pbVar1[1];
    _DAT_000152f0 = (ushort)bVar2;
    if (param_2 != 0) goto joined_r0x00011c6b;
    goto LAB_00011c14;
  case 0x62:
    pcVar4 = "\b";
    *param_1 = (int)(pbVar1 + 2);
    break;
  case 0x65:
    pcVar4 = &DAT_000152f0;
    *param_1 = (int)(pbVar1 + 2);
    _DAT_000152f0 = 0x1b;
    break;
  case 0x6b:
    if (param_2 != 0) {
      switch(pbVar1[2]) {
      case 0x44:
        uVar3 = 6;
        break;
      default:
        error("illegal char after \\k");
        *param_1 = (int)(pbVar1 + 3);
        return "";
      case 0x55:
        uVar3 = 5;
        break;
      case 100:
        uVar3 = 4;
        break;
      case 0x65:
        uVar3 = 8;
        break;
      case 0x68:
        uVar3 = 7;
        break;
      case 0x6c:
        uVar3 = 2;
        break;
      case 0x72:
        uVar3 = 1;
        break;
      case 0x75:
        uVar3 = 3;
        break;
      case 0x78:
        uVar3 = 9;
      }
      *param_1 = (int)(pbVar1 + 3);
      _DAT_000152f0 = CONCAT11(uVar3,0xb);
      uRam000152f2 = 0x1010106;
      uRam000152f6 = 0;
      return &DAT_000152f0;
    }
    *param_1 = (int)(pbVar1 + 2);
    _DAT_000152f0 = (ushort)pbVar1[1];
LAB_00011c14:
    pcVar4 = &DAT_000152f0;
    break;
  case 0x6e:
    pcVar4 = "\n";
    *param_1 = (int)(pbVar1 + 2);
    break;
  case 0x72:
    pcVar4 = "\r";
    *param_1 = (int)(pbVar1 + 2);
    break;
  case 0x74:
    pcVar4 = "\t";
    *param_1 = (int)(pbVar1 + 2);
  }
  return pcVar4;
}

