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

int cplus_demangle_opname(char *opname,char *result,int options)

{
  size_t sVar1;
  char *pcVar2;
  size_t sVar3;
  int iVar4;
  char *pcVar5;
  int iVar6;
  optable *poVar7;
  short *psVar8;
  char ***pppcVar9;
  byte bVar10;
  char *tem;
  string type;
  work_stuff work [1];
  
  bVar10 = 0;
  sVar1 = strlen(opname);
  *result = '\0';
  pppcVar9 = &work[0].typevec;
  for (iVar6 = 0x17; iVar6 != 0; iVar6 = iVar6 + -1) {
    *pppcVar9 = (char **)0x0;
    pppcVar9 = pppcVar9 + (uint)bVar10 * -2 + 1;
  }
  work[0].options = options;
  if (*opname == '_') {
    if (opname[1] == '_') {
      bVar10 = opname[2];
      if ((bVar10 != 0x6f) || (opname[3] != 'p')) {
        if (((_sch_istable[bVar10] & 8) != 0) && ((_sch_istable[(byte)opname[3]] & 8) != 0)) {
          if (opname[4] == '\0') {
            psVar8 = &DAT_002a0b15;
            poVar7 = optable;
            iVar6 = 0;
            sVar1 = 2;
            while( true ) {
              poVar7 = poVar7 + 1;
              if ((sVar1 == 2) && (*psVar8 == *(short *)(opname + 2))) goto LAB_001d112b;
              iVar6 = iVar6 + 1;
              if (iVar6 == 0x4f) break;
              psVar8 = (short *)poVar7->in;
              sVar1 = strlen((char *)psVar8);
            }
          }
          else if ((bVar10 == 0x61) && (opname[5] == '\0')) {
            poVar7 = optable + 1;
            iVar6 = 0;
            do {
              iVar6 = iVar6 + 1;
              if (iVar6 == 0x4f) goto LAB_001d0eb3;
              psVar8 = (short *)poVar7->in;
              poVar7 = poVar7 + 1;
              sVar1 = strlen((char *)psVar8);
            } while (((sVar1 != 3) || (*psVar8 != *(short *)(opname + 2))) ||
                    ((char)psVar8[1] != opname[4]));
LAB_001d112b:
            builtin_strncpy(result,"operator",9);
LAB_001d0f9a:
            strcpy(result + 8,optable[iVar6].out);
            iVar6 = 1;
            goto LAB_001d0eb5;
          }
          goto LAB_001d0eb3;
        }
        goto LAB_001d0fca;
      }
      pcVar2 = opname + 4;
LAB_001d100a:
      tem = pcVar2;
      iVar6 = do_type(work,&tem,&type);
      if (iVar6 != 0) {
        sVar1 = strlen(result);
        builtin_strncpy(result + sVar1,"operator ",10);
        strncat(result,type.b,(int)type.p - (int)type.b);
        free(type.b);
        type.p = (char *)0x0;
        iVar6 = 1;
        type.e = (char *)0x0;
        type.b = (char *)0x0;
        goto LAB_001d0eb5;
      }
    }
    else {
LAB_001d0fca:
      if (2 < sVar1) goto LAB_001d0fd3;
    }
  }
  else if (2 < sVar1) {
    if (((*opname == 'o') && (opname[1] == 'p')) &&
       (pcVar2 = strchr(cplus_markers,(int)opname[2]), pcVar2 != (char *)0x0)) {
      if ((((sVar1 < 10) || (*(int *)(opname + 3) != 0x69737361)) ||
          (*(short *)(opname + 7) != 0x6e67)) || (opname[9] != '_')) {
        pcVar2 = "nw";
        iVar6 = 0;
        poVar7 = optable;
        sVar3 = 2;
        while( true ) {
          poVar7 = poVar7 + 1;
          if ((sVar1 - 3 == sVar3) && (iVar4 = memcmp(pcVar2,opname + 3,sVar1 - 3), iVar4 == 0)) {
            builtin_strncpy(result,"operator",9);
            goto LAB_001d0f9a;
          }
          iVar6 = iVar6 + 1;
          if (iVar6 == 0x4f) break;
          pcVar2 = poVar7->in;
          sVar3 = strlen(pcVar2);
        }
      }
      else {
        pcVar2 = "nw";
        iVar6 = 0;
        poVar7 = optable;
        sVar3 = 2;
        while( true ) {
          poVar7 = poVar7 + 1;
          if ((sVar3 == sVar1 - 10) && (iVar4 = memcmp(pcVar2,opname + 10,sVar3), iVar4 == 0)) {
            builtin_strncpy(result,"operator",9);
            pcVar2 = stpcpy(result + 8,optable[iVar6].out);
            iVar6 = 1;
            pcVar2[0] = '=';
            pcVar2[1] = '\0';
            goto LAB_001d0eb5;
          }
          iVar6 = iVar6 + 1;
          if (iVar6 == 0x4f) break;
          pcVar2 = poVar7->in;
          sVar3 = strlen(pcVar2);
        }
      }
    }
    else {
LAB_001d0fd3:
      if ((4 < sVar1) && (*(int *)opname == 0x65707974)) {
        pcVar2 = opname + 5;
        pcVar5 = strchr(cplus_markers,(int)opname[4]);
        if (pcVar5 != (char *)0x0) goto LAB_001d100a;
      }
    }
  }
LAB_001d0eb3:
  iVar6 = 0;
LAB_001d0eb5:
  squangle_mop_up(work);
  return iVar6;
}



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

undefined4 FUN_001d0e50(int *param_1,char *param_2)

{
  size_t sVar1;
  char *pcVar2;
  size_t sVar3;
  int iVar4;
  int iVar5;
  undefined4 uVar6;
  undefined **ppuVar7;
  short *psVar8;
  undefined4 *puVar9;
  byte bVar10;
  char *local_88;
  int local_84;
  undefined4 local_78 [25];
  undefined4 uStack_14;
  
  bVar10 = 0;
  uStack_14 = 0x1d0e59;
  sVar1 = strlen((char *)param_1);
  *param_2 = '\0';
  puVar9 = local_78;
  for (iVar5 = 0x17; iVar5 != 0; iVar5 = iVar5 + -1) {
    *puVar9 = 0;
    puVar9 = puVar9 + (uint)bVar10 * -2 + 1;
  }
  if ((char)*param_1 == '_') {
    if (*(char *)((int)param_1 + 1) == '_') {
      bVar10 = *(byte *)((int)param_1 + 2);
      if ((bVar10 != 0x6f) || (*(char *)((int)param_1 + 3) != 'p')) {
        if ((((&DAT_002a3600)[(uint)bVar10 * 2] & 8) != 0) &&
           (((&DAT_002a3600)[(uint)*(byte *)((int)param_1 + 3) * 2] & 8) != 0)) {
          if ((char)param_1[1] == '\0') {
            psVar8 = &DAT_002a0b15;
            ppuVar7 = &PTR_DAT_003864cc;
            iVar5 = 0;
            sVar1 = 2;
            while( true ) {
              if ((sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2))) goto LAB_001d112b;
              iVar5 = iVar5 + 1;
              if (iVar5 == 0x4f) break;
              psVar8 = (short *)*ppuVar7;
              ppuVar7 = ppuVar7 + 3;
              sVar1 = strlen((char *)psVar8);
            }
          }
          else if ((bVar10 == 0x61) && (*(char *)((int)param_1 + 5) == '\0')) {
            ppuVar7 = &PTR_DAT_003864cc;
            iVar5 = 0;
            do {
              iVar5 = iVar5 + 1;
              if (iVar5 == 0x4f) goto LAB_001d0eb3;
              psVar8 = (short *)*ppuVar7;
              ppuVar7 = ppuVar7 + 3;
              sVar1 = strlen((char *)psVar8);
            } while (((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||
                    ((char)psVar8[1] != (char)param_1[1]));
LAB_001d112b:
            builtin_strncpy(param_2,"operator",9);
LAB_001d0f9a:
            strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);
            uVar6 = 1;
            goto LAB_001d0eb5;
          }
          goto LAB_001d0eb3;
        }
        goto LAB_001d0fca;
      }
LAB_001d100a:
      iVar5 = FUN_001cf7b0();
      if (iVar5 != 0) {
        sVar1 = strlen(param_2);
        builtin_strncpy(param_2 + sVar1,"operator ",10);
        strncat(param_2,local_88,local_84 - (int)local_88);
        free(local_88);
        uVar6 = 1;
        goto LAB_001d0eb5;
      }
    }
    else {
LAB_001d0fca:
      if (2 < sVar1) goto LAB_001d0fd3;
    }
  }
  else if (2 < sVar1) {
    if ((((char)*param_1 == 'o') && (*(char *)((int)param_1 + 1) == 'p')) &&
       (pcVar2 = strchr(&DAT_0038f37c,(int)*(char *)((int)param_1 + 2)), pcVar2 != (char *)0x0)) {
      if ((((sVar1 < 10) || (*(int *)((int)param_1 + 3) != 0x69737361)) ||
          (*(short *)((int)param_1 + 7) != 0x6e67)) || (*(char *)((int)param_1 + 9) != '_')) {
        pcVar2 = "nw";
        iVar5 = 0;
        ppuVar7 = &PTR_DAT_003864cc;
        sVar3 = 2;
        while( true ) {
          if ((sVar1 - 3 == sVar3) &&
             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0)) {
            builtin_strncpy(param_2,"operator",9);
            goto LAB_001d0f9a;
          }
          iVar5 = iVar5 + 1;
          if (iVar5 == 0x4f) break;
          pcVar2 = *ppuVar7;
          ppuVar7 = ppuVar7 + 3;
          sVar3 = strlen(pcVar2);
        }
      }
      else {
        pcVar2 = "nw";
        iVar5 = 0;
        ppuVar7 = &PTR_DAT_003864cc;
        sVar3 = 2;
        while( true ) {
          if ((sVar3 == sVar1 - 10) &&
             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0)) {
            builtin_strncpy(param_2,"operator",9);
            pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);
            uVar6 = 1;
            pcVar2[0] = '=';
            pcVar2[1] = '\0';
            goto LAB_001d0eb5;
          }
          iVar5 = iVar5 + 1;
          if (iVar5 == 0x4f) break;
          pcVar2 = *ppuVar7;
          ppuVar7 = ppuVar7 + 3;
          sVar3 = strlen(pcVar2);
        }
      }
    }
    else {
LAB_001d0fd3:
      if (((4 < sVar1) && (*param_1 == 0x65707974)) &&
         (pcVar2 = strchr(&DAT_0038f37c,(int)(char)param_1[1]), pcVar2 != (char *)0x0))
      goto LAB_001d100a;
    }
  }
LAB_001d0eb3:
  uVar6 = 0;
LAB_001d0eb5:
  FUN_001cd9e0();
  return uVar6;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00035840
ADD EBX,0x1be1a7
SUB ESP,0x98
MOV ESI,dword ptr [ESP + 0xac]
PUSH ESI
CALL 0x000295f0
ADD ESP,0x10
MOV ECX,0x17
MOV EBP,EAX
MOV EAX,dword ptr [ESP + 0xa4]
LEA EDX,[ESP + 0x24]
MOV EDI,EDX
MOV byte ptr [EAX],0x0
LEA EAX,[ESP + 0x20]
MOV dword ptr [ESP + 0x4],EAX
XOR EAX,EAX
STOSD.REP ES:EDI
MOV EAX,dword ptr [ESP + 0xa8]
MOV dword ptr [ESP + 0x20],EAX
MOVZX EAX,byte ptr [ESI]
CMP AL,0x5f
JZ 0x001d0fc0
CMP EBP,0x2
JA 0x001d0ed0
XOR EBX,EBX
MOV EAX,dword ptr [ESP + 0x4]
CALL 0x001cd9e0
ADD ESP,0x8c
MOV EAX,EBX
POP EBX
POP ESI
POP EDI
POP EBP
RET
CMP AL,0x6f
JNZ 0x001d0fd3
CMP byte ptr [ESI + 0x1],0x70
JNZ 0x001d0fd3
MOVSX EAX,byte ptr [ESI + 0x2]
SUB ESP,0x8
PUSH EAX
LEA EAX,[EBX + 0x37c]
PUSH EAX
CALL 0x000291d0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x001d0fd3
CMP EBP,0x9
JBE 0x001d0f13
CMP dword ptr [ESI + 0x3],0x69737361
JZ 0x001d11d1
LEA EAX,[EBP + -0x3]
ADD ESI,0x3
LEA EDX,[EBX + 0xfff11b15]
XOR EBP,EBP
MOV dword ptr [ESP + 0x8],EAX
LEA EDI,[EBX + 0xffff74cc]
MOV EAX,0x2
MOV dword ptr [ESP + 0xc],ESI
MOV ESI,EDX
JMP 0x001d0f5d
ADD EBP,0x1
CMP EBP,0x4f
JZ 0x001d0eb3
MOV ESI,dword ptr [EDI]
SUB ESP,0xc
ADD EDI,0xc
PUSH ESI
CALL 0x000295f0
ADD ESP,0x10
CMP dword ptr [ESP + 0x8],EAX
JNZ 0x001d0f40
SUB ESP,0x4
PUSH dword ptr [ESP + 0xc]
PUSH dword ptr [ESP + 0x14]
PUSH ESI
CALL 0x00029130
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x001d0f40
MOV EAX,dword ptr [ESP + 0xa4]
SUB ESP,0x8
MOV dword ptr [EAX],0x7265706f
MOV dword ptr [EAX + 0x4],0x726f7461
MOV byte ptr [EAX + 0x8],0x0
LEA EAX,[EBP + EBP*0x2]
PUSH dword ptr [EBX + EAX*0x4 + 0xffff74c4]
MOV EAX,dword ptr [ESP + 0xb0]
ADD EAX,0x8
PUSH EAX
CALL 0x00029690
ADD ESP,0x10
MOV EBX,0x1
JMP 0x001d0eb5
CMP byte ptr [ESI + 0x1],0x5f
JZ 0x001d10a0
CMP EBP,0x2
JBE 0x001d0eb3
CMP EBP,0x4
JBE 0x001d0eb3
CMP dword ptr [ESI],0x65707974
JNZ 0x001d0eb3
MOVSX EAX,byte ptr [ESI + 0x4]
SUB ESP,0x8
ADD ESI,0x5
PUSH EAX
LEA EAX,[EBX + 0x37c]
PUSH EAX
CALL 0x000291d0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x001d0eb3
MOV EAX,dword ptr [ESP + 0x4]
LEA ECX,[ESP + 0x14]
LEA EDX,[ESP + 0x10]
MOV dword ptr [ESP + 0x10],ESI
CALL 0x001cf7b0
TEST EAX,EAX
JZ 0x001d0eb3
SUB ESP,0xc
PUSH dword ptr [ESP + 0xb0]
CALL 0x000295f0
ADD ESP,0xc
ADD EAX,dword ptr [ESP + 0xa8]
MOV EDX,0x20
MOV word ptr [EAX + 0x8],DX
MOV dword ptr [EAX],0x7265706f
MOV dword ptr [EAX + 0x4],0x726f7461
MOV ESI,dword ptr [ESP + 0x18]
MOV EAX,dword ptr [ESP + 0x1c]
SUB EAX,ESI
PUSH EAX
PUSH ESI
PUSH dword ptr [ESP + 0xb0]
CALL 0x00029780
MOV dword ptr [ESP],ESI
CALL 0x00029410
MOV dword ptr [ESP + 0x28],0x0
MOV EBX,0x1
MOV dword ptr [ESP + 0x2c],0x0
MOV dword ptr [ESP + 0x24],0x0
ADD ESP,0x10
JMP 0x001d0eb5
MOVZX EAX,byte ptr [ESI + 0x2]
CMP AL,0x6f
JZ 0x001d1150
LEA EDX,[EBX + 0xfff14600]
MOVZX ECX,AL
TEST byte ptr [EDX + ECX*0x2],0x8
JZ 0x001d0fca
MOVZX ECX,byte ptr [ESI + 0x3]
TEST byte ptr [EDX + ECX*0x2],0x8
JZ 0x001d0fca
CMP byte ptr [ESI + 0x4],0x0
JNZ 0x001d1168
LEA EDX,[EBX + 0xfff11b15]
MOV dword ptr [ESP + 0xa0],ESI
LEA EBP,[EBX + 0xffff74cc]
XOR EDI,EDI
MOV EAX,0x2
MOV ESI,EDX
JMP 0x001d1116
ADD EDI,0x1
CMP EDI,0x4f
JZ 0x001d0eb3
MOV ESI,dword ptr [EBP]
SUB ESP,0xc
ADD EBP,0xc
PUSH ESI
CALL 0x000295f0
ADD ESP,0x10
CMP EAX,0x2
JNZ 0x001d10f8
MOV EAX,dword ptr [ESP + 0xa0]
MOVZX EAX,word ptr [EAX + 0x2]
CMP word ptr [ESI],AX
JNZ 0x001d10f8
MOV EAX,dword ptr [ESP + 0xa4]
SUB ESP,0x8
MOV dword ptr [EAX],0x7265706f
MOV dword ptr [EAX + 0x4],0x726f7461
MOV byte ptr [EAX + 0x8],0x0
LEA EAX,[EDI + EDI*0x2]
JMP 0x001d0f9a
CMP byte ptr [ESI + 0x3],0x70
JNZ 0x001d10ac
ADD ESI,0x4
JMP 0x001d100a
CMP AL,0x61
JNZ 0x001d0eb3
CMP byte ptr [ESI + 0x5],0x0
JNZ 0x001d0eb3
LEA EAX,[ESI + 0x2]
LEA EBP,[EBX + 0xffff74cc]
XOR EDI,EDI
MOV dword ptr [ESP + 0x8],EAX
LEA ESI,[ESI]
ADD EDI,0x1
CMP EDI,0x4f
JZ 0x001d0eb3
MOV ESI,dword ptr [EBP]
SUB ESP,0xc
ADD EBP,0xc
PUSH ESI
CALL 0x000295f0
ADD ESP,0x10
CMP EAX,0x3
JNZ 0x001d1190
MOV EAX,dword ptr [ESP + 0x8]
MOVZX EAX,word ptr [EAX]
CMP word ptr [ESI],AX
JNZ 0x001d1190
MOV EAX,dword ptr [ESP + 0x8]
MOVZX EAX,byte ptr [EAX + 0x2]
CMP byte ptr [ESI + 0x2],AL
JNZ 0x001d1190
JMP 0x001d112b
CMP word ptr [ESI + 0x7],0x6e67
JNZ 0x001d0f13
CMP byte ptr [ESI + 0x9],0x5f
JNZ 0x001d0f13
LEA EAX,[EBP + -0xa]
ADD ESI,0xa
LEA EDX,[EBX + 0xfff11b15]
XOR EDI,EDI
MOV dword ptr [ESP + 0x8],EAX
LEA EBP,[EBX + 0xffff74cc]
MOV EAX,0x2
MOV dword ptr [ESP + 0xc],ESI
MOV ESI,EDX
JMP 0x001d122e
ADD EDI,0x1
CMP EDI,0x4f
JZ 0x001d0eb3
MOV ESI,dword ptr [EBP]
SUB ESP,0xc
ADD EBP,0xc
PUSH ESI
CALL 0x000295f0
ADD ESP,0x10
CMP EAX,dword ptr [ESP + 0x8]
JNZ 0x001d1210
SUB ESP,0x4
PUSH EAX
PUSH dword ptr [ESP + 0x14]
PUSH ESI
CALL 0x00029130
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x001d1210
MOV EAX,dword ptr [ESP + 0xa4]
SUB ESP,0x8
MOV dword ptr [EAX],0x7265706f
MOV dword ptr [EAX + 0x4],0x726f7461
MOV byte ptr [EAX + 0x8],0x0
LEA EAX,[EDI + EDI*0x2]
PUSH dword ptr [EBX + EAX*0x4 + 0xffff74c4]
MOV EAX,dword ptr [ESP + 0xb0]
ADD EAX,0x8
PUSH EAX
CALL 0x00029330
MOV ECX,0x3d
ADD ESP,0x10
MOV EBX,0x1
MOV word ptr [EAX],CX
JMP 0x001d0eb5
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nundefined4 FUN_001d0e50(int *param_1,char *param_2)\n\n{\n  size_t sVar1;\n  char *pcVar2;\n  size_t sVar3;\n  int iVar4;\n  int iVar5;\n  undefined4 uVar6;\n  undefined **ppuVar7;\n  short *psVar8;\n  undefined4 *puVar9;\n  byte bVar10;\n  char *local_88;\n  int local_84;\n  undefined4 local_78 [25];\n  undefined4 uStack_14;\n  \n  bVar10 = 0;\n  uStack_14 = 0x1d0e59;\n  sVar1 = strlen((char *)param_1);\n  *param_2 = '\0';\n  puVar9 = local_78;\n  for (iVar5 = 0x17; iVar5 != 0; iVar5 = iVar5 + -1) {\n    *puVar9 = 0;\n    puVar9 = puVar9 + (uint)bVar10 * -2 + 1;\n  }\n  if ((char)*param_1 == '_') {\n    if (*(char *)((int)param_1 + 1) == '_') {\n      bVar10 = *(byte *)((int)param_1 + 2);\n      if ((bVar10 != 0x6f) || (*(char *)((int)param_1 + 3) != 'p')) {\n        if ((((&DAT_002a3600)[(uint)bVar10 * 2] & 8) != 0) &&\n           (((&DAT_002a3600)[(uint)*(byte *)((int)param_1 + 3) * 2] & 8) != 0)) {\n          if ((char)param_1[1] == '\0') {\n            psVar8 = &DAT_002a0b15;\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            sVar1 = 2;\n            while( true ) {\n              if ((sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2))) goto LAB_001d112b;\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) break;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            }\n          }\n          else if ((bVar10 == 0x61) && (*(char *)((int)param_1 + 5) == '\0')) {\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            do {\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||\n                    ((char)psVar8[1] != (char)param_1[1]));\nLAB_001d112b:\n            builtin_strncpy(param_2,"operator",9);\nLAB_001d0f9a:\n            strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            goto LAB_001d0eb5;\n          }\n          goto LAB_001d0eb3;\n        }\n        goto LAB_001d0fca;\n      }\nLAB_001d100a:\n      iVar5 = FUN_001cf7b0();\n      if (iVar5 != 0) {\n        sVar1 = strlen(param_2);\n        builtin_strncpy(param_2 + sVar1,"operator ",10);\n        strncat(param_2,local_88,local_84 - (int)local_88);\n        free(local_88);\n        uVar6 = 1;\n        goto LAB_001d0eb5;\n      }\n    }\n    else {\nLAB_001d0fca:\n      if (2 < sVar1) goto LAB_001d0fd3;\n    }\n  }\n  else if (2 < sVar1) {\n    if ((((char)*param_1 == 'o') && (*(char *)((int)param_1 + 1) == 'p')) &&\n       (pcVar2 = strchr(&DAT_0038f37c,(int)*(char *)((int)param_1 + 2)), pcVar2 != (char *)0x0)) {\n      if ((((sVar1 < 10) || (*(int *)((int)param_1 + 3) != 0x69737361)) ||\n          (*(short *)((int)param_1 + 7) != 0x6e67)) || (*(char *)((int)param_1 + 9) != '_')) {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar1 - 3 == sVar3) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            goto LAB_001d0f9a;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n      else {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar3 == sVar1 - 10) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n    }\n    else {\nLAB_001d0fd3:\n      if (((4 < sVar1) && (*param_1 == 0x65707974)) &&\n         (pcVar2 = strchr(&DAT_0038f37c,(int)(char)param_1[1]), pcVar2 != (char *)0x0))\n      goto LAB_001d100a;\n    }\n  }\nLAB_001d0eb3:\n  uVar6 = 0;\nLAB_001d0eb5:\n  FUN_001cd9e0();\n  return uVar6;\n}\n\n" comment (function_definition "undefined4 FUN_001d0e50(int *param_1,char *param_2)\n\n{\n  size_t sVar1;\n  char *pcVar2;\n  size_t sVar3;\n  int iVar4;\n  int iVar5;\n  undefined4 uVar6;\n  undefined **ppuVar7;\n  short *psVar8;\n  undefined4 *puVar9;\n  byte bVar10;\n  char *local_88;\n  int local_84;\n  undefined4 local_78 [25];\n  undefined4 uStack_14;\n  \n  bVar10 = 0;\n  uStack_14 = 0x1d0e59;\n  sVar1 = strlen((char *)param_1);\n  *param_2 = '\0';\n  puVar9 = local_78;\n  for (iVar5 = 0x17; iVar5 != 0; iVar5 = iVar5 + -1) {\n    *puVar9 = 0;\n    puVar9 = puVar9 + (uint)bVar10 * -2 + 1;\n  }\n  if ((char)*param_1 == '_') {\n    if (*(char *)((int)param_1 + 1) == '_') {\n      bVar10 = *(byte *)((int)param_1 + 2);\n      if ((bVar10 != 0x6f) || (*(char *)((int)param_1 + 3) != 'p')) {\n        if ((((&DAT_002a3600)[(uint)bVar10 * 2] & 8) != 0) &&\n           (((&DAT_002a3600)[(uint)*(byte *)((int)param_1 + 3) * 2] & 8) != 0)) {\n          if ((char)param_1[1] == '\0') {\n            psVar8 = &DAT_002a0b15;\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            sVar1 = 2;\n            while( true ) {\n              if ((sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2))) goto LAB_001d112b;\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) break;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            }\n          }\n          else if ((bVar10 == 0x61) && (*(char *)((int)param_1 + 5) == '\0')) {\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            do {\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||\n                    ((char)psVar8[1] != (char)param_1[1]));\nLAB_001d112b:\n            builtin_strncpy(param_2,"operator",9);\nLAB_001d0f9a:\n            strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            goto LAB_001d0eb5;\n          }\n          goto LAB_001d0eb3;\n        }\n        goto LAB_001d0fca;\n      }\nLAB_001d100a:\n      iVar5 = FUN_001cf7b0();\n      if (iVar5 != 0) {\n        sVar1 = strlen(param_2);\n        builtin_strncpy(param_2 + sVar1,"operator ",10);\n        strncat(param_2,local_88,local_84 - (int)local_88);\n        free(local_88);\n        uVar6 = 1;\n        goto LAB_001d0eb5;\n      }\n    }\n    else {\nLAB_001d0fca:\n      if (2 < sVar1) goto LAB_001d0fd3;\n    }\n  }\n  else if (2 < sVar1) {\n    if ((((char)*param_1 == 'o') && (*(char *)((int)param_1 + 1) == 'p')) &&\n       (pcVar2 = strchr(&DAT_0038f37c,(int)*(char *)((int)param_1 + 2)), pcVar2 != (char *)0x0)) {\n      if ((((sVar1 < 10) || (*(int *)((int)param_1 + 3) != 0x69737361)) ||\n          (*(short *)((int)param_1 + 7) != 0x6e67)) || (*(char *)((int)param_1 + 9) != '_')) {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar1 - 3 == sVar3) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            goto LAB_001d0f9a;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n      else {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar3 == sVar1 - 10) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n    }\n    else {\nLAB_001d0fd3:\n      if (((4 < sVar1) && (*param_1 == 0x65707974)) &&\n         (pcVar2 = strchr(&DAT_0038f37c,(int)(char)param_1[1]), pcVar2 != (char *)0x0))\n      goto LAB_001d100a;\n    }\n  }\nLAB_001d0eb3:\n  uVar6 = 0;\nLAB_001d0eb5:\n  FUN_001cd9e0();\n  return uVar6;\n}" type_identifier (function_declarator "FUN_001d0e50(int *param_1,char *param_2)" identifier (parameter_list "(int *param_1,char *param_2)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "char *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  size_t sVar1;\n  char *pcVar2;\n  size_t sVar3;\n  int iVar4;\n  int iVar5;\n  undefined4 uVar6;\n  undefined **ppuVar7;\n  short *psVar8;\n  undefined4 *puVar9;\n  byte bVar10;\n  char *local_88;\n  int local_84;\n  undefined4 local_78 [25];\n  undefined4 uStack_14;\n  \n  bVar10 = 0;\n  uStack_14 = 0x1d0e59;\n  sVar1 = strlen((char *)param_1);\n  *param_2 = '\0';\n  puVar9 = local_78;\n  for (iVar5 = 0x17; iVar5 != 0; iVar5 = iVar5 + -1) {\n    *puVar9 = 0;\n    puVar9 = puVar9 + (uint)bVar10 * -2 + 1;\n  }\n  if ((char)*param_1 == '_') {\n    if (*(char *)((int)param_1 + 1) == '_') {\n      bVar10 = *(byte *)((int)param_1 + 2);\n      if ((bVar10 != 0x6f) || (*(char *)((int)param_1 + 3) != 'p')) {\n        if ((((&DAT_002a3600)[(uint)bVar10 * 2] & 8) != 0) &&\n           (((&DAT_002a3600)[(uint)*(byte *)((int)param_1 + 3) * 2] & 8) != 0)) {\n          if ((char)param_1[1] == '\0') {\n            psVar8 = &DAT_002a0b15;\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            sVar1 = 2;\n            while( true ) {\n              if ((sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2))) goto LAB_001d112b;\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) break;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            }\n          }\n          else if ((bVar10 == 0x61) && (*(char *)((int)param_1 + 5) == '\0')) {\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            do {\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||\n                    ((char)psVar8[1] != (char)param_1[1]));\nLAB_001d112b:\n            builtin_strncpy(param_2,"operator",9);\nLAB_001d0f9a:\n            strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            goto LAB_001d0eb5;\n          }\n          goto LAB_001d0eb3;\n        }\n        goto LAB_001d0fca;\n      }\nLAB_001d100a:\n      iVar5 = FUN_001cf7b0();\n      if (iVar5 != 0) {\n        sVar1 = strlen(param_2);\n        builtin_strncpy(param_2 + sVar1,"operator ",10);\n        strncat(param_2,local_88,local_84 - (int)local_88);\n        free(local_88);\n        uVar6 = 1;\n        goto LAB_001d0eb5;\n      }\n    }\n    else {\nLAB_001d0fca:\n      if (2 < sVar1) goto LAB_001d0fd3;\n    }\n  }\n  else if (2 < sVar1) {\n    if ((((char)*param_1 == 'o') && (*(char *)((int)param_1 + 1) == 'p')) &&\n       (pcVar2 = strchr(&DAT_0038f37c,(int)*(char *)((int)param_1 + 2)), pcVar2 != (char *)0x0)) {\n      if ((((sVar1 < 10) || (*(int *)((int)param_1 + 3) != 0x69737361)) ||\n          (*(short *)((int)param_1 + 7) != 0x6e67)) || (*(char *)((int)param_1 + 9) != '_')) {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar1 - 3 == sVar3) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            goto LAB_001d0f9a;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n      else {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar3 == sVar1 - 10) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n    }\n    else {\nLAB_001d0fd3:\n      if (((4 < sVar1) && (*param_1 == 0x65707974)) &&\n         (pcVar2 = strchr(&DAT_0038f37c,(int)(char)param_1[1]), pcVar2 != (char *)0x0))\n      goto LAB_001d100a;\n    }\n  }\nLAB_001d0eb3:\n  uVar6 = 0;\nLAB_001d0eb5:\n  FUN_001cd9e0();\n  return uVar6;\n}" { (declaration "size_t sVar1;" primitive_type identifier ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "size_t sVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "undefined **ppuVar7;" type_identifier (pointer_declarator "**ppuVar7" * (pointer_declarator "*ppuVar7" * identifier)) ;) (declaration "short *psVar8;" (sized_type_specifier "short" short) (pointer_declarator "*psVar8" * identifier) ;) (declaration "undefined4 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "byte bVar10;" type_identifier identifier ;) (declaration "char *local_88;" primitive_type (pointer_declarator "*local_88" * identifier) ;) (declaration "int local_84;" primitive_type identifier ;) (declaration "undefined4 local_78 [25];" type_identifier (array_declarator "local_78 [25]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "bVar10 = 0;" (assignment_expression "bVar10 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x1d0e59;" (assignment_expression "uStack_14 = 0x1d0e59" identifier = number_literal) ;) (expression_statement "sVar1 = strlen((char *)param_1);" (assignment_expression "sVar1 = strlen((char *)param_1)" identifier = (call_expression "strlen((char *)param_1)" identifier (argument_list "((char *)param_1)" ( (cast_expression "(char *)param_1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "*param_2 = '\0';" (assignment_expression "*param_2 = '\0'" (pointer_expression "*param_2" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar9 = local_78;" (assignment_expression "puVar9 = local_78" identifier = identifier) ;) (for_statement "for (iVar5 = 0x17; iVar5 != 0; iVar5 = iVar5 + -1) {\n    *puVar9 = 0;\n    puVar9 = puVar9 + (uint)bVar10 * -2 + 1;\n  }" for ( (assignment_expression "iVar5 = 0x17" identifier = number_literal) ; (binary_expression "iVar5 != 0" identifier != number_literal) ; (assignment_expression "iVar5 = iVar5 + -1" identifier = (binary_expression "iVar5 + -1" identifier + number_literal)) ) (compound_statement "{\n    *puVar9 = 0;\n    puVar9 = puVar9 + (uint)bVar10 * -2 + 1;\n  }" { (expression_statement "*puVar9 = 0;" (assignment_expression "*puVar9 = 0" (pointer_expression "*puVar9" * identifier) = number_literal) ;) (expression_statement "puVar9 = puVar9 + (uint)bVar10 * -2 + 1;" (assignment_expression "puVar9 = puVar9 + (uint)bVar10 * -2 + 1" identifier = (binary_expression "puVar9 + (uint)bVar10 * -2 + 1" (binary_expression "puVar9 + (uint)bVar10 * -2" identifier + (binary_expression "(uint)bVar10 * -2" (cast_expression "(uint)bVar10" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (if_statement "if ((char)*param_1 == '_') {\n    if (*(char *)((int)param_1 + 1) == '_') {\n      bVar10 = *(byte *)((int)param_1 + 2);\n      if ((bVar10 != 0x6f) || (*(char *)((int)param_1 + 3) != 'p')) {\n        if ((((&DAT_002a3600)[(uint)bVar10 * 2] & 8) != 0) &&\n           (((&DAT_002a3600)[(uint)*(byte *)((int)param_1 + 3) * 2] & 8) != 0)) {\n          if ((char)param_1[1] == '\0') {\n            psVar8 = &DAT_002a0b15;\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            sVar1 = 2;\n            while( true ) {\n              if ((sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2))) goto LAB_001d112b;\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) break;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            }\n          }\n          else if ((bVar10 == 0x61) && (*(char *)((int)param_1 + 5) == '\0')) {\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            do {\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||\n                    ((char)psVar8[1] != (char)param_1[1]));\nLAB_001d112b:\n            builtin_strncpy(param_2,"operator",9);\nLAB_001d0f9a:\n            strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            goto LAB_001d0eb5;\n          }\n          goto LAB_001d0eb3;\n        }\n        goto LAB_001d0fca;\n      }\nLAB_001d100a:\n      iVar5 = FUN_001cf7b0();\n      if (iVar5 != 0) {\n        sVar1 = strlen(param_2);\n        builtin_strncpy(param_2 + sVar1,"operator ",10);\n        strncat(param_2,local_88,local_84 - (int)local_88);\n        free(local_88);\n        uVar6 = 1;\n        goto LAB_001d0eb5;\n      }\n    }\n    else {\nLAB_001d0fca:\n      if (2 < sVar1) goto LAB_001d0fd3;\n    }\n  }\n  else if (2 < sVar1) {\n    if ((((char)*param_1 == 'o') && (*(char *)((int)param_1 + 1) == 'p')) &&\n       (pcVar2 = strchr(&DAT_0038f37c,(int)*(char *)((int)param_1 + 2)), pcVar2 != (char *)0x0)) {\n      if ((((sVar1 < 10) || (*(int *)((int)param_1 + 3) != 0x69737361)) ||\n          (*(short *)((int)param_1 + 7) != 0x6e67)) || (*(char *)((int)param_1 + 9) != '_')) {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar1 - 3 == sVar3) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            goto LAB_001d0f9a;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n      else {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar3 == sVar1 - 10) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n    }\n    else {\nLAB_001d0fd3:\n      if (((4 < sVar1) && (*param_1 == 0x65707974)) &&\n         (pcVar2 = strchr(&DAT_0038f37c,(int)(char)param_1[1]), pcVar2 != (char *)0x0))\n      goto LAB_001d100a;\n    }\n  }" if (parenthesized_expression "((char)*param_1 == '_')" ( (binary_expression "(char)*param_1 == '_'" (cast_expression "(char)*param_1" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*param_1" * identifier)) == (char_literal "'_'" ' character ')) )) (compound_statement "{\n    if (*(char *)((int)param_1 + 1) == '_') {\n      bVar10 = *(byte *)((int)param_1 + 2);\n      if ((bVar10 != 0x6f) || (*(char *)((int)param_1 + 3) != 'p')) {\n        if ((((&DAT_002a3600)[(uint)bVar10 * 2] & 8) != 0) &&\n           (((&DAT_002a3600)[(uint)*(byte *)((int)param_1 + 3) * 2] & 8) != 0)) {\n          if ((char)param_1[1] == '\0') {\n            psVar8 = &DAT_002a0b15;\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            sVar1 = 2;\n            while( true ) {\n              if ((sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2))) goto LAB_001d112b;\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) break;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            }\n          }\n          else if ((bVar10 == 0x61) && (*(char *)((int)param_1 + 5) == '\0')) {\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            do {\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||\n                    ((char)psVar8[1] != (char)param_1[1]));\nLAB_001d112b:\n            builtin_strncpy(param_2,"operator",9);\nLAB_001d0f9a:\n            strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            goto LAB_001d0eb5;\n          }\n          goto LAB_001d0eb3;\n        }\n        goto LAB_001d0fca;\n      }\nLAB_001d100a:\n      iVar5 = FUN_001cf7b0();\n      if (iVar5 != 0) {\n        sVar1 = strlen(param_2);\n        builtin_strncpy(param_2 + sVar1,"operator ",10);\n        strncat(param_2,local_88,local_84 - (int)local_88);\n        free(local_88);\n        uVar6 = 1;\n        goto LAB_001d0eb5;\n      }\n    }\n    else {\nLAB_001d0fca:\n      if (2 < sVar1) goto LAB_001d0fd3;\n    }\n  }" { (if_statement "if (*(char *)((int)param_1 + 1) == '_') {\n      bVar10 = *(byte *)((int)param_1 + 2);\n      if ((bVar10 != 0x6f) || (*(char *)((int)param_1 + 3) != 'p')) {\n        if ((((&DAT_002a3600)[(uint)bVar10 * 2] & 8) != 0) &&\n           (((&DAT_002a3600)[(uint)*(byte *)((int)param_1 + 3) * 2] & 8) != 0)) {\n          if ((char)param_1[1] == '\0') {\n            psVar8 = &DAT_002a0b15;\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            sVar1 = 2;\n            while( true ) {\n              if ((sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2))) goto LAB_001d112b;\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) break;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            }\n          }\n          else if ((bVar10 == 0x61) && (*(char *)((int)param_1 + 5) == '\0')) {\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            do {\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||\n                    ((char)psVar8[1] != (char)param_1[1]));\nLAB_001d112b:\n            builtin_strncpy(param_2,"operator",9);\nLAB_001d0f9a:\n            strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            goto LAB_001d0eb5;\n          }\n          goto LAB_001d0eb3;\n        }\n        goto LAB_001d0fca;\n      }\nLAB_001d100a:\n      iVar5 = FUN_001cf7b0();\n      if (iVar5 != 0) {\n        sVar1 = strlen(param_2);\n        builtin_strncpy(param_2 + sVar1,"operator ",10);\n        strncat(param_2,local_88,local_84 - (int)local_88);\n        free(local_88);\n        uVar6 = 1;\n        goto LAB_001d0eb5;\n      }\n    }\n    else {\nLAB_001d0fca:\n      if (2 < sVar1) goto LAB_001d0fd3;\n    }" if (parenthesized_expression "(*(char *)((int)param_1 + 1) == '_')" ( (binary_expression "*(char *)((int)param_1 + 1) == '_'" (pointer_expression "*(char *)((int)param_1 + 1)" * (cast_expression "(char *)((int)param_1 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 1)" ( (binary_expression "(int)param_1 + 1" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'_'" ' character ')) )) (compound_statement "{\n      bVar10 = *(byte *)((int)param_1 + 2);\n      if ((bVar10 != 0x6f) || (*(char *)((int)param_1 + 3) != 'p')) {\n        if ((((&DAT_002a3600)[(uint)bVar10 * 2] & 8) != 0) &&\n           (((&DAT_002a3600)[(uint)*(byte *)((int)param_1 + 3) * 2] & 8) != 0)) {\n          if ((char)param_1[1] == '\0') {\n            psVar8 = &DAT_002a0b15;\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            sVar1 = 2;\n            while( true ) {\n              if ((sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2))) goto LAB_001d112b;\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) break;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            }\n          }\n          else if ((bVar10 == 0x61) && (*(char *)((int)param_1 + 5) == '\0')) {\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            do {\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||\n                    ((char)psVar8[1] != (char)param_1[1]));\nLAB_001d112b:\n            builtin_strncpy(param_2,"operator",9);\nLAB_001d0f9a:\n            strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            goto LAB_001d0eb5;\n          }\n          goto LAB_001d0eb3;\n        }\n        goto LAB_001d0fca;\n      }\nLAB_001d100a:\n      iVar5 = FUN_001cf7b0();\n      if (iVar5 != 0) {\n        sVar1 = strlen(param_2);\n        builtin_strncpy(param_2 + sVar1,"operator ",10);\n        strncat(param_2,local_88,local_84 - (int)local_88);\n        free(local_88);\n        uVar6 = 1;\n        goto LAB_001d0eb5;\n      }\n    }" { (expression_statement "bVar10 = *(byte *)((int)param_1 + 2);" (assignment_expression "bVar10 = *(byte *)((int)param_1 + 2)" identifier = (pointer_expression "*(byte *)((int)param_1 + 2)" * (cast_expression "(byte *)((int)param_1 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 2)" ( (binary_expression "(int)param_1 + 2" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if ((bVar10 != 0x6f) || (*(char *)((int)param_1 + 3) != 'p')) {\n        if ((((&DAT_002a3600)[(uint)bVar10 * 2] & 8) != 0) &&\n           (((&DAT_002a3600)[(uint)*(byte *)((int)param_1 + 3) * 2] & 8) != 0)) {\n          if ((char)param_1[1] == '\0') {\n            psVar8 = &DAT_002a0b15;\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            sVar1 = 2;\n            while( true ) {\n              if ((sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2))) goto LAB_001d112b;\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) break;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            }\n          }\n          else if ((bVar10 == 0x61) && (*(char *)((int)param_1 + 5) == '\0')) {\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            do {\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||\n                    ((char)psVar8[1] != (char)param_1[1]));\nLAB_001d112b:\n            builtin_strncpy(param_2,"operator",9);\nLAB_001d0f9a:\n            strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            goto LAB_001d0eb5;\n          }\n          goto LAB_001d0eb3;\n        }\n        goto LAB_001d0fca;\n      }" if (parenthesized_expression "((bVar10 != 0x6f) || (*(char *)((int)param_1 + 3) != 'p'))" ( (binary_expression "(bVar10 != 0x6f) || (*(char *)((int)param_1 + 3) != 'p')" (parenthesized_expression "(bVar10 != 0x6f)" ( (binary_expression "bVar10 != 0x6f" identifier != number_literal) )) || (parenthesized_expression "(*(char *)((int)param_1 + 3) != 'p')" ( (binary_expression "*(char *)((int)param_1 + 3) != 'p'" (pointer_expression "*(char *)((int)param_1 + 3)" * (cast_expression "(char *)((int)param_1 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 3)" ( (binary_expression "(int)param_1 + 3" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'p'" ' character ')) ))) )) (compound_statement "{\n        if ((((&DAT_002a3600)[(uint)bVar10 * 2] & 8) != 0) &&\n           (((&DAT_002a3600)[(uint)*(byte *)((int)param_1 + 3) * 2] & 8) != 0)) {\n          if ((char)param_1[1] == '\0') {\n            psVar8 = &DAT_002a0b15;\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            sVar1 = 2;\n            while( true ) {\n              if ((sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2))) goto LAB_001d112b;\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) break;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            }\n          }\n          else if ((bVar10 == 0x61) && (*(char *)((int)param_1 + 5) == '\0')) {\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            do {\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||\n                    ((char)psVar8[1] != (char)param_1[1]));\nLAB_001d112b:\n            builtin_strncpy(param_2,"operator",9);\nLAB_001d0f9a:\n            strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            goto LAB_001d0eb5;\n          }\n          goto LAB_001d0eb3;\n        }\n        goto LAB_001d0fca;\n      }" { (if_statement "if ((((&DAT_002a3600)[(uint)bVar10 * 2] & 8) != 0) &&\n           (((&DAT_002a3600)[(uint)*(byte *)((int)param_1 + 3) * 2] & 8) != 0)) {\n          if ((char)param_1[1] == '\0') {\n            psVar8 = &DAT_002a0b15;\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            sVar1 = 2;\n            while( true ) {\n              if ((sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2))) goto LAB_001d112b;\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) break;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            }\n          }\n          else if ((bVar10 == 0x61) && (*(char *)((int)param_1 + 5) == '\0')) {\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            do {\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||\n                    ((char)psVar8[1] != (char)param_1[1]));\nLAB_001d112b:\n            builtin_strncpy(param_2,"operator",9);\nLAB_001d0f9a:\n            strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            goto LAB_001d0eb5;\n          }\n          goto LAB_001d0eb3;\n        }" if (parenthesized_expression "((((&DAT_002a3600)[(uint)bVar10 * 2] & 8) != 0) &&\n           (((&DAT_002a3600)[(uint)*(byte *)((int)param_1 + 3) * 2] & 8) != 0))" ( (binary_expression "(((&DAT_002a3600)[(uint)bVar10 * 2] & 8) != 0) &&\n           (((&DAT_002a3600)[(uint)*(byte *)((int)param_1 + 3) * 2] & 8) != 0)" (parenthesized_expression "(((&DAT_002a3600)[(uint)bVar10 * 2] & 8) != 0)" ( (binary_expression "((&DAT_002a3600)[(uint)bVar10 * 2] & 8) != 0" (parenthesized_expression "((&DAT_002a3600)[(uint)bVar10 * 2] & 8)" ( (binary_expression "(&DAT_002a3600)[(uint)bVar10 * 2] & 8" (subscript_expression "(&DAT_002a3600)[(uint)bVar10 * 2]" (parenthesized_expression "(&DAT_002a3600)" ( (pointer_expression "&DAT_002a3600" & identifier) )) [ (binary_expression "(uint)bVar10 * 2" (cast_expression "(uint)bVar10" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal) ]) & number_literal) )) != number_literal) )) && (parenthesized_expression "(((&DAT_002a3600)[(uint)*(byte *)((int)param_1 + 3) * 2] & 8) != 0)" ( (binary_expression "((&DAT_002a3600)[(uint)*(byte *)((int)param_1 + 3) * 2] & 8) != 0" (parenthesized_expression "((&DAT_002a3600)[(uint)*(byte *)((int)param_1 + 3) * 2] & 8)" ( (binary_expression "(&DAT_002a3600)[(uint)*(byte *)((int)param_1 + 3) * 2] & 8" (subscript_expression "(&DAT_002a3600)[(uint)*(byte *)((int)param_1 + 3) * 2]" (parenthesized_expression "(&DAT_002a3600)" ( (pointer_expression "&DAT_002a3600" & identifier) )) [ (binary_expression "(uint)*(byte *)((int)param_1 + 3) * 2" (binary_expression "(uint)*(byte *)((int)param_1 + 3)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)param_1 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 3)" ( (binary_expression "(int)param_1 + 3" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal) ]) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n          if ((char)param_1[1] == '\0') {\n            psVar8 = &DAT_002a0b15;\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            sVar1 = 2;\n            while( true ) {\n              if ((sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2))) goto LAB_001d112b;\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) break;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            }\n          }\n          else if ((bVar10 == 0x61) && (*(char *)((int)param_1 + 5) == '\0')) {\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            do {\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||\n                    ((char)psVar8[1] != (char)param_1[1]));\nLAB_001d112b:\n            builtin_strncpy(param_2,"operator",9);\nLAB_001d0f9a:\n            strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            goto LAB_001d0eb5;\n          }\n          goto LAB_001d0eb3;\n        }" { (if_statement "if ((char)param_1[1] == '\0') {\n            psVar8 = &DAT_002a0b15;\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            sVar1 = 2;\n            while( true ) {\n              if ((sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2))) goto LAB_001d112b;\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) break;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            }\n          }\n          else if ((bVar10 == 0x61) && (*(char *)((int)param_1 + 5) == '\0')) {\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            do {\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||\n                    ((char)psVar8[1] != (char)param_1[1]));\nLAB_001d112b:\n            builtin_strncpy(param_2,"operator",9);\nLAB_001d0f9a:\n            strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            goto LAB_001d0eb5;\n          }" if (parenthesized_expression "((char)param_1[1] == '\0')" ( (binary_expression "(char)param_1[1] == '\0'" (cast_expression "(char)param_1[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "param_1[1]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            psVar8 = &DAT_002a0b15;\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            sVar1 = 2;\n            while( true ) {\n              if ((sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2))) goto LAB_001d112b;\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) break;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            }\n          }" { (expression_statement "psVar8 = &DAT_002a0b15;" (assignment_expression "psVar8 = &DAT_002a0b15" identifier = (pointer_expression "&DAT_002a0b15" & identifier)) ;) (expression_statement "ppuVar7 = &PTR_DAT_003864cc;" (assignment_expression "ppuVar7 = &PTR_DAT_003864cc" identifier = (pointer_expression "&PTR_DAT_003864cc" & identifier)) ;) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (expression_statement "sVar1 = 2;" (assignment_expression "sVar1 = 2" identifier = number_literal) ;) (while_statement "while( true ) {\n              if ((sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2))) goto LAB_001d112b;\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) break;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              if ((sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2))) goto LAB_001d112b;\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) break;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            }" { (if_statement "if ((sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2))) goto LAB_001d112b;" if (parenthesized_expression "((sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2)))" ( (binary_expression "(sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2))" (parenthesized_expression "(sVar1 == 2)" ( (binary_expression "sVar1 == 2" identifier == number_literal) )) && (parenthesized_expression "(*psVar8 == *(short *)((int)param_1 + 2))" ( (binary_expression "*psVar8 == *(short *)((int)param_1 + 2)" (pointer_expression "*psVar8" * identifier) == (pointer_expression "*(short *)((int)param_1 + 2)" * (cast_expression "(short *)((int)param_1 + 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 2)" ( (binary_expression "(int)param_1 + 2" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ))) )) (goto_statement "goto LAB_001d112b;" goto statement_identifier ;)) (expression_statement "iVar5 = iVar5 + 1;" (assignment_expression "iVar5 = iVar5 + 1" identifier = (binary_expression "iVar5 + 1" identifier + number_literal)) ;) (if_statement "if (iVar5 == 0x4f) break;" if (parenthesized_expression "(iVar5 == 0x4f)" ( (binary_expression "iVar5 == 0x4f" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "psVar8 = (short *)*ppuVar7;" (assignment_expression "psVar8 = (short *)*ppuVar7" identifier = (cast_expression "(short *)*ppuVar7" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*ppuVar7" * identifier))) ;) (expression_statement "ppuVar7 = ppuVar7 + 3;" (assignment_expression "ppuVar7 = ppuVar7 + 3" identifier = (binary_expression "ppuVar7 + 3" identifier + number_literal)) ;) (expression_statement "sVar1 = strlen((char *)psVar8);" (assignment_expression "sVar1 = strlen((char *)psVar8)" identifier = (call_expression "strlen((char *)psVar8)" identifier (argument_list "((char *)psVar8)" ( (cast_expression "(char *)psVar8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) })) }) (else_clause "else if ((bVar10 == 0x61) && (*(char *)((int)param_1 + 5) == '\0')) {\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            do {\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||\n                    ((char)psVar8[1] != (char)param_1[1]));\nLAB_001d112b:\n            builtin_strncpy(param_2,"operator",9);\nLAB_001d0f9a:\n            strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            goto LAB_001d0eb5;\n          }" else (if_statement "if ((bVar10 == 0x61) && (*(char *)((int)param_1 + 5) == '\0')) {\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            do {\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||\n                    ((char)psVar8[1] != (char)param_1[1]));\nLAB_001d112b:\n            builtin_strncpy(param_2,"operator",9);\nLAB_001d0f9a:\n            strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            goto LAB_001d0eb5;\n          }" if (parenthesized_expression "((bVar10 == 0x61) && (*(char *)((int)param_1 + 5) == '\0'))" ( (binary_expression "(bVar10 == 0x61) && (*(char *)((int)param_1 + 5) == '\0')" (parenthesized_expression "(bVar10 == 0x61)" ( (binary_expression "bVar10 == 0x61" identifier == number_literal) )) && (parenthesized_expression "(*(char *)((int)param_1 + 5) == '\0')" ( (binary_expression "*(char *)((int)param_1 + 5) == '\0'" (pointer_expression "*(char *)((int)param_1 + 5)" * (cast_expression "(char *)((int)param_1 + 5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 5)" ( (binary_expression "(int)param_1 + 5" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            do {\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||\n                    ((char)psVar8[1] != (char)param_1[1]));\nLAB_001d112b:\n            builtin_strncpy(param_2,"operator",9);\nLAB_001d0f9a:\n            strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            goto LAB_001d0eb5;\n          }" { (expression_statement "ppuVar7 = &PTR_DAT_003864cc;" (assignment_expression "ppuVar7 = &PTR_DAT_003864cc" identifier = (pointer_expression "&PTR_DAT_003864cc" & identifier)) ;) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (do_statement "do {\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||\n                    ((char)psVar8[1] != (char)param_1[1]));" do (compound_statement "{\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            }" { (expression_statement "iVar5 = iVar5 + 1;" (assignment_expression "iVar5 = iVar5 + 1" identifier = (binary_expression "iVar5 + 1" identifier + number_literal)) ;) (if_statement "if (iVar5 == 0x4f) goto LAB_001d0eb3;" if (parenthesized_expression "(iVar5 == 0x4f)" ( (binary_expression "iVar5 == 0x4f" identifier == number_literal) )) (goto_statement "goto LAB_001d0eb3;" goto statement_identifier ;)) (expression_statement "psVar8 = (short *)*ppuVar7;" (assignment_expression "psVar8 = (short *)*ppuVar7" identifier = (cast_expression "(short *)*ppuVar7" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*ppuVar7" * identifier))) ;) (expression_statement "ppuVar7 = ppuVar7 + 3;" (assignment_expression "ppuVar7 = ppuVar7 + 3" identifier = (binary_expression "ppuVar7 + 3" identifier + number_literal)) ;) (expression_statement "sVar1 = strlen((char *)psVar8);" (assignment_expression "sVar1 = strlen((char *)psVar8)" identifier = (call_expression "strlen((char *)psVar8)" identifier (argument_list "((char *)psVar8)" ( (cast_expression "(char *)psVar8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) }) while (parenthesized_expression "(((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||\n                    ((char)psVar8[1] != (char)param_1[1]))" ( (binary_expression "((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||\n                    ((char)psVar8[1] != (char)param_1[1])" (parenthesized_expression "((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2)))" ( (binary_expression "(sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))" (parenthesized_expression "(sVar1 != 3)" ( (binary_expression "sVar1 != 3" identifier != number_literal) )) || (parenthesized_expression "(*psVar8 != *(short *)((int)param_1 + 2))" ( (binary_expression "*psVar8 != *(short *)((int)param_1 + 2)" (pointer_expression "*psVar8" * identifier) != (pointer_expression "*(short *)((int)param_1 + 2)" * (cast_expression "(short *)((int)param_1 + 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 2)" ( (binary_expression "(int)param_1 + 2" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ))) )) || (parenthesized_expression "((char)psVar8[1] != (char)param_1[1])" ( (binary_expression "(char)psVar8[1] != (char)param_1[1]" (cast_expression "(char)psVar8[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "psVar8[1]" identifier [ number_literal ])) != (cast_expression "(char)param_1[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) ))) )) ;) (labeled_statement "LAB_001d112b:\n            builtin_strncpy(param_2,"operator",9);" statement_identifier : (expression_statement "builtin_strncpy(param_2,"operator",9);" (call_expression "builtin_strncpy(param_2,"operator",9)" identifier (argument_list "(param_2,"operator",9)" ( identifier , (string_literal ""operator"" " string_content ") , number_literal ))) ;)) (labeled_statement "LAB_001d0f9a:\n            strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);" statement_identifier : (expression_statement "strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);" (call_expression "strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3])" identifier (argument_list "(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3])" ( (binary_expression "param_2 + 8" identifier + number_literal) , (subscript_expression "(&PTR_s_new_003864c4)[iVar5 * 3]" (parenthesized_expression "(&PTR_s_new_003864c4)" ( (pointer_expression "&PTR_s_new_003864c4" & identifier) )) [ (binary_expression "iVar5 * 3" identifier * number_literal) ]) ))) ;)) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_001d0eb5;" goto statement_identifier ;) })))) (goto_statement "goto LAB_001d0eb3;" goto statement_identifier ;) })) (goto_statement "goto LAB_001d0fca;" goto statement_identifier ;) })) (labeled_statement "LAB_001d100a:\n      iVar5 = FUN_001cf7b0();" statement_identifier : (expression_statement "iVar5 = FUN_001cf7b0();" (assignment_expression "iVar5 = FUN_001cf7b0()" identifier = (call_expression "FUN_001cf7b0()" identifier (argument_list "()" ( )))) ;)) (if_statement "if (iVar5 != 0) {\n        sVar1 = strlen(param_2);\n        builtin_strncpy(param_2 + sVar1,"operator ",10);\n        strncat(param_2,local_88,local_84 - (int)local_88);\n        free(local_88);\n        uVar6 = 1;\n        goto LAB_001d0eb5;\n      }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n        sVar1 = strlen(param_2);\n        builtin_strncpy(param_2 + sVar1,"operator ",10);\n        strncat(param_2,local_88,local_84 - (int)local_88);\n        free(local_88);\n        uVar6 = 1;\n        goto LAB_001d0eb5;\n      }" { (expression_statement "sVar1 = strlen(param_2);" (assignment_expression "sVar1 = strlen(param_2)" identifier = (call_expression "strlen(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "builtin_strncpy(param_2 + sVar1,"operator ",10);" (call_expression "builtin_strncpy(param_2 + sVar1,"operator ",10)" identifier (argument_list "(param_2 + sVar1,"operator ",10)" ( (binary_expression "param_2 + sVar1" identifier + identifier) , (string_literal ""operator "" " string_content ") , number_literal ))) ;) (expression_statement "strncat(param_2,local_88,local_84 - (int)local_88);" (call_expression "strncat(param_2,local_88,local_84 - (int)local_88)" identifier (argument_list "(param_2,local_88,local_84 - (int)local_88)" ( identifier , identifier , (binary_expression "local_84 - (int)local_88" identifier - (cast_expression "(int)local_88" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) (expression_statement "free(local_88);" (call_expression "free(local_88)" identifier (argument_list "(local_88)" ( identifier ))) ;) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_001d0eb5;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_001d0fca:\n      if (2 < sVar1) goto LAB_001d0fd3;\n    }" else (compound_statement "{\nLAB_001d0fca:\n      if (2 < sVar1) goto LAB_001d0fd3;\n    }" { (labeled_statement "LAB_001d0fca:\n      if (2 < sVar1) goto LAB_001d0fd3;" statement_identifier : (if_statement "if (2 < sVar1) goto LAB_001d0fd3;" if (parenthesized_expression "(2 < sVar1)" ( (binary_expression "2 < sVar1" number_literal < identifier) )) (goto_statement "goto LAB_001d0fd3;" goto statement_identifier ;))) }))) }) (else_clause "else if (2 < sVar1) {\n    if ((((char)*param_1 == 'o') && (*(char *)((int)param_1 + 1) == 'p')) &&\n       (pcVar2 = strchr(&DAT_0038f37c,(int)*(char *)((int)param_1 + 2)), pcVar2 != (char *)0x0)) {\n      if ((((sVar1 < 10) || (*(int *)((int)param_1 + 3) != 0x69737361)) ||\n          (*(short *)((int)param_1 + 7) != 0x6e67)) || (*(char *)((int)param_1 + 9) != '_')) {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar1 - 3 == sVar3) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            goto LAB_001d0f9a;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n      else {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar3 == sVar1 - 10) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n    }\n    else {\nLAB_001d0fd3:\n      if (((4 < sVar1) && (*param_1 == 0x65707974)) &&\n         (pcVar2 = strchr(&DAT_0038f37c,(int)(char)param_1[1]), pcVar2 != (char *)0x0))\n      goto LAB_001d100a;\n    }\n  }" else (if_statement "if (2 < sVar1) {\n    if ((((char)*param_1 == 'o') && (*(char *)((int)param_1 + 1) == 'p')) &&\n       (pcVar2 = strchr(&DAT_0038f37c,(int)*(char *)((int)param_1 + 2)), pcVar2 != (char *)0x0)) {\n      if ((((sVar1 < 10) || (*(int *)((int)param_1 + 3) != 0x69737361)) ||\n          (*(short *)((int)param_1 + 7) != 0x6e67)) || (*(char *)((int)param_1 + 9) != '_')) {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar1 - 3 == sVar3) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            goto LAB_001d0f9a;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n      else {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar3 == sVar1 - 10) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n    }\n    else {\nLAB_001d0fd3:\n      if (((4 < sVar1) && (*param_1 == 0x65707974)) &&\n         (pcVar2 = strchr(&DAT_0038f37c,(int)(char)param_1[1]), pcVar2 != (char *)0x0))\n      goto LAB_001d100a;\n    }\n  }" if (parenthesized_expression "(2 < sVar1)" ( (binary_expression "2 < sVar1" number_literal < identifier) )) (compound_statement "{\n    if ((((char)*param_1 == 'o') && (*(char *)((int)param_1 + 1) == 'p')) &&\n       (pcVar2 = strchr(&DAT_0038f37c,(int)*(char *)((int)param_1 + 2)), pcVar2 != (char *)0x0)) {\n      if ((((sVar1 < 10) || (*(int *)((int)param_1 + 3) != 0x69737361)) ||\n          (*(short *)((int)param_1 + 7) != 0x6e67)) || (*(char *)((int)param_1 + 9) != '_')) {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar1 - 3 == sVar3) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            goto LAB_001d0f9a;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n      else {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar3 == sVar1 - 10) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n    }\n    else {\nLAB_001d0fd3:\n      if (((4 < sVar1) && (*param_1 == 0x65707974)) &&\n         (pcVar2 = strchr(&DAT_0038f37c,(int)(char)param_1[1]), pcVar2 != (char *)0x0))\n      goto LAB_001d100a;\n    }\n  }" { (if_statement "if ((((char)*param_1 == 'o') && (*(char *)((int)param_1 + 1) == 'p')) &&\n       (pcVar2 = strchr(&DAT_0038f37c,(int)*(char *)((int)param_1 + 2)), pcVar2 != (char *)0x0)) {\n      if ((((sVar1 < 10) || (*(int *)((int)param_1 + 3) != 0x69737361)) ||\n          (*(short *)((int)param_1 + 7) != 0x6e67)) || (*(char *)((int)param_1 + 9) != '_')) {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar1 - 3 == sVar3) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            goto LAB_001d0f9a;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n      else {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar3 == sVar1 - 10) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n    }\n    else {\nLAB_001d0fd3:\n      if (((4 < sVar1) && (*param_1 == 0x65707974)) &&\n         (pcVar2 = strchr(&DAT_0038f37c,(int)(char)param_1[1]), pcVar2 != (char *)0x0))\n      goto LAB_001d100a;\n    }" if (parenthesized_expression "((((char)*param_1 == 'o') && (*(char *)((int)param_1 + 1) == 'p')) &&\n       (pcVar2 = strchr(&DAT_0038f37c,(int)*(char *)((int)param_1 + 2)), pcVar2 != (char *)0x0))" ( (binary_expression "(((char)*param_1 == 'o') && (*(char *)((int)param_1 + 1) == 'p')) &&\n       (pcVar2 = strchr(&DAT_0038f37c,(int)*(char *)((int)param_1 + 2)), pcVar2 != (char *)0x0)" (parenthesized_expression "(((char)*param_1 == 'o') && (*(char *)((int)param_1 + 1) == 'p'))" ( (binary_expression "((char)*param_1 == 'o') && (*(char *)((int)param_1 + 1) == 'p')" (parenthesized_expression "((char)*param_1 == 'o')" ( (binary_expression "(char)*param_1 == 'o'" (cast_expression "(char)*param_1" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*param_1" * identifier)) == (char_literal "'o'" ' character ')) )) && (parenthesized_expression "(*(char *)((int)param_1 + 1) == 'p')" ( (binary_expression "*(char *)((int)param_1 + 1) == 'p'" (pointer_expression "*(char *)((int)param_1 + 1)" * (cast_expression "(char *)((int)param_1 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 1)" ( (binary_expression "(int)param_1 + 1" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'p'" ' character ')) ))) )) && (parenthesized_expression "(pcVar2 = strchr(&DAT_0038f37c,(int)*(char *)((int)param_1 + 2)), pcVar2 != (char *)0x0)" ( (comma_expression "pcVar2 = strchr(&DAT_0038f37c,(int)*(char *)((int)param_1 + 2)), pcVar2 != (char *)0x0" (assignment_expression "pcVar2 = strchr(&DAT_0038f37c,(int)*(char *)((int)param_1 + 2))" identifier = (call_expression "strchr(&DAT_0038f37c,(int)*(char *)((int)param_1 + 2))" identifier (argument_list "(&DAT_0038f37c,(int)*(char *)((int)param_1 + 2))" ( (pointer_expression "&DAT_0038f37c" & identifier) , (cast_expression "(int)*(char *)((int)param_1 + 2)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char *)((int)param_1 + 2)" * (cast_expression "(char *)((int)param_1 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 2)" ( (binary_expression "(int)param_1 + 2" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )))) , (binary_expression "pcVar2 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n      if ((((sVar1 < 10) || (*(int *)((int)param_1 + 3) != 0x69737361)) ||\n          (*(short *)((int)param_1 + 7) != 0x6e67)) || (*(char *)((int)param_1 + 9) != '_')) {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar1 - 3 == sVar3) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            goto LAB_001d0f9a;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n      else {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar3 == sVar1 - 10) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n    }" { (if_statement "if ((((sVar1 < 10) || (*(int *)((int)param_1 + 3) != 0x69737361)) ||\n          (*(short *)((int)param_1 + 7) != 0x6e67)) || (*(char *)((int)param_1 + 9) != '_')) {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar1 - 3 == sVar3) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            goto LAB_001d0f9a;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n      else {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar3 == sVar1 - 10) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }" if (parenthesized_expression "((((sVar1 < 10) || (*(int *)((int)param_1 + 3) != 0x69737361)) ||\n          (*(short *)((int)param_1 + 7) != 0x6e67)) || (*(char *)((int)param_1 + 9) != '_'))" ( (binary_expression "(((sVar1 < 10) || (*(int *)((int)param_1 + 3) != 0x69737361)) ||\n          (*(short *)((int)param_1 + 7) != 0x6e67)) || (*(char *)((int)param_1 + 9) != '_')" (parenthesized_expression "(((sVar1 < 10) || (*(int *)((int)param_1 + 3) != 0x69737361)) ||\n          (*(short *)((int)param_1 + 7) != 0x6e67))" ( (binary_expression "((sVar1 < 10) || (*(int *)((int)param_1 + 3) != 0x69737361)) ||\n          (*(short *)((int)param_1 + 7) != 0x6e67)" (parenthesized_expression "((sVar1 < 10) || (*(int *)((int)param_1 + 3) != 0x69737361))" ( (binary_expression "(sVar1 < 10) || (*(int *)((int)param_1 + 3) != 0x69737361)" (parenthesized_expression "(sVar1 < 10)" ( (binary_expression "sVar1 < 10" identifier < number_literal) )) || (parenthesized_expression "(*(int *)((int)param_1 + 3) != 0x69737361)" ( (binary_expression "*(int *)((int)param_1 + 3) != 0x69737361" (pointer_expression "*(int *)((int)param_1 + 3)" * (cast_expression "(int *)((int)param_1 + 3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 3)" ( (binary_expression "(int)param_1 + 3" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) ))) )) || (parenthesized_expression "(*(short *)((int)param_1 + 7) != 0x6e67)" ( (binary_expression "*(short *)((int)param_1 + 7) != 0x6e67" (pointer_expression "*(short *)((int)param_1 + 7)" * (cast_expression "(short *)((int)param_1 + 7)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 7)" ( (binary_expression "(int)param_1 + 7" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) ))) )) || (parenthesized_expression "(*(char *)((int)param_1 + 9) != '_')" ( (binary_expression "*(char *)((int)param_1 + 9) != '_'" (pointer_expression "*(char *)((int)param_1 + 9)" * (cast_expression "(char *)((int)param_1 + 9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 9)" ( (binary_expression "(int)param_1 + 9" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'_'" ' character ')) ))) )) (compound_statement "{\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar1 - 3 == sVar3) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            goto LAB_001d0f9a;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }" { (expression_statement "pcVar2 = "nw";" (assignment_expression "pcVar2 = "nw"" identifier = (string_literal ""nw"" " string_content ")) ;) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (expression_statement "ppuVar7 = &PTR_DAT_003864cc;" (assignment_expression "ppuVar7 = &PTR_DAT_003864cc" identifier = (pointer_expression "&PTR_DAT_003864cc" & identifier)) ;) (expression_statement "sVar3 = 2;" (assignment_expression "sVar3 = 2" identifier = number_literal) ;) (while_statement "while( true ) {\n          if ((sVar1 - 3 == sVar3) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            goto LAB_001d0f9a;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          if ((sVar1 - 3 == sVar3) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            goto LAB_001d0f9a;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }" { (if_statement "if ((sVar1 - 3 == sVar3) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            goto LAB_001d0f9a;\n          }" if (parenthesized_expression "((sVar1 - 3 == sVar3) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0))" ( (binary_expression "(sVar1 - 3 == sVar3) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0)" (parenthesized_expression "(sVar1 - 3 == sVar3)" ( (binary_expression "sVar1 - 3 == sVar3" (binary_expression "sVar1 - 3" identifier - number_literal) == identifier) )) && (parenthesized_expression "(iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0)" ( (comma_expression "iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0" (assignment_expression "iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3)" identifier = (call_expression "memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3)" identifier (argument_list "(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3)" ( identifier , (cast_expression "(void *)((int)param_1 + 3)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 3)" ( (binary_expression "(int)param_1 + 3" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) , (binary_expression "sVar1 - 3" identifier - number_literal) )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n            builtin_strncpy(param_2,"operator",9);\n            goto LAB_001d0f9a;\n          }" { (expression_statement "builtin_strncpy(param_2,"operator",9);" (call_expression "builtin_strncpy(param_2,"operator",9)" identifier (argument_list "(param_2,"operator",9)" ( identifier , (string_literal ""operator"" " string_content ") , number_literal ))) ;) (goto_statement "goto LAB_001d0f9a;" goto statement_identifier ;) })) (expression_statement "iVar5 = iVar5 + 1;" (assignment_expression "iVar5 = iVar5 + 1" identifier = (binary_expression "iVar5 + 1" identifier + number_literal)) ;) (if_statement "if (iVar5 == 0x4f) break;" if (parenthesized_expression "(iVar5 == 0x4f)" ( (binary_expression "iVar5 == 0x4f" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "pcVar2 = *ppuVar7;" (assignment_expression "pcVar2 = *ppuVar7" identifier = (pointer_expression "*ppuVar7" * identifier)) ;) (expression_statement "ppuVar7 = ppuVar7 + 3;" (assignment_expression "ppuVar7 = ppuVar7 + 3" identifier = (binary_expression "ppuVar7 + 3" identifier + number_literal)) ;) (expression_statement "sVar3 = strlen(pcVar2);" (assignment_expression "sVar3 = strlen(pcVar2)" identifier = (call_expression "strlen(pcVar2)" identifier (argument_list "(pcVar2)" ( identifier )))) ;) })) }) (else_clause "else {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar3 == sVar1 - 10) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }" else (compound_statement "{\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar3 == sVar1 - 10) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }" { (expression_statement "pcVar2 = "nw";" (assignment_expression "pcVar2 = "nw"" identifier = (string_literal ""nw"" " string_content ")) ;) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (expression_statement "ppuVar7 = &PTR_DAT_003864cc;" (assignment_expression "ppuVar7 = &PTR_DAT_003864cc" identifier = (pointer_expression "&PTR_DAT_003864cc" & identifier)) ;) (expression_statement "sVar3 = 2;" (assignment_expression "sVar3 = 2" identifier = number_literal) ;) (while_statement "while( true ) {\n          if ((sVar3 == sVar1 - 10) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          if ((sVar3 == sVar1 - 10) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }" { (if_statement "if ((sVar3 == sVar1 - 10) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }" if (parenthesized_expression "((sVar3 == sVar1 - 10) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0))" ( (binary_expression "(sVar3 == sVar1 - 10) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0)" (parenthesized_expression "(sVar3 == sVar1 - 10)" ( (binary_expression "sVar3 == sVar1 - 10" identifier == (binary_expression "sVar1 - 10" identifier - number_literal)) )) && (parenthesized_expression "(iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0)" ( (comma_expression "iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0" (assignment_expression "iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3)" identifier = (call_expression "memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3)" identifier (argument_list "(pcVar2,(void *)((int)param_1 + 10),sVar3)" ( identifier , (cast_expression "(void *)((int)param_1 + 10)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 10)" ( (binary_expression "(int)param_1 + 10" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) , identifier )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n            builtin_strncpy(param_2,"operator",9);\n            pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }" { (expression_statement "builtin_strncpy(param_2,"operator",9);" (call_expression "builtin_strncpy(param_2,"operator",9)" identifier (argument_list "(param_2,"operator",9)" ( identifier , (string_literal ""operator"" " string_content ") , number_literal ))) ;) (expression_statement "pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);" (assignment_expression "pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3])" identifier = (call_expression "stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3])" identifier (argument_list "(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3])" ( (binary_expression "param_2 + 8" identifier + number_literal) , (subscript_expression "(&PTR_s_new_003864c4)[iVar5 * 3]" (parenthesized_expression "(&PTR_s_new_003864c4)" ( (pointer_expression "&PTR_s_new_003864c4" & identifier) )) [ (binary_expression "iVar5 * 3" identifier * number_literal) ]) )))) ;) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (expression_statement "pcVar2[0] = '=';" (assignment_expression "pcVar2[0] = '='" (subscript_expression "pcVar2[0]" identifier [ number_literal ]) = (char_literal "'='" ' character ')) ;) (expression_statement "pcVar2[1] = '\0';" (assignment_expression "pcVar2[1] = '\0'" (subscript_expression "pcVar2[1]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (goto_statement "goto LAB_001d0eb5;" goto statement_identifier ;) })) (expression_statement "iVar5 = iVar5 + 1;" (assignment_expression "iVar5 = iVar5 + 1" identifier = (binary_expression "iVar5 + 1" identifier + number_literal)) ;) (if_statement "if (iVar5 == 0x4f) break;" if (parenthesized_expression "(iVar5 == 0x4f)" ( (binary_expression "iVar5 == 0x4f" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "pcVar2 = *ppuVar7;" (assignment_expression "pcVar2 = *ppuVar7" identifier = (pointer_expression "*ppuVar7" * identifier)) ;) (expression_statement "ppuVar7 = ppuVar7 + 3;" (assignment_expression "ppuVar7 = ppuVar7 + 3" identifier = (binary_expression "ppuVar7 + 3" identifier + number_literal)) ;) (expression_statement "sVar3 = strlen(pcVar2);" (assignment_expression "sVar3 = strlen(pcVar2)" identifier = (call_expression "strlen(pcVar2)" identifier (argument_list "(pcVar2)" ( identifier )))) ;) })) }))) }) (else_clause "else {\nLAB_001d0fd3:\n      if (((4 < sVar1) && (*param_1 == 0x65707974)) &&\n         (pcVar2 = strchr(&DAT_0038f37c,(int)(char)param_1[1]), pcVar2 != (char *)0x0))\n      goto LAB_001d100a;\n    }" else (compound_statement "{\nLAB_001d0fd3:\n      if (((4 < sVar1) && (*param_1 == 0x65707974)) &&\n         (pcVar2 = strchr(&DAT_0038f37c,(int)(char)param_1[1]), pcVar2 != (char *)0x0))\n      goto LAB_001d100a;\n    }" { (labeled_statement "LAB_001d0fd3:\n      if (((4 < sVar1) && (*param_1 == 0x65707974)) &&\n         (pcVar2 = strchr(&DAT_0038f37c,(int)(char)param_1[1]), pcVar2 != (char *)0x0))\n      goto LAB_001d100a;" statement_identifier : (if_statement "if (((4 < sVar1) && (*param_1 == 0x65707974)) &&\n         (pcVar2 = strchr(&DAT_0038f37c,(int)(char)param_1[1]), pcVar2 != (char *)0x0))\n      goto LAB_001d100a;" if (parenthesized_expression "(((4 < sVar1) && (*param_1 == 0x65707974)) &&\n         (pcVar2 = strchr(&DAT_0038f37c,(int)(char)param_1[1]), pcVar2 != (char *)0x0))" ( (binary_expression "((4 < sVar1) && (*param_1 == 0x65707974)) &&\n         (pcVar2 = strchr(&DAT_0038f37c,(int)(char)param_1[1]), pcVar2 != (char *)0x0)" (parenthesized_expression "((4 < sVar1) && (*param_1 == 0x65707974))" ( (binary_expression "(4 < sVar1) && (*param_1 == 0x65707974)" (parenthesized_expression "(4 < sVar1)" ( (binary_expression "4 < sVar1" number_literal < identifier) )) && (parenthesized_expression "(*param_1 == 0x65707974)" ( (binary_expression "*param_1 == 0x65707974" (pointer_expression "*param_1" * identifier) == number_literal) ))) )) && (parenthesized_expression "(pcVar2 = strchr(&DAT_0038f37c,(int)(char)param_1[1]), pcVar2 != (char *)0x0)" ( (comma_expression "pcVar2 = strchr(&DAT_0038f37c,(int)(char)param_1[1]), pcVar2 != (char *)0x0" (assignment_expression "pcVar2 = strchr(&DAT_0038f37c,(int)(char)param_1[1])" identifier = (call_expression "strchr(&DAT_0038f37c,(int)(char)param_1[1])" identifier (argument_list "(&DAT_0038f37c,(int)(char)param_1[1])" ( (pointer_expression "&DAT_0038f37c" & identifier) , (cast_expression "(int)(char)param_1[1]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)param_1[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) )))) , (binary_expression "pcVar2 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_001d100a;" goto statement_identifier ;))) }))) })))) (labeled_statement "LAB_001d0eb3:\n  uVar6 = 0;" statement_identifier : (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;)) (labeled_statement "LAB_001d0eb5:\n  FUN_001cd9e0();" statement_identifier : (expression_statement "FUN_001cd9e0();" (call_expression "FUN_001cd9e0()" identifier (argument_list "()" ( ))) ;)) (return_statement "return uVar6;" return identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nint cplus_demangle_opname(char *opname,char *result,int options)\n\n{\n  size_t sVar1;\n  char *pcVar2;\n  size_t sVar3;\n  int iVar4;\n  char *pcVar5;\n  int iVar6;\n  optable *poVar7;\n  short *psVar8;\n  char ***pppcVar9;\n  byte bVar10;\n  char *tem;\n  string type;\n  work_stuff work [1];\n  \n  bVar10 = 0;\n  sVar1 = strlen(opname);\n  *result = '\0';\n  pppcVar9 = &work[0].typevec;\n  for (iVar6 = 0x17; iVar6 != 0; iVar6 = iVar6 + -1) {\n    *pppcVar9 = (char **)0x0;\n    pppcVar9 = pppcVar9 + (uint)bVar10 * -2 + 1;\n  }\n  work[0].options = options;\n  if (*opname == '_') {\n    if (opname[1] == '_') {\n      bVar10 = opname[2];\n      if ((bVar10 != 0x6f) || (opname[3] != 'p')) {\n        if (((_sch_istable[bVar10] & 8) != 0) && ((_sch_istable[(byte)opname[3]] & 8) != 0)) {\n          if (opname[4] == '\0') {\n            psVar8 = &DAT_002a0b15;\n            poVar7 = optable;\n            iVar6 = 0;\n            sVar1 = 2;\n            while( true ) {\n              poVar7 = poVar7 + 1;\n              if ((sVar1 == 2) && (*psVar8 == *(short *)(opname + 2))) goto LAB_001d112b;\n              iVar6 = iVar6 + 1;\n              if (iVar6 == 0x4f) break;\n              psVar8 = (short *)poVar7->in;\n              sVar1 = strlen((char *)psVar8);\n            }\n          }\n          else if ((bVar10 == 0x61) && (opname[5] == '\0')) {\n            poVar7 = optable + 1;\n            iVar6 = 0;\n            do {\n              iVar6 = iVar6 + 1;\n              if (iVar6 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)poVar7->in;\n              poVar7 = poVar7 + 1;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)(opname + 2))) ||\n                    ((char)psVar8[1] != opname[4]));\nLAB_001d112b:\n            builtin_strncpy(result,"operator",9);\nLAB_001d0f9a:\n            strcpy(result + 8,optable[iVar6].out);\n            iVar6 = 1;\n            goto LAB_001d0eb5;\n          }\n          goto LAB_001d0eb3;\n        }\n        goto LAB_001d0fca;\n      }\n      pcVar2 = opname + 4;\nLAB_001d100a:\n      tem = pcVar2;\n      iVar6 = do_type(work,&tem,&type);\n      if (iVar6 != 0) {\n        sVar1 = strlen(result);\n        builtin_strncpy(result + sVar1,"operator ",10);\n        strncat(result,type.b,(int)type.p - (int)type.b);\n        free(type.b);\n        type.p = (char *)0x0;\n        iVar6 = 1;\n        type.e = (char *)0x0;\n        type.b = (char *)0x0;\n        goto LAB_001d0eb5;\n      }\n    }\n    else {\nLAB_001d0fca:\n      if (2 < sVar1) goto LAB_001d0fd3;\n    }\n  }\n  else if (2 < sVar1) {\n    if (((*opname == 'o') && (opname[1] == 'p')) &&\n       (pcVar2 = strchr(cplus_markers,(int)opname[2]), pcVar2 != (char *)0x0)) {\n      if ((((sVar1 < 10) || (*(int *)(opname + 3) != 0x69737361)) ||\n          (*(short *)(opname + 7) != 0x6e67)) || (opname[9] != '_')) {\n        pcVar2 = "nw";\n        iVar6 = 0;\n        poVar7 = optable;\n        sVar3 = 2;\n        while( true ) {\n          poVar7 = poVar7 + 1;\n          if ((sVar1 - 3 == sVar3) && (iVar4 = memcmp(pcVar2,opname + 3,sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(result,"operator",9);\n            goto LAB_001d0f9a;\n          }\n          iVar6 = iVar6 + 1;\n          if (iVar6 == 0x4f) break;\n          pcVar2 = poVar7->in;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n      else {\n        pcVar2 = "nw";\n        iVar6 = 0;\n        poVar7 = optable;\n        sVar3 = 2;\n        while( true ) {\n          poVar7 = poVar7 + 1;\n          if ((sVar3 == sVar1 - 10) && (iVar4 = memcmp(pcVar2,opname + 10,sVar3), iVar4 == 0)) {\n            builtin_strncpy(result,"operator",9);\n            pcVar2 = stpcpy(result + 8,optable[iVar6].out);\n            iVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar6 = iVar6 + 1;\n          if (iVar6 == 0x4f) break;\n          pcVar2 = poVar7->in;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n    }\n    else {\nLAB_001d0fd3:\n      if ((4 < sVar1) && (*(int *)opname == 0x65707974)) {\n        pcVar2 = opname + 5;\n        pcVar5 = strchr(cplus_markers,(int)opname[4]);\n        if (pcVar5 != (char *)0x0) goto LAB_001d100a;\n      }\n    }\n  }\nLAB_001d0eb3:\n  iVar6 = 0;\nLAB_001d0eb5:\n  squangle_mop_up(work);\n  return iVar6;\n}\n\n" comment (function_definition "int cplus_demangle_opname(char *opname,char *result,int options)\n\n{\n  size_t sVar1;\n  char *pcVar2;\n  size_t sVar3;\n  int iVar4;\n  char *pcVar5;\n  int iVar6;\n  optable *poVar7;\n  short *psVar8;\n  char ***pppcVar9;\n  byte bVar10;\n  char *tem;\n  string type;\n  work_stuff work [1];\n  \n  bVar10 = 0;\n  sVar1 = strlen(opname);\n  *result = '\0';\n  pppcVar9 = &work[0].typevec;\n  for (iVar6 = 0x17; iVar6 != 0; iVar6 = iVar6 + -1) {\n    *pppcVar9 = (char **)0x0;\n    pppcVar9 = pppcVar9 + (uint)bVar10 * -2 + 1;\n  }\n  work[0].options = options;\n  if (*opname == '_') {\n    if (opname[1] == '_') {\n      bVar10 = opname[2];\n      if ((bVar10 != 0x6f) || (opname[3] != 'p')) {\n        if (((_sch_istable[bVar10] & 8) != 0) && ((_sch_istable[(byte)opname[3]] & 8) != 0)) {\n          if (opname[4] == '\0') {\n            psVar8 = &DAT_002a0b15;\n            poVar7 = optable;\n            iVar6 = 0;\n            sVar1 = 2;\n            while( true ) {\n              poVar7 = poVar7 + 1;\n              if ((sVar1 == 2) && (*psVar8 == *(short *)(opname + 2))) goto LAB_001d112b;\n              iVar6 = iVar6 + 1;\n              if (iVar6 == 0x4f) break;\n              psVar8 = (short *)poVar7->in;\n              sVar1 = strlen((char *)psVar8);\n            }\n          }\n          else if ((bVar10 == 0x61) && (opname[5] == '\0')) {\n            poVar7 = optable + 1;\n            iVar6 = 0;\n            do {\n              iVar6 = iVar6 + 1;\n              if (iVar6 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)poVar7->in;\n              poVar7 = poVar7 + 1;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)(opname + 2))) ||\n                    ((char)psVar8[1] != opname[4]));\nLAB_001d112b:\n            builtin_strncpy(result,"operator",9);\nLAB_001d0f9a:\n            strcpy(result + 8,optable[iVar6].out);\n            iVar6 = 1;\n            goto LAB_001d0eb5;\n          }\n          goto LAB_001d0eb3;\n        }\n        goto LAB_001d0fca;\n      }\n      pcVar2 = opname + 4;\nLAB_001d100a:\n      tem = pcVar2;\n      iVar6 = do_type(work,&tem,&type);\n      if (iVar6 != 0) {\n        sVar1 = strlen(result);\n        builtin_strncpy(result + sVar1,"operator ",10);\n        strncat(result,type.b,(int)type.p - (int)type.b);\n        free(type.b);\n        type.p = (char *)0x0;\n        iVar6 = 1;\n        type.e = (char *)0x0;\n        type.b = (char *)0x0;\n        goto LAB_001d0eb5;\n      }\n    }\n    else {\nLAB_001d0fca:\n      if (2 < sVar1) goto LAB_001d0fd3;\n    }\n  }\n  else if (2 < sVar1) {\n    if (((*opname == 'o') && (opname[1] == 'p')) &&\n       (pcVar2 = strchr(cplus_markers,(int)opname[2]), pcVar2 != (char *)0x0)) {\n      if ((((sVar1 < 10) || (*(int *)(opname + 3) != 0x69737361)) ||\n          (*(short *)(opname + 7) != 0x6e67)) || (opname[9] != '_')) {\n        pcVar2 = "nw";\n        iVar6 = 0;\n        poVar7 = optable;\n        sVar3 = 2;\n        while( true ) {\n          poVar7 = poVar7 + 1;\n          if ((sVar1 - 3 == sVar3) && (iVar4 = memcmp(pcVar2,opname + 3,sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(result,"operator",9);\n            goto LAB_001d0f9a;\n          }\n          iVar6 = iVar6 + 1;\n          if (iVar6 == 0x4f) break;\n          pcVar2 = poVar7->in;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n      else {\n        pcVar2 = "nw";\n        iVar6 = 0;\n        poVar7 = optable;\n        sVar3 = 2;\n        while( true ) {\n          poVar7 = poVar7 + 1;\n          if ((sVar3 == sVar1 - 10) && (iVar4 = memcmp(pcVar2,opname + 10,sVar3), iVar4 == 0)) {\n            builtin_strncpy(result,"operator",9);\n            pcVar2 = stpcpy(result + 8,optable[iVar6].out);\n            iVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar6 = iVar6 + 1;\n          if (iVar6 == 0x4f) break;\n          pcVar2 = poVar7->in;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n    }\n    else {\nLAB_001d0fd3:\n      if ((4 < sVar1) && (*(int *)opname == 0x65707974)) {\n        pcVar2 = opname + 5;\n        pcVar5 = strchr(cplus_markers,(int)opname[4]);\n        if (pcVar5 != (char *)0x0) goto LAB_001d100a;\n      }\n    }\n  }\nLAB_001d0eb3:\n  iVar6 = 0;\nLAB_001d0eb5:\n  squangle_mop_up(work);\n  return iVar6;\n}" primitive_type (function_declarator "cplus_demangle_opname(char *opname,char *result,int options)" identifier (parameter_list "(char *opname,char *result,int options)" ( (parameter_declaration "char *opname" primitive_type (pointer_declarator "*opname" * identifier)) , (parameter_declaration "char *result" primitive_type (pointer_declarator "*result" * identifier)) , (parameter_declaration "int options" primitive_type identifier) ))) (compound_statement "{\n  size_t sVar1;\n  char *pcVar2;\n  size_t sVar3;\n  int iVar4;\n  char *pcVar5;\n  int iVar6;\n  optable *poVar7;\n  short *psVar8;\n  char ***pppcVar9;\n  byte bVar10;\n  char *tem;\n  string type;\n  work_stuff work [1];\n  \n  bVar10 = 0;\n  sVar1 = strlen(opname);\n  *result = '\0';\n  pppcVar9 = &work[0].typevec;\n  for (iVar6 = 0x17; iVar6 != 0; iVar6 = iVar6 + -1) {\n    *pppcVar9 = (char **)0x0;\n    pppcVar9 = pppcVar9 + (uint)bVar10 * -2 + 1;\n  }\n  work[0].options = options;\n  if (*opname == '_') {\n    if (opname[1] == '_') {\n      bVar10 = opname[2];\n      if ((bVar10 != 0x6f) || (opname[3] != 'p')) {\n        if (((_sch_istable[bVar10] & 8) != 0) && ((_sch_istable[(byte)opname[3]] & 8) != 0)) {\n          if (opname[4] == '\0') {\n            psVar8 = &DAT_002a0b15;\n            poVar7 = optable;\n            iVar6 = 0;\n            sVar1 = 2;\n            while( true ) {\n              poVar7 = poVar7 + 1;\n              if ((sVar1 == 2) && (*psVar8 == *(short *)(opname + 2))) goto LAB_001d112b;\n              iVar6 = iVar6 + 1;\n              if (iVar6 == 0x4f) break;\n              psVar8 = (short *)poVar7->in;\n              sVar1 = strlen((char *)psVar8);\n            }\n          }\n          else if ((bVar10 == 0x61) && (opname[5] == '\0')) {\n            poVar7 = optable + 1;\n            iVar6 = 0;\n            do {\n              iVar6 = iVar6 + 1;\n              if (iVar6 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)poVar7->in;\n              poVar7 = poVar7 + 1;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)(opname + 2))) ||\n                    ((char)psVar8[1] != opname[4]));\nLAB_001d112b:\n            builtin_strncpy(result,"operator",9);\nLAB_001d0f9a:\n            strcpy(result + 8,optable[iVar6].out);\n            iVar6 = 1;\n            goto LAB_001d0eb5;\n          }\n          goto LAB_001d0eb3;\n        }\n        goto LAB_001d0fca;\n      }\n      pcVar2 = opname + 4;\nLAB_001d100a:\n      tem = pcVar2;\n      iVar6 = do_type(work,&tem,&type);\n      if (iVar6 != 0) {\n        sVar1 = strlen(result);\n        builtin_strncpy(result + sVar1,"operator ",10);\n        strncat(result,type.b,(int)type.p - (int)type.b);\n        free(type.b);\n        type.p = (char *)0x0;\n        iVar6 = 1;\n        type.e = (char *)0x0;\n        type.b = (char *)0x0;\n        goto LAB_001d0eb5;\n      }\n    }\n    else {\nLAB_001d0fca:\n      if (2 < sVar1) goto LAB_001d0fd3;\n    }\n  }\n  else if (2 < sVar1) {\n    if (((*opname == 'o') && (opname[1] == 'p')) &&\n       (pcVar2 = strchr(cplus_markers,(int)opname[2]), pcVar2 != (char *)0x0)) {\n      if ((((sVar1 < 10) || (*(int *)(opname + 3) != 0x69737361)) ||\n          (*(short *)(opname + 7) != 0x6e67)) || (opname[9] != '_')) {\n        pcVar2 = "nw";\n        iVar6 = 0;\n        poVar7 = optable;\n        sVar3 = 2;\n        while( true ) {\n          poVar7 = poVar7 + 1;\n          if ((sVar1 - 3 == sVar3) && (iVar4 = memcmp(pcVar2,opname + 3,sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(result,"operator",9);\n            goto LAB_001d0f9a;\n          }\n          iVar6 = iVar6 + 1;\n          if (iVar6 == 0x4f) break;\n          pcVar2 = poVar7->in;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n      else {\n        pcVar2 = "nw";\n        iVar6 = 0;\n        poVar7 = optable;\n        sVar3 = 2;\n        while( true ) {\n          poVar7 = poVar7 + 1;\n          if ((sVar3 == sVar1 - 10) && (iVar4 = memcmp(pcVar2,opname + 10,sVar3), iVar4 == 0)) {\n            builtin_strncpy(result,"operator",9);\n            pcVar2 = stpcpy(result + 8,optable[iVar6].out);\n            iVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar6 = iVar6 + 1;\n          if (iVar6 == 0x4f) break;\n          pcVar2 = poVar7->in;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n    }\n    else {\nLAB_001d0fd3:\n      if ((4 < sVar1) && (*(int *)opname == 0x65707974)) {\n        pcVar2 = opname + 5;\n        pcVar5 = strchr(cplus_markers,(int)opname[4]);\n        if (pcVar5 != (char *)0x0) goto LAB_001d100a;\n      }\n    }\n  }\nLAB_001d0eb3:\n  iVar6 = 0;\nLAB_001d0eb5:\n  squangle_mop_up(work);\n  return iVar6;\n}" { (declaration "size_t sVar1;" primitive_type identifier ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "size_t sVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "optable *poVar7;" type_identifier (pointer_declarator "*poVar7" * identifier) ;) (declaration "short *psVar8;" (sized_type_specifier "short" short) (pointer_declarator "*psVar8" * identifier) ;) (declaration "char ***pppcVar9;" primitive_type (pointer_declarator "***pppcVar9" * (pointer_declarator "**pppcVar9" * (pointer_declarator "*pppcVar9" * identifier))) ;) (declaration "byte bVar10;" type_identifier identifier ;) (declaration "char *tem;" primitive_type (pointer_declarator "*tem" * identifier) ;) (declaration "string type;" type_identifier identifier ;) (declaration "work_stuff work [1];" type_identifier (array_declarator "work [1]" identifier [ number_literal ]) ;) (expression_statement "bVar10 = 0;" (assignment_expression "bVar10 = 0" identifier = number_literal) ;) (expression_statement "sVar1 = strlen(opname);" (assignment_expression "sVar1 = strlen(opname)" identifier = (call_expression "strlen(opname)" identifier (argument_list "(opname)" ( identifier )))) ;) (expression_statement "*result = '\0';" (assignment_expression "*result = '\0'" (pointer_expression "*result" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pppcVar9 = &work[0].typevec;" (assignment_expression "pppcVar9 = &work[0].typevec" identifier = (pointer_expression "&work[0].typevec" & (field_expression "work[0].typevec" (subscript_expression "work[0]" identifier [ number_literal ]) . field_identifier))) ;) (for_statement "for (iVar6 = 0x17; iVar6 != 0; iVar6 = iVar6 + -1) {\n    *pppcVar9 = (char **)0x0;\n    pppcVar9 = pppcVar9 + (uint)bVar10 * -2 + 1;\n  }" for ( (assignment_expression "iVar6 = 0x17" identifier = number_literal) ; (binary_expression "iVar6 != 0" identifier != number_literal) ; (assignment_expression "iVar6 = iVar6 + -1" identifier = (binary_expression "iVar6 + -1" identifier + number_literal)) ) (compound_statement "{\n    *pppcVar9 = (char **)0x0;\n    pppcVar9 = pppcVar9 + (uint)bVar10 * -2 + 1;\n  }" { (expression_statement "*pppcVar9 = (char **)0x0;" (assignment_expression "*pppcVar9 = (char **)0x0" (pointer_expression "*pppcVar9" * identifier) = (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "pppcVar9 = pppcVar9 + (uint)bVar10 * -2 + 1;" (assignment_expression "pppcVar9 = pppcVar9 + (uint)bVar10 * -2 + 1" identifier = (binary_expression "pppcVar9 + (uint)bVar10 * -2 + 1" (binary_expression "pppcVar9 + (uint)bVar10 * -2" identifier + (binary_expression "(uint)bVar10 * -2" (cast_expression "(uint)bVar10" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "work[0].options = options;" (assignment_expression "work[0].options = options" (field_expression "work[0].options" (subscript_expression "work[0]" identifier [ number_literal ]) . field_identifier) = identifier) ;) (if_statement "if (*opname == '_') {\n    if (opname[1] == '_') {\n      bVar10 = opname[2];\n      if ((bVar10 != 0x6f) || (opname[3] != 'p')) {\n        if (((_sch_istable[bVar10] & 8) != 0) && ((_sch_istable[(byte)opname[3]] & 8) != 0)) {\n          if (opname[4] == '\0') {\n            psVar8 = &DAT_002a0b15;\n            poVar7 = optable;\n            iVar6 = 0;\n            sVar1 = 2;\n            while( true ) {\n              poVar7 = poVar7 + 1;\n              if ((sVar1 == 2) && (*psVar8 == *(short *)(opname + 2))) goto LAB_001d112b;\n              iVar6 = iVar6 + 1;\n              if (iVar6 == 0x4f) break;\n              psVar8 = (short *)poVar7->in;\n              sVar1 = strlen((char *)psVar8);\n            }\n          }\n          else if ((bVar10 == 0x61) && (opname[5] == '\0')) {\n            poVar7 = optable + 1;\n            iVar6 = 0;\n            do {\n              iVar6 = iVar6 + 1;\n              if (iVar6 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)poVar7->in;\n              poVar7 = poVar7 + 1;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)(opname + 2))) ||\n                    ((char)psVar8[1] != opname[4]));\nLAB_001d112b:\n            builtin_strncpy(result,"operator",9);\nLAB_001d0f9a:\n            strcpy(result + 8,optable[iVar6].out);\n            iVar6 = 1;\n            goto LAB_001d0eb5;\n          }\n          goto LAB_001d0eb3;\n        }\n        goto LAB_001d0fca;\n      }\n      pcVar2 = opname + 4;\nLAB_001d100a:\n      tem = pcVar2;\n      iVar6 = do_type(work,&tem,&type);\n      if (iVar6 != 0) {\n        sVar1 = strlen(result);\n        builtin_strncpy(result + sVar1,"operator ",10);\n        strncat(result,type.b,(int)type.p - (int)type.b);\n        free(type.b);\n        type.p = (char *)0x0;\n        iVar6 = 1;\n        type.e = (char *)0x0;\n        type.b = (char *)0x0;\n        goto LAB_001d0eb5;\n      }\n    }\n    else {\nLAB_001d0fca:\n      if (2 < sVar1) goto LAB_001d0fd3;\n    }\n  }\n  else if (2 < sVar1) {\n    if (((*opname == 'o') && (opname[1] == 'p')) &&\n       (pcVar2 = strchr(cplus_markers,(int)opname[2]), pcVar2 != (char *)0x0)) {\n      if ((((sVar1 < 10) || (*(int *)(opname + 3) != 0x69737361)) ||\n          (*(short *)(opname + 7) != 0x6e67)) || (opname[9] != '_')) {\n        pcVar2 = "nw";\n        iVar6 = 0;\n        poVar7 = optable;\n        sVar3 = 2;\n        while( true ) {\n          poVar7 = poVar7 + 1;\n          if ((sVar1 - 3 == sVar3) && (iVar4 = memcmp(pcVar2,opname + 3,sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(result,"operator",9);\n            goto LAB_001d0f9a;\n          }\n          iVar6 = iVar6 + 1;\n          if (iVar6 == 0x4f) break;\n          pcVar2 = poVar7->in;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n      else {\n        pcVar2 = "nw";\n        iVar6 = 0;\n        poVar7 = optable;\n        sVar3 = 2;\n        while( true ) {\n          poVar7 = poVar7 + 1;\n          if ((sVar3 == sVar1 - 10) && (iVar4 = memcmp(pcVar2,opname + 10,sVar3), iVar4 == 0)) {\n            builtin_strncpy(result,"operator",9);\n            pcVar2 = stpcpy(result + 8,optable[iVar6].out);\n            iVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar6 = iVar6 + 1;\n          if (iVar6 == 0x4f) break;\n          pcVar2 = poVar7->in;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n    }\n    else {\nLAB_001d0fd3:\n      if ((4 < sVar1) && (*(int *)opname == 0x65707974)) {\n        pcVar2 = opname + 5;\n        pcVar5 = strchr(cplus_markers,(int)opname[4]);\n        if (pcVar5 != (char *)0x0) goto LAB_001d100a;\n      }\n    }\n  }" if (parenthesized_expression "(*opname == '_')" ( (binary_expression "*opname == '_'" (pointer_expression "*opname" * identifier) == (char_literal "'_'" ' character ')) )) (compound_statement "{\n    if (opname[1] == '_') {\n      bVar10 = opname[2];\n      if ((bVar10 != 0x6f) || (opname[3] != 'p')) {\n        if (((_sch_istable[bVar10] & 8) != 0) && ((_sch_istable[(byte)opname[3]] & 8) != 0)) {\n          if (opname[4] == '\0') {\n            psVar8 = &DAT_002a0b15;\n            poVar7 = optable;\n            iVar6 = 0;\n            sVar1 = 2;\n            while( true ) {\n              poVar7 = poVar7 + 1;\n              if ((sVar1 == 2) && (*psVar8 == *(short *)(opname + 2))) goto LAB_001d112b;\n              iVar6 = iVar6 + 1;\n              if (iVar6 == 0x4f) break;\n              psVar8 = (short *)poVar7->in;\n              sVar1 = strlen((char *)psVar8);\n            }\n          }\n          else if ((bVar10 == 0x61) && (opname[5] == '\0')) {\n            poVar7 = optable + 1;\n            iVar6 = 0;\n            do {\n              iVar6 = iVar6 + 1;\n              if (iVar6 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)poVar7->in;\n              poVar7 = poVar7 + 1;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)(opname + 2))) ||\n                    ((char)psVar8[1] != opname[4]));\nLAB_001d112b:\n            builtin_strncpy(result,"operator",9);\nLAB_001d0f9a:\n            strcpy(result + 8,optable[iVar6].out);\n            iVar6 = 1;\n            goto LAB_001d0eb5;\n          }\n          goto LAB_001d0eb3;\n        }\n        goto LAB_001d0fca;\n      }\n      pcVar2 = opname + 4;\nLAB_001d100a:\n      tem = pcVar2;\n      iVar6 = do_type(work,&tem,&type);\n      if (iVar6 != 0) {\n        sVar1 = strlen(result);\n        builtin_strncpy(result + sVar1,"operator ",10);\n        strncat(result,type.b,(int)type.p - (int)type.b);\n        free(type.b);\n        type.p = (char *)0x0;\n        iVar6 = 1;\n        type.e = (char *)0x0;\n        type.b = (char *)0x0;\n        goto LAB_001d0eb5;\n      }\n    }\n    else {\nLAB_001d0fca:\n      if (2 < sVar1) goto LAB_001d0fd3;\n    }\n  }" { (if_statement "if (opname[1] == '_') {\n      bVar10 = opname[2];\n      if ((bVar10 != 0x6f) || (opname[3] != 'p')) {\n        if (((_sch_istable[bVar10] & 8) != 0) && ((_sch_istable[(byte)opname[3]] & 8) != 0)) {\n          if (opname[4] == '\0') {\n            psVar8 = &DAT_002a0b15;\n            poVar7 = optable;\n            iVar6 = 0;\n            sVar1 = 2;\n            while( true ) {\n              poVar7 = poVar7 + 1;\n              if ((sVar1 == 2) && (*psVar8 == *(short *)(opname + 2))) goto LAB_001d112b;\n              iVar6 = iVar6 + 1;\n              if (iVar6 == 0x4f) break;\n              psVar8 = (short *)poVar7->in;\n              sVar1 = strlen((char *)psVar8);\n            }\n          }\n          else if ((bVar10 == 0x61) && (opname[5] == '\0')) {\n            poVar7 = optable + 1;\n            iVar6 = 0;\n            do {\n              iVar6 = iVar6 + 1;\n              if (iVar6 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)poVar7->in;\n              poVar7 = poVar7 + 1;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)(opname + 2))) ||\n                    ((char)psVar8[1] != opname[4]));\nLAB_001d112b:\n            builtin_strncpy(result,"operator",9);\nLAB_001d0f9a:\n            strcpy(result + 8,optable[iVar6].out);\n            iVar6 = 1;\n            goto LAB_001d0eb5;\n          }\n          goto LAB_001d0eb3;\n        }\n        goto LAB_001d0fca;\n      }\n      pcVar2 = opname + 4;\nLAB_001d100a:\n      tem = pcVar2;\n      iVar6 = do_type(work,&tem,&type);\n      if (iVar6 != 0) {\n        sVar1 = strlen(result);\n        builtin_strncpy(result + sVar1,"operator ",10);\n        strncat(result,type.b,(int)type.p - (int)type.b);\n        free(type.b);\n        type.p = (char *)0x0;\n        iVar6 = 1;\n        type.e = (char *)0x0;\n        type.b = (char *)0x0;\n        goto LAB_001d0eb5;\n      }\n    }\n    else {\nLAB_001d0fca:\n      if (2 < sVar1) goto LAB_001d0fd3;\n    }" if (parenthesized_expression "(opname[1] == '_')" ( (binary_expression "opname[1] == '_'" (subscript_expression "opname[1]" identifier [ number_literal ]) == (char_literal "'_'" ' character ')) )) (compound_statement "{\n      bVar10 = opname[2];\n      if ((bVar10 != 0x6f) || (opname[3] != 'p')) {\n        if (((_sch_istable[bVar10] & 8) != 0) && ((_sch_istable[(byte)opname[3]] & 8) != 0)) {\n          if (opname[4] == '\0') {\n            psVar8 = &DAT_002a0b15;\n            poVar7 = optable;\n            iVar6 = 0;\n            sVar1 = 2;\n            while( true ) {\n              poVar7 = poVar7 + 1;\n              if ((sVar1 == 2) && (*psVar8 == *(short *)(opname + 2))) goto LAB_001d112b;\n              iVar6 = iVar6 + 1;\n              if (iVar6 == 0x4f) break;\n              psVar8 = (short *)poVar7->in;\n              sVar1 = strlen((char *)psVar8);\n            }\n          }\n          else if ((bVar10 == 0x61) && (opname[5] == '\0')) {\n            poVar7 = optable + 1;\n            iVar6 = 0;\n            do {\n              iVar6 = iVar6 + 1;\n              if (iVar6 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)poVar7->in;\n              poVar7 = poVar7 + 1;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)(opname + 2))) ||\n                    ((char)psVar8[1] != opname[4]));\nLAB_001d112b:\n            builtin_strncpy(result,"operator",9);\nLAB_001d0f9a:\n            strcpy(result + 8,optable[iVar6].out);\n            iVar6 = 1;\n            goto LAB_001d0eb5;\n          }\n          goto LAB_001d0eb3;\n        }\n        goto LAB_001d0fca;\n      }\n      pcVar2 = opname + 4;\nLAB_001d100a:\n      tem = pcVar2;\n      iVar6 = do_type(work,&tem,&type);\n      if (iVar6 != 0) {\n        sVar1 = strlen(result);\n        builtin_strncpy(result + sVar1,"operator ",10);\n        strncat(result,type.b,(int)type.p - (int)type.b);\n        free(type.b);\n        type.p = (char *)0x0;\n        iVar6 = 1;\n        type.e = (char *)0x0;\n        type.b = (char *)0x0;\n        goto LAB_001d0eb5;\n      }\n    }" { (expression_statement "bVar10 = opname[2];" (assignment_expression "bVar10 = opname[2]" identifier = (subscript_expression "opname[2]" identifier [ number_literal ])) ;) (if_statement "if ((bVar10 != 0x6f) || (opname[3] != 'p')) {\n        if (((_sch_istable[bVar10] & 8) != 0) && ((_sch_istable[(byte)opname[3]] & 8) != 0)) {\n          if (opname[4] == '\0') {\n            psVar8 = &DAT_002a0b15;\n            poVar7 = optable;\n            iVar6 = 0;\n            sVar1 = 2;\n            while( true ) {\n              poVar7 = poVar7 + 1;\n              if ((sVar1 == 2) && (*psVar8 == *(short *)(opname + 2))) goto LAB_001d112b;\n              iVar6 = iVar6 + 1;\n              if (iVar6 == 0x4f) break;\n              psVar8 = (short *)poVar7->in;\n              sVar1 = strlen((char *)psVar8);\n            }\n          }\n          else if ((bVar10 == 0x61) && (opname[5] == '\0')) {\n            poVar7 = optable + 1;\n            iVar6 = 0;\n            do {\n              iVar6 = iVar6 + 1;\n              if (iVar6 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)poVar7->in;\n              poVar7 = poVar7 + 1;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)(opname + 2))) ||\n                    ((char)psVar8[1] != opname[4]));\nLAB_001d112b:\n            builtin_strncpy(result,"operator",9);\nLAB_001d0f9a:\n            strcpy(result + 8,optable[iVar6].out);\n            iVar6 = 1;\n            goto LAB_001d0eb5;\n          }\n          goto LAB_001d0eb3;\n        }\n        goto LAB_001d0fca;\n      }" if (parenthesized_expression "((bVar10 != 0x6f) || (opname[3] != 'p'))" ( (binary_expression "(bVar10 != 0x6f) || (opname[3] != 'p')" (parenthesized_expression "(bVar10 != 0x6f)" ( (binary_expression "bVar10 != 0x6f" identifier != number_literal) )) || (parenthesized_expression "(opname[3] != 'p')" ( (binary_expression "opname[3] != 'p'" (subscript_expression "opname[3]" identifier [ number_literal ]) != (char_literal "'p'" ' character ')) ))) )) (compound_statement "{\n        if (((_sch_istable[bVar10] & 8) != 0) && ((_sch_istable[(byte)opname[3]] & 8) != 0)) {\n          if (opname[4] == '\0') {\n            psVar8 = &DAT_002a0b15;\n            poVar7 = optable;\n            iVar6 = 0;\n            sVar1 = 2;\n            while( true ) {\n              poVar7 = poVar7 + 1;\n              if ((sVar1 == 2) && (*psVar8 == *(short *)(opname + 2))) goto LAB_001d112b;\n              iVar6 = iVar6 + 1;\n              if (iVar6 == 0x4f) break;\n              psVar8 = (short *)poVar7->in;\n              sVar1 = strlen((char *)psVar8);\n            }\n          }\n          else if ((bVar10 == 0x61) && (opname[5] == '\0')) {\n            poVar7 = optable + 1;\n            iVar6 = 0;\n            do {\n              iVar6 = iVar6 + 1;\n              if (iVar6 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)poVar7->in;\n              poVar7 = poVar7 + 1;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)(opname + 2))) ||\n                    ((char)psVar8[1] != opname[4]));\nLAB_001d112b:\n            builtin_strncpy(result,"operator",9);\nLAB_001d0f9a:\n            strcpy(result + 8,optable[iVar6].out);\n            iVar6 = 1;\n            goto LAB_001d0eb5;\n          }\n          goto LAB_001d0eb3;\n        }\n        goto LAB_001d0fca;\n      }" { (if_statement "if (((_sch_istable[bVar10] & 8) != 0) && ((_sch_istable[(byte)opname[3]] & 8) != 0)) {\n          if (opname[4] == '\0') {\n            psVar8 = &DAT_002a0b15;\n            poVar7 = optable;\n            iVar6 = 0;\n            sVar1 = 2;\n            while( true ) {\n              poVar7 = poVar7 + 1;\n              if ((sVar1 == 2) && (*psVar8 == *(short *)(opname + 2))) goto LAB_001d112b;\n              iVar6 = iVar6 + 1;\n              if (iVar6 == 0x4f) break;\n              psVar8 = (short *)poVar7->in;\n              sVar1 = strlen((char *)psVar8);\n            }\n          }\n          else if ((bVar10 == 0x61) && (opname[5] == '\0')) {\n            poVar7 = optable + 1;\n            iVar6 = 0;\n            do {\n              iVar6 = iVar6 + 1;\n              if (iVar6 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)poVar7->in;\n              poVar7 = poVar7 + 1;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)(opname + 2))) ||\n                    ((char)psVar8[1] != opname[4]));\nLAB_001d112b:\n            builtin_strncpy(result,"operator",9);\nLAB_001d0f9a:\n            strcpy(result + 8,optable[iVar6].out);\n            iVar6 = 1;\n            goto LAB_001d0eb5;\n          }\n          goto LAB_001d0eb3;\n        }" if (parenthesized_expression "(((_sch_istable[bVar10] & 8) != 0) && ((_sch_istable[(byte)opname[3]] & 8) != 0))" ( (binary_expression "((_sch_istable[bVar10] & 8) != 0) && ((_sch_istable[(byte)opname[3]] & 8) != 0)" (parenthesized_expression "((_sch_istable[bVar10] & 8) != 0)" ( (binary_expression "(_sch_istable[bVar10] & 8) != 0" (parenthesized_expression "(_sch_istable[bVar10] & 8)" ( (binary_expression "_sch_istable[bVar10] & 8" (subscript_expression "_sch_istable[bVar10]" identifier [ identifier ]) & number_literal) )) != number_literal) )) && (parenthesized_expression "((_sch_istable[(byte)opname[3]] & 8) != 0)" ( (binary_expression "(_sch_istable[(byte)opname[3]] & 8) != 0" (parenthesized_expression "(_sch_istable[(byte)opname[3]] & 8)" ( (binary_expression "_sch_istable[(byte)opname[3]] & 8" (subscript_expression "_sch_istable[(byte)opname[3]]" identifier [ (cast_expression "(byte)opname[3]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "opname[3]" identifier [ number_literal ])) ]) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n          if (opname[4] == '\0') {\n            psVar8 = &DAT_002a0b15;\n            poVar7 = optable;\n            iVar6 = 0;\n            sVar1 = 2;\n            while( true ) {\n              poVar7 = poVar7 + 1;\n              if ((sVar1 == 2) && (*psVar8 == *(short *)(opname + 2))) goto LAB_001d112b;\n              iVar6 = iVar6 + 1;\n              if (iVar6 == 0x4f) break;\n              psVar8 = (short *)poVar7->in;\n              sVar1 = strlen((char *)psVar8);\n            }\n          }\n          else if ((bVar10 == 0x61) && (opname[5] == '\0')) {\n            poVar7 = optable + 1;\n            iVar6 = 0;\n            do {\n              iVar6 = iVar6 + 1;\n              if (iVar6 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)poVar7->in;\n              poVar7 = poVar7 + 1;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)(opname + 2))) ||\n                    ((char)psVar8[1] != opname[4]));\nLAB_001d112b:\n            builtin_strncpy(result,"operator",9);\nLAB_001d0f9a:\n            strcpy(result + 8,optable[iVar6].out);\n            iVar6 = 1;\n            goto LAB_001d0eb5;\n          }\n          goto LAB_001d0eb3;\n        }" { (if_statement "if (opname[4] == '\0') {\n            psVar8 = &DAT_002a0b15;\n            poVar7 = optable;\n            iVar6 = 0;\n            sVar1 = 2;\n            while( true ) {\n              poVar7 = poVar7 + 1;\n              if ((sVar1 == 2) && (*psVar8 == *(short *)(opname + 2))) goto LAB_001d112b;\n              iVar6 = iVar6 + 1;\n              if (iVar6 == 0x4f) break;\n              psVar8 = (short *)poVar7->in;\n              sVar1 = strlen((char *)psVar8);\n            }\n          }\n          else if ((bVar10 == 0x61) && (opname[5] == '\0')) {\n            poVar7 = optable + 1;\n            iVar6 = 0;\n            do {\n              iVar6 = iVar6 + 1;\n              if (iVar6 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)poVar7->in;\n              poVar7 = poVar7 + 1;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)(opname + 2))) ||\n                    ((char)psVar8[1] != opname[4]));\nLAB_001d112b:\n            builtin_strncpy(result,"operator",9);\nLAB_001d0f9a:\n            strcpy(result + 8,optable[iVar6].out);\n            iVar6 = 1;\n            goto LAB_001d0eb5;\n          }" if (parenthesized_expression "(opname[4] == '\0')" ( (binary_expression "opname[4] == '\0'" (subscript_expression "opname[4]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            psVar8 = &DAT_002a0b15;\n            poVar7 = optable;\n            iVar6 = 0;\n            sVar1 = 2;\n            while( true ) {\n              poVar7 = poVar7 + 1;\n              if ((sVar1 == 2) && (*psVar8 == *(short *)(opname + 2))) goto LAB_001d112b;\n              iVar6 = iVar6 + 1;\n              if (iVar6 == 0x4f) break;\n              psVar8 = (short *)poVar7->in;\n              sVar1 = strlen((char *)psVar8);\n            }\n          }" { (expression_statement "psVar8 = &DAT_002a0b15;" (assignment_expression "psVar8 = &DAT_002a0b15" identifier = (pointer_expression "&DAT_002a0b15" & identifier)) ;) (expression_statement "poVar7 = optable;" (assignment_expression "poVar7 = optable" identifier = identifier) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (expression_statement "sVar1 = 2;" (assignment_expression "sVar1 = 2" identifier = number_literal) ;) (while_statement "while( true ) {\n              poVar7 = poVar7 + 1;\n              if ((sVar1 == 2) && (*psVar8 == *(short *)(opname + 2))) goto LAB_001d112b;\n              iVar6 = iVar6 + 1;\n              if (iVar6 == 0x4f) break;\n              psVar8 = (short *)poVar7->in;\n              sVar1 = strlen((char *)psVar8);\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              poVar7 = poVar7 + 1;\n              if ((sVar1 == 2) && (*psVar8 == *(short *)(opname + 2))) goto LAB_001d112b;\n              iVar6 = iVar6 + 1;\n              if (iVar6 == 0x4f) break;\n              psVar8 = (short *)poVar7->in;\n              sVar1 = strlen((char *)psVar8);\n            }" { (expression_statement "poVar7 = poVar7 + 1;" (assignment_expression "poVar7 = poVar7 + 1" identifier = (binary_expression "poVar7 + 1" identifier + number_literal)) ;) (if_statement "if ((sVar1 == 2) && (*psVar8 == *(short *)(opname + 2))) goto LAB_001d112b;" if (parenthesized_expression "((sVar1 == 2) && (*psVar8 == *(short *)(opname + 2)))" ( (binary_expression "(sVar1 == 2) && (*psVar8 == *(short *)(opname + 2))" (parenthesized_expression "(sVar1 == 2)" ( (binary_expression "sVar1 == 2" identifier == number_literal) )) && (parenthesized_expression "(*psVar8 == *(short *)(opname + 2))" ( (binary_expression "*psVar8 == *(short *)(opname + 2)" (pointer_expression "*psVar8" * identifier) == (pointer_expression "*(short *)(opname + 2)" * (cast_expression "(short *)(opname + 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(opname + 2)" ( (binary_expression "opname + 2" identifier + number_literal) ))))) ))) )) (goto_statement "goto LAB_001d112b;" goto statement_identifier ;)) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (if_statement "if (iVar6 == 0x4f) break;" if (parenthesized_expression "(iVar6 == 0x4f)" ( (binary_expression "iVar6 == 0x4f" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "psVar8 = (short *)poVar7->in;" (assignment_expression "psVar8 = (short *)poVar7->in" identifier = (cast_expression "(short *)poVar7->in" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (field_expression "poVar7->in" identifier -> field_identifier))) ;) (expression_statement "sVar1 = strlen((char *)psVar8);" (assignment_expression "sVar1 = strlen((char *)psVar8)" identifier = (call_expression "strlen((char *)psVar8)" identifier (argument_list "((char *)psVar8)" ( (cast_expression "(char *)psVar8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) })) }) (else_clause "else if ((bVar10 == 0x61) && (opname[5] == '\0')) {\n            poVar7 = optable + 1;\n            iVar6 = 0;\n            do {\n              iVar6 = iVar6 + 1;\n              if (iVar6 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)poVar7->in;\n              poVar7 = poVar7 + 1;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)(opname + 2))) ||\n                    ((char)psVar8[1] != opname[4]));\nLAB_001d112b:\n            builtin_strncpy(result,"operator",9);\nLAB_001d0f9a:\n            strcpy(result + 8,optable[iVar6].out);\n            iVar6 = 1;\n            goto LAB_001d0eb5;\n          }" else (if_statement "if ((bVar10 == 0x61) && (opname[5] == '\0')) {\n            poVar7 = optable + 1;\n            iVar6 = 0;\n            do {\n              iVar6 = iVar6 + 1;\n              if (iVar6 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)poVar7->in;\n              poVar7 = poVar7 + 1;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)(opname + 2))) ||\n                    ((char)psVar8[1] != opname[4]));\nLAB_001d112b:\n            builtin_strncpy(result,"operator",9);\nLAB_001d0f9a:\n            strcpy(result + 8,optable[iVar6].out);\n            iVar6 = 1;\n            goto LAB_001d0eb5;\n          }" if (parenthesized_expression "((bVar10 == 0x61) && (opname[5] == '\0'))" ( (binary_expression "(bVar10 == 0x61) && (opname[5] == '\0')" (parenthesized_expression "(bVar10 == 0x61)" ( (binary_expression "bVar10 == 0x61" identifier == number_literal) )) && (parenthesized_expression "(opname[5] == '\0')" ( (binary_expression "opname[5] == '\0'" (subscript_expression "opname[5]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n            poVar7 = optable + 1;\n            iVar6 = 0;\n            do {\n              iVar6 = iVar6 + 1;\n              if (iVar6 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)poVar7->in;\n              poVar7 = poVar7 + 1;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)(opname + 2))) ||\n                    ((char)psVar8[1] != opname[4]));\nLAB_001d112b:\n            builtin_strncpy(result,"operator",9);\nLAB_001d0f9a:\n            strcpy(result + 8,optable[iVar6].out);\n            iVar6 = 1;\n            goto LAB_001d0eb5;\n          }" { (expression_statement "poVar7 = optable + 1;" (assignment_expression "poVar7 = optable + 1" identifier = (binary_expression "optable + 1" identifier + number_literal)) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (do_statement "do {\n              iVar6 = iVar6 + 1;\n              if (iVar6 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)poVar7->in;\n              poVar7 = poVar7 + 1;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)(opname + 2))) ||\n                    ((char)psVar8[1] != opname[4]));" do (compound_statement "{\n              iVar6 = iVar6 + 1;\n              if (iVar6 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)poVar7->in;\n              poVar7 = poVar7 + 1;\n              sVar1 = strlen((char *)psVar8);\n            }" { (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (if_statement "if (iVar6 == 0x4f) goto LAB_001d0eb3;" if (parenthesized_expression "(iVar6 == 0x4f)" ( (binary_expression "iVar6 == 0x4f" identifier == number_literal) )) (goto_statement "goto LAB_001d0eb3;" goto statement_identifier ;)) (expression_statement "psVar8 = (short *)poVar7->in;" (assignment_expression "psVar8 = (short *)poVar7->in" identifier = (cast_expression "(short *)poVar7->in" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (field_expression "poVar7->in" identifier -> field_identifier))) ;) (expression_statement "poVar7 = poVar7 + 1;" (assignment_expression "poVar7 = poVar7 + 1" identifier = (binary_expression "poVar7 + 1" identifier + number_literal)) ;) (expression_statement "sVar1 = strlen((char *)psVar8);" (assignment_expression "sVar1 = strlen((char *)psVar8)" identifier = (call_expression "strlen((char *)psVar8)" identifier (argument_list "((char *)psVar8)" ( (cast_expression "(char *)psVar8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) }) while (parenthesized_expression "(((sVar1 != 3) || (*psVar8 != *(short *)(opname + 2))) ||\n                    ((char)psVar8[1] != opname[4]))" ( (binary_expression "((sVar1 != 3) || (*psVar8 != *(short *)(opname + 2))) ||\n                    ((char)psVar8[1] != opname[4])" (parenthesized_expression "((sVar1 != 3) || (*psVar8 != *(short *)(opname + 2)))" ( (binary_expression "(sVar1 != 3) || (*psVar8 != *(short *)(opname + 2))" (parenthesized_expression "(sVar1 != 3)" ( (binary_expression "sVar1 != 3" identifier != number_literal) )) || (parenthesized_expression "(*psVar8 != *(short *)(opname + 2))" ( (binary_expression "*psVar8 != *(short *)(opname + 2)" (pointer_expression "*psVar8" * identifier) != (pointer_expression "*(short *)(opname + 2)" * (cast_expression "(short *)(opname + 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(opname + 2)" ( (binary_expression "opname + 2" identifier + number_literal) ))))) ))) )) || (parenthesized_expression "((char)psVar8[1] != opname[4])" ( (binary_expression "(char)psVar8[1] != opname[4]" (cast_expression "(char)psVar8[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "psVar8[1]" identifier [ number_literal ])) != (subscript_expression "opname[4]" identifier [ number_literal ])) ))) )) ;) (labeled_statement "LAB_001d112b:\n            builtin_strncpy(result,"operator",9);" statement_identifier : (expression_statement "builtin_strncpy(result,"operator",9);" (call_expression "builtin_strncpy(result,"operator",9)" identifier (argument_list "(result,"operator",9)" ( identifier , (string_literal ""operator"" " string_content ") , number_literal ))) ;)) (labeled_statement "LAB_001d0f9a:\n            strcpy(result + 8,optable[iVar6].out);" statement_identifier : (expression_statement "strcpy(result + 8,optable[iVar6].out);" (call_expression "strcpy(result + 8,optable[iVar6].out)" identifier (argument_list "(result + 8,optable[iVar6].out)" ( (binary_expression "result + 8" identifier + number_literal) , (field_expression "optable[iVar6].out" (subscript_expression "optable[iVar6]" identifier [ identifier ]) . field_identifier) ))) ;)) (expression_statement "iVar6 = 1;" (assignment_expression "iVar6 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_001d0eb5;" goto statement_identifier ;) })))) (goto_statement "goto LAB_001d0eb3;" goto statement_identifier ;) })) (goto_statement "goto LAB_001d0fca;" goto statement_identifier ;) })) (expression_statement "pcVar2 = opname + 4;" (assignment_expression "pcVar2 = opname + 4" identifier = (binary_expression "opname + 4" identifier + number_literal)) ;) (labeled_statement "LAB_001d100a:\n      tem = pcVar2;" statement_identifier : (expression_statement "tem = pcVar2;" (assignment_expression "tem = pcVar2" identifier = identifier) ;)) (expression_statement "iVar6 = do_type(work,&tem,&type);" (assignment_expression "iVar6 = do_type(work,&tem,&type)" identifier = (call_expression "do_type(work,&tem,&type)" identifier (argument_list "(work,&tem,&type)" ( identifier , (pointer_expression "&tem" & identifier) , (pointer_expression "&type" & identifier) )))) ;) (if_statement "if (iVar6 != 0) {\n        sVar1 = strlen(result);\n        builtin_strncpy(result + sVar1,"operator ",10);\n        strncat(result,type.b,(int)type.p - (int)type.b);\n        free(type.b);\n        type.p = (char *)0x0;\n        iVar6 = 1;\n        type.e = (char *)0x0;\n        type.b = (char *)0x0;\n        goto LAB_001d0eb5;\n      }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n        sVar1 = strlen(result);\n        builtin_strncpy(result + sVar1,"operator ",10);\n        strncat(result,type.b,(int)type.p - (int)type.b);\n        free(type.b);\n        type.p = (char *)0x0;\n        iVar6 = 1;\n        type.e = (char *)0x0;\n        type.b = (char *)0x0;\n        goto LAB_001d0eb5;\n      }" { (expression_statement "sVar1 = strlen(result);" (assignment_expression "sVar1 = strlen(result)" identifier = (call_expression "strlen(result)" identifier (argument_list "(result)" ( identifier )))) ;) (expression_statement "builtin_strncpy(result + sVar1,"operator ",10);" (call_expression "builtin_strncpy(result + sVar1,"operator ",10)" identifier (argument_list "(result + sVar1,"operator ",10)" ( (binary_expression "result + sVar1" identifier + identifier) , (string_literal ""operator "" " string_content ") , number_literal ))) ;) (expression_statement "strncat(result,type.b,(int)type.p - (int)type.b);" (call_expression "strncat(result,type.b,(int)type.p - (int)type.b)" identifier (argument_list "(result,type.b,(int)type.p - (int)type.b)" ( identifier , (field_expression "type.b" identifier . field_identifier) , (binary_expression "(int)type.p - (int)type.b" (cast_expression "(int)type.p" ( (type_descriptor "int" primitive_type) ) (field_expression "type.p" identifier . field_identifier)) - (cast_expression "(int)type.b" ( (type_descriptor "int" primitive_type) ) (field_expression "type.b" identifier . field_identifier))) ))) ;) (expression_statement "free(type.b);" (call_expression "free(type.b)" identifier (argument_list "(type.b)" ( (field_expression "type.b" identifier . field_identifier) ))) ;) (expression_statement "type.p = (char *)0x0;" (assignment_expression "type.p = (char *)0x0" (field_expression "type.p" identifier . field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar6 = 1;" (assignment_expression "iVar6 = 1" identifier = number_literal) ;) (expression_statement "type.e = (char *)0x0;" (assignment_expression "type.e = (char *)0x0" (field_expression "type.e" identifier . field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "type.b = (char *)0x0;" (assignment_expression "type.b = (char *)0x0" (field_expression "type.b" identifier . field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_001d0eb5;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_001d0fca:\n      if (2 < sVar1) goto LAB_001d0fd3;\n    }" else (compound_statement "{\nLAB_001d0fca:\n      if (2 < sVar1) goto LAB_001d0fd3;\n    }" { (labeled_statement "LAB_001d0fca:\n      if (2 < sVar1) goto LAB_001d0fd3;" statement_identifier : (if_statement "if (2 < sVar1) goto LAB_001d0fd3;" if (parenthesized_expression "(2 < sVar1)" ( (binary_expression "2 < sVar1" number_literal < identifier) )) (goto_statement "goto LAB_001d0fd3;" goto statement_identifier ;))) }))) }) (else_clause "else if (2 < sVar1) {\n    if (((*opname == 'o') && (opname[1] == 'p')) &&\n       (pcVar2 = strchr(cplus_markers,(int)opname[2]), pcVar2 != (char *)0x0)) {\n      if ((((sVar1 < 10) || (*(int *)(opname + 3) != 0x69737361)) ||\n          (*(short *)(opname + 7) != 0x6e67)) || (opname[9] != '_')) {\n        pcVar2 = "nw";\n        iVar6 = 0;\n        poVar7 = optable;\n        sVar3 = 2;\n        while( true ) {\n          poVar7 = poVar7 + 1;\n          if ((sVar1 - 3 == sVar3) && (iVar4 = memcmp(pcVar2,opname + 3,sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(result,"operator",9);\n            goto LAB_001d0f9a;\n          }\n          iVar6 = iVar6 + 1;\n          if (iVar6 == 0x4f) break;\n          pcVar2 = poVar7->in;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n      else {\n        pcVar2 = "nw";\n        iVar6 = 0;\n        poVar7 = optable;\n        sVar3 = 2;\n        while( true ) {\n          poVar7 = poVar7 + 1;\n          if ((sVar3 == sVar1 - 10) && (iVar4 = memcmp(pcVar2,opname + 10,sVar3), iVar4 == 0)) {\n            builtin_strncpy(result,"operator",9);\n            pcVar2 = stpcpy(result + 8,optable[iVar6].out);\n            iVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar6 = iVar6 + 1;\n          if (iVar6 == 0x4f) break;\n          pcVar2 = poVar7->in;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n    }\n    else {\nLAB_001d0fd3:\n      if ((4 < sVar1) && (*(int *)opname == 0x65707974)) {\n        pcVar2 = opname + 5;\n        pcVar5 = strchr(cplus_markers,(int)opname[4]);\n        if (pcVar5 != (char *)0x0) goto LAB_001d100a;\n      }\n    }\n  }" else (if_statement "if (2 < sVar1) {\n    if (((*opname == 'o') && (opname[1] == 'p')) &&\n       (pcVar2 = strchr(cplus_markers,(int)opname[2]), pcVar2 != (char *)0x0)) {\n      if ((((sVar1 < 10) || (*(int *)(opname + 3) != 0x69737361)) ||\n          (*(short *)(opname + 7) != 0x6e67)) || (opname[9] != '_')) {\n        pcVar2 = "nw";\n        iVar6 = 0;\n        poVar7 = optable;\n        sVar3 = 2;\n        while( true ) {\n          poVar7 = poVar7 + 1;\n          if ((sVar1 - 3 == sVar3) && (iVar4 = memcmp(pcVar2,opname + 3,sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(result,"operator",9);\n            goto LAB_001d0f9a;\n          }\n          iVar6 = iVar6 + 1;\n          if (iVar6 == 0x4f) break;\n          pcVar2 = poVar7->in;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n      else {\n        pcVar2 = "nw";\n        iVar6 = 0;\n        poVar7 = optable;\n        sVar3 = 2;\n        while( true ) {\n          poVar7 = poVar7 + 1;\n          if ((sVar3 == sVar1 - 10) && (iVar4 = memcmp(pcVar2,opname + 10,sVar3), iVar4 == 0)) {\n            builtin_strncpy(result,"operator",9);\n            pcVar2 = stpcpy(result + 8,optable[iVar6].out);\n            iVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar6 = iVar6 + 1;\n          if (iVar6 == 0x4f) break;\n          pcVar2 = poVar7->in;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n    }\n    else {\nLAB_001d0fd3:\n      if ((4 < sVar1) && (*(int *)opname == 0x65707974)) {\n        pcVar2 = opname + 5;\n        pcVar5 = strchr(cplus_markers,(int)opname[4]);\n        if (pcVar5 != (char *)0x0) goto LAB_001d100a;\n      }\n    }\n  }" if (parenthesized_expression "(2 < sVar1)" ( (binary_expression "2 < sVar1" number_literal < identifier) )) (compound_statement "{\n    if (((*opname == 'o') && (opname[1] == 'p')) &&\n       (pcVar2 = strchr(cplus_markers,(int)opname[2]), pcVar2 != (char *)0x0)) {\n      if ((((sVar1 < 10) || (*(int *)(opname + 3) != 0x69737361)) ||\n          (*(short *)(opname + 7) != 0x6e67)) || (opname[9] != '_')) {\n        pcVar2 = "nw";\n        iVar6 = 0;\n        poVar7 = optable;\n        sVar3 = 2;\n        while( true ) {\n          poVar7 = poVar7 + 1;\n          if ((sVar1 - 3 == sVar3) && (iVar4 = memcmp(pcVar2,opname + 3,sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(result,"operator",9);\n            goto LAB_001d0f9a;\n          }\n          iVar6 = iVar6 + 1;\n          if (iVar6 == 0x4f) break;\n          pcVar2 = poVar7->in;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n      else {\n        pcVar2 = "nw";\n        iVar6 = 0;\n        poVar7 = optable;\n        sVar3 = 2;\n        while( true ) {\n          poVar7 = poVar7 + 1;\n          if ((sVar3 == sVar1 - 10) && (iVar4 = memcmp(pcVar2,opname + 10,sVar3), iVar4 == 0)) {\n            builtin_strncpy(result,"operator",9);\n            pcVar2 = stpcpy(result + 8,optable[iVar6].out);\n            iVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar6 = iVar6 + 1;\n          if (iVar6 == 0x4f) break;\n          pcVar2 = poVar7->in;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n    }\n    else {\nLAB_001d0fd3:\n      if ((4 < sVar1) && (*(int *)opname == 0x65707974)) {\n        pcVar2 = opname + 5;\n        pcVar5 = strchr(cplus_markers,(int)opname[4]);\n        if (pcVar5 != (char *)0x0) goto LAB_001d100a;\n      }\n    }\n  }" { (if_statement "if (((*opname == 'o') && (opname[1] == 'p')) &&\n       (pcVar2 = strchr(cplus_markers,(int)opname[2]), pcVar2 != (char *)0x0)) {\n      if ((((sVar1 < 10) || (*(int *)(opname + 3) != 0x69737361)) ||\n          (*(short *)(opname + 7) != 0x6e67)) || (opname[9] != '_')) {\n        pcVar2 = "nw";\n        iVar6 = 0;\n        poVar7 = optable;\n        sVar3 = 2;\n        while( true ) {\n          poVar7 = poVar7 + 1;\n          if ((sVar1 - 3 == sVar3) && (iVar4 = memcmp(pcVar2,opname + 3,sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(result,"operator",9);\n            goto LAB_001d0f9a;\n          }\n          iVar6 = iVar6 + 1;\n          if (iVar6 == 0x4f) break;\n          pcVar2 = poVar7->in;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n      else {\n        pcVar2 = "nw";\n        iVar6 = 0;\n        poVar7 = optable;\n        sVar3 = 2;\n        while( true ) {\n          poVar7 = poVar7 + 1;\n          if ((sVar3 == sVar1 - 10) && (iVar4 = memcmp(pcVar2,opname + 10,sVar3), iVar4 == 0)) {\n            builtin_strncpy(result,"operator",9);\n            pcVar2 = stpcpy(result + 8,optable[iVar6].out);\n            iVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar6 = iVar6 + 1;\n          if (iVar6 == 0x4f) break;\n          pcVar2 = poVar7->in;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n    }\n    else {\nLAB_001d0fd3:\n      if ((4 < sVar1) && (*(int *)opname == 0x65707974)) {\n        pcVar2 = opname + 5;\n        pcVar5 = strchr(cplus_markers,(int)opname[4]);\n        if (pcVar5 != (char *)0x0) goto LAB_001d100a;\n      }\n    }" if (parenthesized_expression "(((*opname == 'o') && (opname[1] == 'p')) &&\n       (pcVar2 = strchr(cplus_markers,(int)opname[2]), pcVar2 != (char *)0x0))" ( (binary_expression "((*opname == 'o') && (opname[1] == 'p')) &&\n       (pcVar2 = strchr(cplus_markers,(int)opname[2]), pcVar2 != (char *)0x0)" (parenthesized_expression "((*opname == 'o') && (opname[1] == 'p'))" ( (binary_expression "(*opname == 'o') && (opname[1] == 'p')" (parenthesized_expression "(*opname == 'o')" ( (binary_expression "*opname == 'o'" (pointer_expression "*opname" * identifier) == (char_literal "'o'" ' character ')) )) && (parenthesized_expression "(opname[1] == 'p')" ( (binary_expression "opname[1] == 'p'" (subscript_expression "opname[1]" identifier [ number_literal ]) == (char_literal "'p'" ' character ')) ))) )) && (parenthesized_expression "(pcVar2 = strchr(cplus_markers,(int)opname[2]), pcVar2 != (char *)0x0)" ( (comma_expression "pcVar2 = strchr(cplus_markers,(int)opname[2]), pcVar2 != (char *)0x0" (assignment_expression "pcVar2 = strchr(cplus_markers,(int)opname[2])" identifier = (call_expression "strchr(cplus_markers,(int)opname[2])" identifier (argument_list "(cplus_markers,(int)opname[2])" ( identifier , (cast_expression "(int)opname[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "opname[2]" identifier [ number_literal ])) )))) , (binary_expression "pcVar2 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n      if ((((sVar1 < 10) || (*(int *)(opname + 3) != 0x69737361)) ||\n          (*(short *)(opname + 7) != 0x6e67)) || (opname[9] != '_')) {\n        pcVar2 = "nw";\n        iVar6 = 0;\n        poVar7 = optable;\n        sVar3 = 2;\n        while( true ) {\n          poVar7 = poVar7 + 1;\n          if ((sVar1 - 3 == sVar3) && (iVar4 = memcmp(pcVar2,opname + 3,sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(result,"operator",9);\n            goto LAB_001d0f9a;\n          }\n          iVar6 = iVar6 + 1;\n          if (iVar6 == 0x4f) break;\n          pcVar2 = poVar7->in;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n      else {\n        pcVar2 = "nw";\n        iVar6 = 0;\n        poVar7 = optable;\n        sVar3 = 2;\n        while( true ) {\n          poVar7 = poVar7 + 1;\n          if ((sVar3 == sVar1 - 10) && (iVar4 = memcmp(pcVar2,opname + 10,sVar3), iVar4 == 0)) {\n            builtin_strncpy(result,"operator",9);\n            pcVar2 = stpcpy(result + 8,optable[iVar6].out);\n            iVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar6 = iVar6 + 1;\n          if (iVar6 == 0x4f) break;\n          pcVar2 = poVar7->in;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n    }" { (if_statement "if ((((sVar1 < 10) || (*(int *)(opname + 3) != 0x69737361)) ||\n          (*(short *)(opname + 7) != 0x6e67)) || (opname[9] != '_')) {\n        pcVar2 = "nw";\n        iVar6 = 0;\n        poVar7 = optable;\n        sVar3 = 2;\n        while( true ) {\n          poVar7 = poVar7 + 1;\n          if ((sVar1 - 3 == sVar3) && (iVar4 = memcmp(pcVar2,opname + 3,sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(result,"operator",9);\n            goto LAB_001d0f9a;\n          }\n          iVar6 = iVar6 + 1;\n          if (iVar6 == 0x4f) break;\n          pcVar2 = poVar7->in;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n      else {\n        pcVar2 = "nw";\n        iVar6 = 0;\n        poVar7 = optable;\n        sVar3 = 2;\n        while( true ) {\n          poVar7 = poVar7 + 1;\n          if ((sVar3 == sVar1 - 10) && (iVar4 = memcmp(pcVar2,opname + 10,sVar3), iVar4 == 0)) {\n            builtin_strncpy(result,"operator",9);\n            pcVar2 = stpcpy(result + 8,optable[iVar6].out);\n            iVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar6 = iVar6 + 1;\n          if (iVar6 == 0x4f) break;\n          pcVar2 = poVar7->in;\n          sVar3 = strlen(pcVar2);\n        }\n      }" if (parenthesized_expression "((((sVar1 < 10) || (*(int *)(opname + 3) != 0x69737361)) ||\n          (*(short *)(opname + 7) != 0x6e67)) || (opname[9] != '_'))" ( (binary_expression "(((sVar1 < 10) || (*(int *)(opname + 3) != 0x69737361)) ||\n          (*(short *)(opname + 7) != 0x6e67)) || (opname[9] != '_')" (parenthesized_expression "(((sVar1 < 10) || (*(int *)(opname + 3) != 0x69737361)) ||\n          (*(short *)(opname + 7) != 0x6e67))" ( (binary_expression "((sVar1 < 10) || (*(int *)(opname + 3) != 0x69737361)) ||\n          (*(short *)(opname + 7) != 0x6e67)" (parenthesized_expression "((sVar1 < 10) || (*(int *)(opname + 3) != 0x69737361))" ( (binary_expression "(sVar1 < 10) || (*(int *)(opname + 3) != 0x69737361)" (parenthesized_expression "(sVar1 < 10)" ( (binary_expression "sVar1 < 10" identifier < number_literal) )) || (parenthesized_expression "(*(int *)(opname + 3) != 0x69737361)" ( (binary_expression "*(int *)(opname + 3) != 0x69737361" (pointer_expression "*(int *)(opname + 3)" * (cast_expression "(int *)(opname + 3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(opname + 3)" ( (binary_expression "opname + 3" identifier + number_literal) )))) != number_literal) ))) )) || (parenthesized_expression "(*(short *)(opname + 7) != 0x6e67)" ( (binary_expression "*(short *)(opname + 7) != 0x6e67" (pointer_expression "*(short *)(opname + 7)" * (cast_expression "(short *)(opname + 7)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(opname + 7)" ( (binary_expression "opname + 7" identifier + number_literal) )))) != number_literal) ))) )) || (parenthesized_expression "(opname[9] != '_')" ( (binary_expression "opname[9] != '_'" (subscript_expression "opname[9]" identifier [ number_literal ]) != (char_literal "'_'" ' character ')) ))) )) (compound_statement "{\n        pcVar2 = "nw";\n        iVar6 = 0;\n        poVar7 = optable;\n        sVar3 = 2;\n        while( true ) {\n          poVar7 = poVar7 + 1;\n          if ((sVar1 - 3 == sVar3) && (iVar4 = memcmp(pcVar2,opname + 3,sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(result,"operator",9);\n            goto LAB_001d0f9a;\n          }\n          iVar6 = iVar6 + 1;\n          if (iVar6 == 0x4f) break;\n          pcVar2 = poVar7->in;\n          sVar3 = strlen(pcVar2);\n        }\n      }" { (expression_statement "pcVar2 = "nw";" (assignment_expression "pcVar2 = "nw"" identifier = (string_literal ""nw"" " string_content ")) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (expression_statement "poVar7 = optable;" (assignment_expression "poVar7 = optable" identifier = identifier) ;) (expression_statement "sVar3 = 2;" (assignment_expression "sVar3 = 2" identifier = number_literal) ;) (while_statement "while( true ) {\n          poVar7 = poVar7 + 1;\n          if ((sVar1 - 3 == sVar3) && (iVar4 = memcmp(pcVar2,opname + 3,sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(result,"operator",9);\n            goto LAB_001d0f9a;\n          }\n          iVar6 = iVar6 + 1;\n          if (iVar6 == 0x4f) break;\n          pcVar2 = poVar7->in;\n          sVar3 = strlen(pcVar2);\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          poVar7 = poVar7 + 1;\n          if ((sVar1 - 3 == sVar3) && (iVar4 = memcmp(pcVar2,opname + 3,sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(result,"operator",9);\n            goto LAB_001d0f9a;\n          }\n          iVar6 = iVar6 + 1;\n          if (iVar6 == 0x4f) break;\n          pcVar2 = poVar7->in;\n          sVar3 = strlen(pcVar2);\n        }" { (expression_statement "poVar7 = poVar7 + 1;" (assignment_expression "poVar7 = poVar7 + 1" identifier = (binary_expression "poVar7 + 1" identifier + number_literal)) ;) (if_statement "if ((sVar1 - 3 == sVar3) && (iVar4 = memcmp(pcVar2,opname + 3,sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(result,"operator",9);\n            goto LAB_001d0f9a;\n          }" if (parenthesized_expression "((sVar1 - 3 == sVar3) && (iVar4 = memcmp(pcVar2,opname + 3,sVar1 - 3), iVar4 == 0))" ( (binary_expression "(sVar1 - 3 == sVar3) && (iVar4 = memcmp(pcVar2,opname + 3,sVar1 - 3), iVar4 == 0)" (parenthesized_expression "(sVar1 - 3 == sVar3)" ( (binary_expression "sVar1 - 3 == sVar3" (binary_expression "sVar1 - 3" identifier - number_literal) == identifier) )) && (parenthesized_expression "(iVar4 = memcmp(pcVar2,opname + 3,sVar1 - 3), iVar4 == 0)" ( (comma_expression "iVar4 = memcmp(pcVar2,opname + 3,sVar1 - 3), iVar4 == 0" (assignment_expression "iVar4 = memcmp(pcVar2,opname + 3,sVar1 - 3)" identifier = (call_expression "memcmp(pcVar2,opname + 3,sVar1 - 3)" identifier (argument_list "(pcVar2,opname + 3,sVar1 - 3)" ( identifier , (binary_expression "opname + 3" identifier + number_literal) , (binary_expression "sVar1 - 3" identifier - number_literal) )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n            builtin_strncpy(result,"operator",9);\n            goto LAB_001d0f9a;\n          }" { (expression_statement "builtin_strncpy(result,"operator",9);" (call_expression "builtin_strncpy(result,"operator",9)" identifier (argument_list "(result,"operator",9)" ( identifier , (string_literal ""operator"" " string_content ") , number_literal ))) ;) (goto_statement "goto LAB_001d0f9a;" goto statement_identifier ;) })) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (if_statement "if (iVar6 == 0x4f) break;" if (parenthesized_expression "(iVar6 == 0x4f)" ( (binary_expression "iVar6 == 0x4f" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "pcVar2 = poVar7->in;" (assignment_expression "pcVar2 = poVar7->in" identifier = (field_expression "poVar7->in" identifier -> field_identifier)) ;) (expression_statement "sVar3 = strlen(pcVar2);" (assignment_expression "sVar3 = strlen(pcVar2)" identifier = (call_expression "strlen(pcVar2)" identifier (argument_list "(pcVar2)" ( identifier )))) ;) })) }) (else_clause "else {\n        pcVar2 = "nw";\n        iVar6 = 0;\n        poVar7 = optable;\n        sVar3 = 2;\n        while( true ) {\n          poVar7 = poVar7 + 1;\n          if ((sVar3 == sVar1 - 10) && (iVar4 = memcmp(pcVar2,opname + 10,sVar3), iVar4 == 0)) {\n            builtin_strncpy(result,"operator",9);\n            pcVar2 = stpcpy(result + 8,optable[iVar6].out);\n            iVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar6 = iVar6 + 1;\n          if (iVar6 == 0x4f) break;\n          pcVar2 = poVar7->in;\n          sVar3 = strlen(pcVar2);\n        }\n      }" else (compound_statement "{\n        pcVar2 = "nw";\n        iVar6 = 0;\n        poVar7 = optable;\n        sVar3 = 2;\n        while( true ) {\n          poVar7 = poVar7 + 1;\n          if ((sVar3 == sVar1 - 10) && (iVar4 = memcmp(pcVar2,opname + 10,sVar3), iVar4 == 0)) {\n            builtin_strncpy(result,"operator",9);\n            pcVar2 = stpcpy(result + 8,optable[iVar6].out);\n            iVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar6 = iVar6 + 1;\n          if (iVar6 == 0x4f) break;\n          pcVar2 = poVar7->in;\n          sVar3 = strlen(pcVar2);\n        }\n      }" { (expression_statement "pcVar2 = "nw";" (assignment_expression "pcVar2 = "nw"" identifier = (string_literal ""nw"" " string_content ")) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (expression_statement "poVar7 = optable;" (assignment_expression "poVar7 = optable" identifier = identifier) ;) (expression_statement "sVar3 = 2;" (assignment_expression "sVar3 = 2" identifier = number_literal) ;) (while_statement "while( true ) {\n          poVar7 = poVar7 + 1;\n          if ((sVar3 == sVar1 - 10) && (iVar4 = memcmp(pcVar2,opname + 10,sVar3), iVar4 == 0)) {\n            builtin_strncpy(result,"operator",9);\n            pcVar2 = stpcpy(result + 8,optable[iVar6].out);\n            iVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar6 = iVar6 + 1;\n          if (iVar6 == 0x4f) break;\n          pcVar2 = poVar7->in;\n          sVar3 = strlen(pcVar2);\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          poVar7 = poVar7 + 1;\n          if ((sVar3 == sVar1 - 10) && (iVar4 = memcmp(pcVar2,opname + 10,sVar3), iVar4 == 0)) {\n            builtin_strncpy(result,"operator",9);\n            pcVar2 = stpcpy(result + 8,optable[iVar6].out);\n            iVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar6 = iVar6 + 1;\n          if (iVar6 == 0x4f) break;\n          pcVar2 = poVar7->in;\n          sVar3 = strlen(pcVar2);\n        }" { (expression_statement "poVar7 = poVar7 + 1;" (assignment_expression "poVar7 = poVar7 + 1" identifier = (binary_expression "poVar7 + 1" identifier + number_literal)) ;) (if_statement "if ((sVar3 == sVar1 - 10) && (iVar4 = memcmp(pcVar2,opname + 10,sVar3), iVar4 == 0)) {\n            builtin_strncpy(result,"operator",9);\n            pcVar2 = stpcpy(result + 8,optable[iVar6].out);\n            iVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }" if (parenthesized_expression "((sVar3 == sVar1 - 10) && (iVar4 = memcmp(pcVar2,opname + 10,sVar3), iVar4 == 0))" ( (binary_expression "(sVar3 == sVar1 - 10) && (iVar4 = memcmp(pcVar2,opname + 10,sVar3), iVar4 == 0)" (parenthesized_expression "(sVar3 == sVar1 - 10)" ( (binary_expression "sVar3 == sVar1 - 10" identifier == (binary_expression "sVar1 - 10" identifier - number_literal)) )) && (parenthesized_expression "(iVar4 = memcmp(pcVar2,opname + 10,sVar3), iVar4 == 0)" ( (comma_expression "iVar4 = memcmp(pcVar2,opname + 10,sVar3), iVar4 == 0" (assignment_expression "iVar4 = memcmp(pcVar2,opname + 10,sVar3)" identifier = (call_expression "memcmp(pcVar2,opname + 10,sVar3)" identifier (argument_list "(pcVar2,opname + 10,sVar3)" ( identifier , (binary_expression "opname + 10" identifier + number_literal) , identifier )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n            builtin_strncpy(result,"operator",9);\n            pcVar2 = stpcpy(result + 8,optable[iVar6].out);\n            iVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }" { (expression_statement "builtin_strncpy(result,"operator",9);" (call_expression "builtin_strncpy(result,"operator",9)" identifier (argument_list "(result,"operator",9)" ( identifier , (string_literal ""operator"" " string_content ") , number_literal ))) ;) (expression_statement "pcVar2 = stpcpy(result + 8,optable[iVar6].out);" (assignment_expression "pcVar2 = stpcpy(result + 8,optable[iVar6].out)" identifier = (call_expression "stpcpy(result + 8,optable[iVar6].out)" identifier (argument_list "(result + 8,optable[iVar6].out)" ( (binary_expression "result + 8" identifier + number_literal) , (field_expression "optable[iVar6].out" (subscript_expression "optable[iVar6]" identifier [ identifier ]) . field_identifier) )))) ;) (expression_statement "iVar6 = 1;" (assignment_expression "iVar6 = 1" identifier = number_literal) ;) (expression_statement "pcVar2[0] = '=';" (assignment_expression "pcVar2[0] = '='" (subscript_expression "pcVar2[0]" identifier [ number_literal ]) = (char_literal "'='" ' character ')) ;) (expression_statement "pcVar2[1] = '\0';" (assignment_expression "pcVar2[1] = '\0'" (subscript_expression "pcVar2[1]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (goto_statement "goto LAB_001d0eb5;" goto statement_identifier ;) })) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (if_statement "if (iVar6 == 0x4f) break;" if (parenthesized_expression "(iVar6 == 0x4f)" ( (binary_expression "iVar6 == 0x4f" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "pcVar2 = poVar7->in;" (assignment_expression "pcVar2 = poVar7->in" identifier = (field_expression "poVar7->in" identifier -> field_identifier)) ;) (expression_statement "sVar3 = strlen(pcVar2);" (assignment_expression "sVar3 = strlen(pcVar2)" identifier = (call_expression "strlen(pcVar2)" identifier (argument_list "(pcVar2)" ( identifier )))) ;) })) }))) }) (else_clause "else {\nLAB_001d0fd3:\n      if ((4 < sVar1) && (*(int *)opname == 0x65707974)) {\n        pcVar2 = opname + 5;\n        pcVar5 = strchr(cplus_markers,(int)opname[4]);\n        if (pcVar5 != (char *)0x0) goto LAB_001d100a;\n      }\n    }" else (compound_statement "{\nLAB_001d0fd3:\n      if ((4 < sVar1) && (*(int *)opname == 0x65707974)) {\n        pcVar2 = opname + 5;\n        pcVar5 = strchr(cplus_markers,(int)opname[4]);\n        if (pcVar5 != (char *)0x0) goto LAB_001d100a;\n      }\n    }" { (labeled_statement "LAB_001d0fd3:\n      if ((4 < sVar1) && (*(int *)opname == 0x65707974)) {\n        pcVar2 = opname + 5;\n        pcVar5 = strchr(cplus_markers,(int)opname[4]);\n        if (pcVar5 != (char *)0x0) goto LAB_001d100a;\n      }" statement_identifier : (if_statement "if ((4 < sVar1) && (*(int *)opname == 0x65707974)) {\n        pcVar2 = opname + 5;\n        pcVar5 = strchr(cplus_markers,(int)opname[4]);\n        if (pcVar5 != (char *)0x0) goto LAB_001d100a;\n      }" if (parenthesized_expression "((4 < sVar1) && (*(int *)opname == 0x65707974))" ( (binary_expression "(4 < sVar1) && (*(int *)opname == 0x65707974)" (parenthesized_expression "(4 < sVar1)" ( (binary_expression "4 < sVar1" number_literal < identifier) )) && (parenthesized_expression "(*(int *)opname == 0x65707974)" ( (binary_expression "*(int *)opname == 0x65707974" (pointer_expression "*(int *)opname" * (cast_expression "(int *)opname" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) ))) )) (compound_statement "{\n        pcVar2 = opname + 5;\n        pcVar5 = strchr(cplus_markers,(int)opname[4]);\n        if (pcVar5 != (char *)0x0) goto LAB_001d100a;\n      }" { (expression_statement "pcVar2 = opname + 5;" (assignment_expression "pcVar2 = opname + 5" identifier = (binary_expression "opname + 5" identifier + number_literal)) ;) (expression_statement "pcVar5 = strchr(cplus_markers,(int)opname[4]);" (assignment_expression "pcVar5 = strchr(cplus_markers,(int)opname[4])" identifier = (call_expression "strchr(cplus_markers,(int)opname[4])" identifier (argument_list "(cplus_markers,(int)opname[4])" ( identifier , (cast_expression "(int)opname[4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "opname[4]" identifier [ number_literal ])) )))) ;) (if_statement "if (pcVar5 != (char *)0x0) goto LAB_001d100a;" if (parenthesized_expression "(pcVar5 != (char *)0x0)" ( (binary_expression "pcVar5 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001d100a;" goto statement_identifier ;)) }))) }))) })))) (labeled_statement "LAB_001d0eb3:\n  iVar6 = 0;" statement_identifier : (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;)) (labeled_statement "LAB_001d0eb5:\n  squangle_mop_up(work);" statement_identifier : (expression_statement "squangle_mop_up(work);" (call_expression "squangle_mop_up(work)" identifier (argument_list "(work)" ( identifier ))) ;)) (return_statement "return iVar6;" return identifier ;) })))
(translation_unit "undefined4 FUN_001d0e50(int *param_1,char *param_2)\n\n{\n  size_t sVar1;\n  char *pcVar2;\n  size_t sVar3;\n  int iVar4;\n  int iVar5;\n  undefined4 uVar6;\n  undefined **ppuVar7;\n  short *psVar8;\n  undefined4 *puVar9;\n  byte bVar10;\n  char *local_88;\n  int local_84;\n  undefined4 local_78 [25];\n  undefined4 uStack_14;\n  \n  bVar10 = 0;\n  uStack_14 = 0x1d0e59;\n  sVar1 = strlen((char *)param_1);\n  *param_2 = '\0';\n  puVar9 = local_78;\n  for (iVar5 = 0x17; iVar5 != 0; iVar5 = iVar5 + -1) {\n    *puVar9 = 0;\n    puVar9 = puVar9 + (uint)bVar10 * -2 + 1;\n  }\n  if ((char)*param_1 == '_') {\n    if (*(char *)((int)param_1 + 1) == '_') {\n      bVar10 = *(byte *)((int)param_1 + 2);\n      if ((bVar10 != 0x6f) || (*(char *)((int)param_1 + 3) != 'p')) {\n        if ((((&DAT_002a3600)[(uint)bVar10 * 2] & 8) != 0) &&\n           (((&DAT_002a3600)[(uint)*(byte *)((int)param_1 + 3) * 2] & 8) != 0)) {\n          if ((char)param_1[1] == '\0') {\n            psVar8 = &DAT_002a0b15;\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            sVar1 = 2;\n            while( true ) {\n              if ((sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2))) goto LAB_001d112b;\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) break;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            }\n          }\n          else if ((bVar10 == 0x61) && (*(char *)((int)param_1 + 5) == '\0')) {\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            do {\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||\n                    ((char)psVar8[1] != (char)param_1[1]));\nLAB_001d112b:\n            builtin_strncpy(param_2,"operator",9);\nLAB_001d0f9a:\n            strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            goto LAB_001d0eb5;\n          }\n          goto LAB_001d0eb3;\n        }\n        goto LAB_001d0fca;\n      }\nLAB_001d100a:\n      iVar5 = FUN_001cf7b0();\n      if (iVar5 != 0) {\n        sVar1 = strlen(param_2);\n        builtin_strncpy(param_2 + sVar1,"operator ",10);\n        strncat(param_2,local_88,local_84 - (int)local_88);\n        free(local_88);\n        uVar6 = 1;\n        goto LAB_001d0eb5;\n      }\n    }\n    else {\nLAB_001d0fca:\n      if (2 < sVar1) goto LAB_001d0fd3;\n    }\n  }\n  else if (2 < sVar1) {\n    if ((((char)*param_1 == 'o') && (*(char *)((int)param_1 + 1) == 'p')) &&\n       (pcVar2 = strchr(&DAT_0038f37c,(int)*(char *)((int)param_1 + 2)), pcVar2 != (char *)0x0)) {\n      if ((((sVar1 < 10) || (*(int *)((int)param_1 + 3) != 0x69737361)) ||\n          (*(short *)((int)param_1 + 7) != 0x6e67)) || (*(char *)((int)param_1 + 9) != '_')) {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar1 - 3 == sVar3) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            goto LAB_001d0f9a;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n      else {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar3 == sVar1 - 10) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n    }\n    else {\nLAB_001d0fd3:\n      if (((4 < sVar1) && (*param_1 == 0x65707974)) &&\n         (pcVar2 = strchr(&DAT_0038f37c,(int)(char)param_1[1]), pcVar2 != (char *)0x0))\n      goto LAB_001d100a;\n    }\n  }\nLAB_001d0eb3:\n  uVar6 = 0;\nLAB_001d0eb5:\n  FUN_001cd9e0();\n  return uVar6;\n}\n\n" (function_definition "undefined4 FUN_001d0e50(int *param_1,char *param_2)\n\n{\n  size_t sVar1;\n  char *pcVar2;\n  size_t sVar3;\n  int iVar4;\n  int iVar5;\n  undefined4 uVar6;\n  undefined **ppuVar7;\n  short *psVar8;\n  undefined4 *puVar9;\n  byte bVar10;\n  char *local_88;\n  int local_84;\n  undefined4 local_78 [25];\n  undefined4 uStack_14;\n  \n  bVar10 = 0;\n  uStack_14 = 0x1d0e59;\n  sVar1 = strlen((char *)param_1);\n  *param_2 = '\0';\n  puVar9 = local_78;\n  for (iVar5 = 0x17; iVar5 != 0; iVar5 = iVar5 + -1) {\n    *puVar9 = 0;\n    puVar9 = puVar9 + (uint)bVar10 * -2 + 1;\n  }\n  if ((char)*param_1 == '_') {\n    if (*(char *)((int)param_1 + 1) == '_') {\n      bVar10 = *(byte *)((int)param_1 + 2);\n      if ((bVar10 != 0x6f) || (*(char *)((int)param_1 + 3) != 'p')) {\n        if ((((&DAT_002a3600)[(uint)bVar10 * 2] & 8) != 0) &&\n           (((&DAT_002a3600)[(uint)*(byte *)((int)param_1 + 3) * 2] & 8) != 0)) {\n          if ((char)param_1[1] == '\0') {\n            psVar8 = &DAT_002a0b15;\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            sVar1 = 2;\n            while( true ) {\n              if ((sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2))) goto LAB_001d112b;\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) break;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            }\n          }\n          else if ((bVar10 == 0x61) && (*(char *)((int)param_1 + 5) == '\0')) {\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            do {\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||\n                    ((char)psVar8[1] != (char)param_1[1]));\nLAB_001d112b:\n            builtin_strncpy(param_2,"operator",9);\nLAB_001d0f9a:\n            strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            goto LAB_001d0eb5;\n          }\n          goto LAB_001d0eb3;\n        }\n        goto LAB_001d0fca;\n      }\nLAB_001d100a:\n      iVar5 = FUN_001cf7b0();\n      if (iVar5 != 0) {\n        sVar1 = strlen(param_2);\n        builtin_strncpy(param_2 + sVar1,"operator ",10);\n        strncat(param_2,local_88,local_84 - (int)local_88);\n        free(local_88);\n        uVar6 = 1;\n        goto LAB_001d0eb5;\n      }\n    }\n    else {\nLAB_001d0fca:\n      if (2 < sVar1) goto LAB_001d0fd3;\n    }\n  }\n  else if (2 < sVar1) {\n    if ((((char)*param_1 == 'o') && (*(char *)((int)param_1 + 1) == 'p')) &&\n       (pcVar2 = strchr(&DAT_0038f37c,(int)*(char *)((int)param_1 + 2)), pcVar2 != (char *)0x0)) {\n      if ((((sVar1 < 10) || (*(int *)((int)param_1 + 3) != 0x69737361)) ||\n          (*(short *)((int)param_1 + 7) != 0x6e67)) || (*(char *)((int)param_1 + 9) != '_')) {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar1 - 3 == sVar3) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            goto LAB_001d0f9a;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n      else {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar3 == sVar1 - 10) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n    }\n    else {\nLAB_001d0fd3:\n      if (((4 < sVar1) && (*param_1 == 0x65707974)) &&\n         (pcVar2 = strchr(&DAT_0038f37c,(int)(char)param_1[1]), pcVar2 != (char *)0x0))\n      goto LAB_001d100a;\n    }\n  }\nLAB_001d0eb3:\n  uVar6 = 0;\nLAB_001d0eb5:\n  FUN_001cd9e0();\n  return uVar6;\n}" type_identifier (function_declarator "FUN_001d0e50(int *param_1,char *param_2)" identifier (parameter_list "(int *param_1,char *param_2)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "char *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  size_t sVar1;\n  char *pcVar2;\n  size_t sVar3;\n  int iVar4;\n  int iVar5;\n  undefined4 uVar6;\n  undefined **ppuVar7;\n  short *psVar8;\n  undefined4 *puVar9;\n  byte bVar10;\n  char *local_88;\n  int local_84;\n  undefined4 local_78 [25];\n  undefined4 uStack_14;\n  \n  bVar10 = 0;\n  uStack_14 = 0x1d0e59;\n  sVar1 = strlen((char *)param_1);\n  *param_2 = '\0';\n  puVar9 = local_78;\n  for (iVar5 = 0x17; iVar5 != 0; iVar5 = iVar5 + -1) {\n    *puVar9 = 0;\n    puVar9 = puVar9 + (uint)bVar10 * -2 + 1;\n  }\n  if ((char)*param_1 == '_') {\n    if (*(char *)((int)param_1 + 1) == '_') {\n      bVar10 = *(byte *)((int)param_1 + 2);\n      if ((bVar10 != 0x6f) || (*(char *)((int)param_1 + 3) != 'p')) {\n        if ((((&DAT_002a3600)[(uint)bVar10 * 2] & 8) != 0) &&\n           (((&DAT_002a3600)[(uint)*(byte *)((int)param_1 + 3) * 2] & 8) != 0)) {\n          if ((char)param_1[1] == '\0') {\n            psVar8 = &DAT_002a0b15;\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            sVar1 = 2;\n            while( true ) {\n              if ((sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2))) goto LAB_001d112b;\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) break;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            }\n          }\n          else if ((bVar10 == 0x61) && (*(char *)((int)param_1 + 5) == '\0')) {\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            do {\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||\n                    ((char)psVar8[1] != (char)param_1[1]));\nLAB_001d112b:\n            builtin_strncpy(param_2,"operator",9);\nLAB_001d0f9a:\n            strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            goto LAB_001d0eb5;\n          }\n          goto LAB_001d0eb3;\n        }\n        goto LAB_001d0fca;\n      }\nLAB_001d100a:\n      iVar5 = FUN_001cf7b0();\n      if (iVar5 != 0) {\n        sVar1 = strlen(param_2);\n        builtin_strncpy(param_2 + sVar1,"operator ",10);\n        strncat(param_2,local_88,local_84 - (int)local_88);\n        free(local_88);\n        uVar6 = 1;\n        goto LAB_001d0eb5;\n      }\n    }\n    else {\nLAB_001d0fca:\n      if (2 < sVar1) goto LAB_001d0fd3;\n    }\n  }\n  else if (2 < sVar1) {\n    if ((((char)*param_1 == 'o') && (*(char *)((int)param_1 + 1) == 'p')) &&\n       (pcVar2 = strchr(&DAT_0038f37c,(int)*(char *)((int)param_1 + 2)), pcVar2 != (char *)0x0)) {\n      if ((((sVar1 < 10) || (*(int *)((int)param_1 + 3) != 0x69737361)) ||\n          (*(short *)((int)param_1 + 7) != 0x6e67)) || (*(char *)((int)param_1 + 9) != '_')) {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar1 - 3 == sVar3) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            goto LAB_001d0f9a;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n      else {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar3 == sVar1 - 10) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n    }\n    else {\nLAB_001d0fd3:\n      if (((4 < sVar1) && (*param_1 == 0x65707974)) &&\n         (pcVar2 = strchr(&DAT_0038f37c,(int)(char)param_1[1]), pcVar2 != (char *)0x0))\n      goto LAB_001d100a;\n    }\n  }\nLAB_001d0eb3:\n  uVar6 = 0;\nLAB_001d0eb5:\n  FUN_001cd9e0();\n  return uVar6;\n}" { (declaration "size_t sVar1;" primitive_type identifier ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "size_t sVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "undefined **ppuVar7;" type_identifier (pointer_declarator "**ppuVar7" * (pointer_declarator "*ppuVar7" * identifier)) ;) (declaration "short *psVar8;" (sized_type_specifier "short" short) (pointer_declarator "*psVar8" * identifier) ;) (declaration "undefined4 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "byte bVar10;" type_identifier identifier ;) (declaration "char *local_88;" primitive_type (pointer_declarator "*local_88" * identifier) ;) (declaration "int local_84;" primitive_type identifier ;) (declaration "undefined4 local_78 [25];" type_identifier (array_declarator "local_78 [25]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "bVar10 = 0;" (assignment_expression "bVar10 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x1d0e59;" (assignment_expression "uStack_14 = 0x1d0e59" identifier = number_literal) ;) (expression_statement "sVar1 = strlen((char *)param_1);" (assignment_expression "sVar1 = strlen((char *)param_1)" identifier = (call_expression "strlen((char *)param_1)" identifier (argument_list "((char *)param_1)" ( (cast_expression "(char *)param_1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "*param_2 = '\0';" (assignment_expression "*param_2 = '\0'" (pointer_expression "*param_2" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar9 = local_78;" (assignment_expression "puVar9 = local_78" identifier = identifier) ;) (for_statement "for (iVar5 = 0x17; iVar5 != 0; iVar5 = iVar5 + -1) {\n    *puVar9 = 0;\n    puVar9 = puVar9 + (uint)bVar10 * -2 + 1;\n  }" for ( (assignment_expression "iVar5 = 0x17" identifier = number_literal) ; (binary_expression "iVar5 != 0" identifier != number_literal) ; (assignment_expression "iVar5 = iVar5 + -1" identifier = (binary_expression "iVar5 + -1" identifier + number_literal)) ) (compound_statement "{\n    *puVar9 = 0;\n    puVar9 = puVar9 + (uint)bVar10 * -2 + 1;\n  }" { (expression_statement "*puVar9 = 0;" (assignment_expression "*puVar9 = 0" (pointer_expression "*puVar9" * identifier) = number_literal) ;) (expression_statement "puVar9 = puVar9 + (uint)bVar10 * -2 + 1;" (assignment_expression "puVar9 = puVar9 + (uint)bVar10 * -2 + 1" identifier = (binary_expression "puVar9 + (uint)bVar10 * -2 + 1" (binary_expression "puVar9 + (uint)bVar10 * -2" identifier + (binary_expression "(uint)bVar10 * -2" (cast_expression "(uint)bVar10" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (if_statement "if ((char)*param_1 == '_') {\n    if (*(char *)((int)param_1 + 1) == '_') {\n      bVar10 = *(byte *)((int)param_1 + 2);\n      if ((bVar10 != 0x6f) || (*(char *)((int)param_1 + 3) != 'p')) {\n        if ((((&DAT_002a3600)[(uint)bVar10 * 2] & 8) != 0) &&\n           (((&DAT_002a3600)[(uint)*(byte *)((int)param_1 + 3) * 2] & 8) != 0)) {\n          if ((char)param_1[1] == '\0') {\n            psVar8 = &DAT_002a0b15;\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            sVar1 = 2;\n            while( true ) {\n              if ((sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2))) goto LAB_001d112b;\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) break;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            }\n          }\n          else if ((bVar10 == 0x61) && (*(char *)((int)param_1 + 5) == '\0')) {\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            do {\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||\n                    ((char)psVar8[1] != (char)param_1[1]));\nLAB_001d112b:\n            builtin_strncpy(param_2,"operator",9);\nLAB_001d0f9a:\n            strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            goto LAB_001d0eb5;\n          }\n          goto LAB_001d0eb3;\n        }\n        goto LAB_001d0fca;\n      }\nLAB_001d100a:\n      iVar5 = FUN_001cf7b0();\n      if (iVar5 != 0) {\n        sVar1 = strlen(param_2);\n        builtin_strncpy(param_2 + sVar1,"operator ",10);\n        strncat(param_2,local_88,local_84 - (int)local_88);\n        free(local_88);\n        uVar6 = 1;\n        goto LAB_001d0eb5;\n      }\n    }\n    else {\nLAB_001d0fca:\n      if (2 < sVar1) goto LAB_001d0fd3;\n    }\n  }\n  else if (2 < sVar1) {\n    if ((((char)*param_1 == 'o') && (*(char *)((int)param_1 + 1) == 'p')) &&\n       (pcVar2 = strchr(&DAT_0038f37c,(int)*(char *)((int)param_1 + 2)), pcVar2 != (char *)0x0)) {\n      if ((((sVar1 < 10) || (*(int *)((int)param_1 + 3) != 0x69737361)) ||\n          (*(short *)((int)param_1 + 7) != 0x6e67)) || (*(char *)((int)param_1 + 9) != '_')) {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar1 - 3 == sVar3) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            goto LAB_001d0f9a;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n      else {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar3 == sVar1 - 10) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n    }\n    else {\nLAB_001d0fd3:\n      if (((4 < sVar1) && (*param_1 == 0x65707974)) &&\n         (pcVar2 = strchr(&DAT_0038f37c,(int)(char)param_1[1]), pcVar2 != (char *)0x0))\n      goto LAB_001d100a;\n    }\n  }" if (parenthesized_expression "((char)*param_1 == '_')" ( (binary_expression "(char)*param_1 == '_'" (cast_expression "(char)*param_1" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*param_1" * identifier)) == (char_literal "'_'" ' character ')) )) (compound_statement "{\n    if (*(char *)((int)param_1 + 1) == '_') {\n      bVar10 = *(byte *)((int)param_1 + 2);\n      if ((bVar10 != 0x6f) || (*(char *)((int)param_1 + 3) != 'p')) {\n        if ((((&DAT_002a3600)[(uint)bVar10 * 2] & 8) != 0) &&\n           (((&DAT_002a3600)[(uint)*(byte *)((int)param_1 + 3) * 2] & 8) != 0)) {\n          if ((char)param_1[1] == '\0') {\n            psVar8 = &DAT_002a0b15;\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            sVar1 = 2;\n            while( true ) {\n              if ((sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2))) goto LAB_001d112b;\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) break;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            }\n          }\n          else if ((bVar10 == 0x61) && (*(char *)((int)param_1 + 5) == '\0')) {\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            do {\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||\n                    ((char)psVar8[1] != (char)param_1[1]));\nLAB_001d112b:\n            builtin_strncpy(param_2,"operator",9);\nLAB_001d0f9a:\n            strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            goto LAB_001d0eb5;\n          }\n          goto LAB_001d0eb3;\n        }\n        goto LAB_001d0fca;\n      }\nLAB_001d100a:\n      iVar5 = FUN_001cf7b0();\n      if (iVar5 != 0) {\n        sVar1 = strlen(param_2);\n        builtin_strncpy(param_2 + sVar1,"operator ",10);\n        strncat(param_2,local_88,local_84 - (int)local_88);\n        free(local_88);\n        uVar6 = 1;\n        goto LAB_001d0eb5;\n      }\n    }\n    else {\nLAB_001d0fca:\n      if (2 < sVar1) goto LAB_001d0fd3;\n    }\n  }" { (if_statement "if (*(char *)((int)param_1 + 1) == '_') {\n      bVar10 = *(byte *)((int)param_1 + 2);\n      if ((bVar10 != 0x6f) || (*(char *)((int)param_1 + 3) != 'p')) {\n        if ((((&DAT_002a3600)[(uint)bVar10 * 2] & 8) != 0) &&\n           (((&DAT_002a3600)[(uint)*(byte *)((int)param_1 + 3) * 2] & 8) != 0)) {\n          if ((char)param_1[1] == '\0') {\n            psVar8 = &DAT_002a0b15;\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            sVar1 = 2;\n            while( true ) {\n              if ((sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2))) goto LAB_001d112b;\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) break;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            }\n          }\n          else if ((bVar10 == 0x61) && (*(char *)((int)param_1 + 5) == '\0')) {\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            do {\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||\n                    ((char)psVar8[1] != (char)param_1[1]));\nLAB_001d112b:\n            builtin_strncpy(param_2,"operator",9);\nLAB_001d0f9a:\n            strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            goto LAB_001d0eb5;\n          }\n          goto LAB_001d0eb3;\n        }\n        goto LAB_001d0fca;\n      }\nLAB_001d100a:\n      iVar5 = FUN_001cf7b0();\n      if (iVar5 != 0) {\n        sVar1 = strlen(param_2);\n        builtin_strncpy(param_2 + sVar1,"operator ",10);\n        strncat(param_2,local_88,local_84 - (int)local_88);\n        free(local_88);\n        uVar6 = 1;\n        goto LAB_001d0eb5;\n      }\n    }\n    else {\nLAB_001d0fca:\n      if (2 < sVar1) goto LAB_001d0fd3;\n    }" if (parenthesized_expression "(*(char *)((int)param_1 + 1) == '_')" ( (binary_expression "*(char *)((int)param_1 + 1) == '_'" (pointer_expression "*(char *)((int)param_1 + 1)" * (cast_expression "(char *)((int)param_1 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 1)" ( (binary_expression "(int)param_1 + 1" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'_'" ' character ')) )) (compound_statement "{\n      bVar10 = *(byte *)((int)param_1 + 2);\n      if ((bVar10 != 0x6f) || (*(char *)((int)param_1 + 3) != 'p')) {\n        if ((((&DAT_002a3600)[(uint)bVar10 * 2] & 8) != 0) &&\n           (((&DAT_002a3600)[(uint)*(byte *)((int)param_1 + 3) * 2] & 8) != 0)) {\n          if ((char)param_1[1] == '\0') {\n            psVar8 = &DAT_002a0b15;\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            sVar1 = 2;\n            while( true ) {\n              if ((sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2))) goto LAB_001d112b;\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) break;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            }\n          }\n          else if ((bVar10 == 0x61) && (*(char *)((int)param_1 + 5) == '\0')) {\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            do {\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||\n                    ((char)psVar8[1] != (char)param_1[1]));\nLAB_001d112b:\n            builtin_strncpy(param_2,"operator",9);\nLAB_001d0f9a:\n            strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            goto LAB_001d0eb5;\n          }\n          goto LAB_001d0eb3;\n        }\n        goto LAB_001d0fca;\n      }\nLAB_001d100a:\n      iVar5 = FUN_001cf7b0();\n      if (iVar5 != 0) {\n        sVar1 = strlen(param_2);\n        builtin_strncpy(param_2 + sVar1,"operator ",10);\n        strncat(param_2,local_88,local_84 - (int)local_88);\n        free(local_88);\n        uVar6 = 1;\n        goto LAB_001d0eb5;\n      }\n    }" { (expression_statement "bVar10 = *(byte *)((int)param_1 + 2);" (assignment_expression "bVar10 = *(byte *)((int)param_1 + 2)" identifier = (pointer_expression "*(byte *)((int)param_1 + 2)" * (cast_expression "(byte *)((int)param_1 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 2)" ( (binary_expression "(int)param_1 + 2" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if ((bVar10 != 0x6f) || (*(char *)((int)param_1 + 3) != 'p')) {\n        if ((((&DAT_002a3600)[(uint)bVar10 * 2] & 8) != 0) &&\n           (((&DAT_002a3600)[(uint)*(byte *)((int)param_1 + 3) * 2] & 8) != 0)) {\n          if ((char)param_1[1] == '\0') {\n            psVar8 = &DAT_002a0b15;\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            sVar1 = 2;\n            while( true ) {\n              if ((sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2))) goto LAB_001d112b;\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) break;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            }\n          }\n          else if ((bVar10 == 0x61) && (*(char *)((int)param_1 + 5) == '\0')) {\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            do {\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||\n                    ((char)psVar8[1] != (char)param_1[1]));\nLAB_001d112b:\n            builtin_strncpy(param_2,"operator",9);\nLAB_001d0f9a:\n            strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            goto LAB_001d0eb5;\n          }\n          goto LAB_001d0eb3;\n        }\n        goto LAB_001d0fca;\n      }" if (parenthesized_expression "((bVar10 != 0x6f) || (*(char *)((int)param_1 + 3) != 'p'))" ( (binary_expression "(bVar10 != 0x6f) || (*(char *)((int)param_1 + 3) != 'p')" (parenthesized_expression "(bVar10 != 0x6f)" ( (binary_expression "bVar10 != 0x6f" identifier != number_literal) )) || (parenthesized_expression "(*(char *)((int)param_1 + 3) != 'p')" ( (binary_expression "*(char *)((int)param_1 + 3) != 'p'" (pointer_expression "*(char *)((int)param_1 + 3)" * (cast_expression "(char *)((int)param_1 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 3)" ( (binary_expression "(int)param_1 + 3" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'p'" ' character ')) ))) )) (compound_statement "{\n        if ((((&DAT_002a3600)[(uint)bVar10 * 2] & 8) != 0) &&\n           (((&DAT_002a3600)[(uint)*(byte *)((int)param_1 + 3) * 2] & 8) != 0)) {\n          if ((char)param_1[1] == '\0') {\n            psVar8 = &DAT_002a0b15;\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            sVar1 = 2;\n            while( true ) {\n              if ((sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2))) goto LAB_001d112b;\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) break;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            }\n          }\n          else if ((bVar10 == 0x61) && (*(char *)((int)param_1 + 5) == '\0')) {\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            do {\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||\n                    ((char)psVar8[1] != (char)param_1[1]));\nLAB_001d112b:\n            builtin_strncpy(param_2,"operator",9);\nLAB_001d0f9a:\n            strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            goto LAB_001d0eb5;\n          }\n          goto LAB_001d0eb3;\n        }\n        goto LAB_001d0fca;\n      }" { (if_statement "if ((((&DAT_002a3600)[(uint)bVar10 * 2] & 8) != 0) &&\n           (((&DAT_002a3600)[(uint)*(byte *)((int)param_1 + 3) * 2] & 8) != 0)) {\n          if ((char)param_1[1] == '\0') {\n            psVar8 = &DAT_002a0b15;\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            sVar1 = 2;\n            while( true ) {\n              if ((sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2))) goto LAB_001d112b;\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) break;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            }\n          }\n          else if ((bVar10 == 0x61) && (*(char *)((int)param_1 + 5) == '\0')) {\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            do {\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||\n                    ((char)psVar8[1] != (char)param_1[1]));\nLAB_001d112b:\n            builtin_strncpy(param_2,"operator",9);\nLAB_001d0f9a:\n            strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            goto LAB_001d0eb5;\n          }\n          goto LAB_001d0eb3;\n        }" if (parenthesized_expression "((((&DAT_002a3600)[(uint)bVar10 * 2] & 8) != 0) &&\n           (((&DAT_002a3600)[(uint)*(byte *)((int)param_1 + 3) * 2] & 8) != 0))" ( (binary_expression "(((&DAT_002a3600)[(uint)bVar10 * 2] & 8) != 0) &&\n           (((&DAT_002a3600)[(uint)*(byte *)((int)param_1 + 3) * 2] & 8) != 0)" (parenthesized_expression "(((&DAT_002a3600)[(uint)bVar10 * 2] & 8) != 0)" ( (binary_expression "((&DAT_002a3600)[(uint)bVar10 * 2] & 8) != 0" (parenthesized_expression "((&DAT_002a3600)[(uint)bVar10 * 2] & 8)" ( (binary_expression "(&DAT_002a3600)[(uint)bVar10 * 2] & 8" (subscript_expression "(&DAT_002a3600)[(uint)bVar10 * 2]" (parenthesized_expression "(&DAT_002a3600)" ( (pointer_expression "&DAT_002a3600" & identifier) )) [ (binary_expression "(uint)bVar10 * 2" (cast_expression "(uint)bVar10" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal) ]) & number_literal) )) != number_literal) )) && (parenthesized_expression "(((&DAT_002a3600)[(uint)*(byte *)((int)param_1 + 3) * 2] & 8) != 0)" ( (binary_expression "((&DAT_002a3600)[(uint)*(byte *)((int)param_1 + 3) * 2] & 8) != 0" (parenthesized_expression "((&DAT_002a3600)[(uint)*(byte *)((int)param_1 + 3) * 2] & 8)" ( (binary_expression "(&DAT_002a3600)[(uint)*(byte *)((int)param_1 + 3) * 2] & 8" (subscript_expression "(&DAT_002a3600)[(uint)*(byte *)((int)param_1 + 3) * 2]" (parenthesized_expression "(&DAT_002a3600)" ( (pointer_expression "&DAT_002a3600" & identifier) )) [ (binary_expression "(uint)*(byte *)((int)param_1 + 3) * 2" (binary_expression "(uint)*(byte *)((int)param_1 + 3)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)param_1 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 3)" ( (binary_expression "(int)param_1 + 3" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal) ]) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n          if ((char)param_1[1] == '\0') {\n            psVar8 = &DAT_002a0b15;\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            sVar1 = 2;\n            while( true ) {\n              if ((sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2))) goto LAB_001d112b;\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) break;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            }\n          }\n          else if ((bVar10 == 0x61) && (*(char *)((int)param_1 + 5) == '\0')) {\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            do {\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||\n                    ((char)psVar8[1] != (char)param_1[1]));\nLAB_001d112b:\n            builtin_strncpy(param_2,"operator",9);\nLAB_001d0f9a:\n            strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            goto LAB_001d0eb5;\n          }\n          goto LAB_001d0eb3;\n        }" { (if_statement "if ((char)param_1[1] == '\0') {\n            psVar8 = &DAT_002a0b15;\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            sVar1 = 2;\n            while( true ) {\n              if ((sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2))) goto LAB_001d112b;\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) break;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            }\n          }\n          else if ((bVar10 == 0x61) && (*(char *)((int)param_1 + 5) == '\0')) {\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            do {\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||\n                    ((char)psVar8[1] != (char)param_1[1]));\nLAB_001d112b:\n            builtin_strncpy(param_2,"operator",9);\nLAB_001d0f9a:\n            strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            goto LAB_001d0eb5;\n          }" if (parenthesized_expression "((char)param_1[1] == '\0')" ( (binary_expression "(char)param_1[1] == '\0'" (cast_expression "(char)param_1[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "param_1[1]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            psVar8 = &DAT_002a0b15;\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            sVar1 = 2;\n            while( true ) {\n              if ((sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2))) goto LAB_001d112b;\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) break;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            }\n          }" { (expression_statement "psVar8 = &DAT_002a0b15;" (assignment_expression "psVar8 = &DAT_002a0b15" identifier = (pointer_expression "&DAT_002a0b15" & identifier)) ;) (expression_statement "ppuVar7 = &PTR_DAT_003864cc;" (assignment_expression "ppuVar7 = &PTR_DAT_003864cc" identifier = (pointer_expression "&PTR_DAT_003864cc" & identifier)) ;) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (expression_statement "sVar1 = 2;" (assignment_expression "sVar1 = 2" identifier = number_literal) ;) (while_statement "while( true ) {\n              if ((sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2))) goto LAB_001d112b;\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) break;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              if ((sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2))) goto LAB_001d112b;\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) break;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            }" { (if_statement "if ((sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2))) goto LAB_001d112b;" if (parenthesized_expression "((sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2)))" ( (binary_expression "(sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2))" (parenthesized_expression "(sVar1 == 2)" ( (binary_expression "sVar1 == 2" identifier == number_literal) )) && (parenthesized_expression "(*psVar8 == *(short *)((int)param_1 + 2))" ( (binary_expression "*psVar8 == *(short *)((int)param_1 + 2)" (pointer_expression "*psVar8" * identifier) == (pointer_expression "*(short *)((int)param_1 + 2)" * (cast_expression "(short *)((int)param_1 + 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 2)" ( (binary_expression "(int)param_1 + 2" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ))) )) (goto_statement "goto LAB_001d112b;" goto statement_identifier ;)) (expression_statement "iVar5 = iVar5 + 1;" (assignment_expression "iVar5 = iVar5 + 1" identifier = (binary_expression "iVar5 + 1" identifier + number_literal)) ;) (if_statement "if (iVar5 == 0x4f) break;" if (parenthesized_expression "(iVar5 == 0x4f)" ( (binary_expression "iVar5 == 0x4f" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "psVar8 = (short *)*ppuVar7;" (assignment_expression "psVar8 = (short *)*ppuVar7" identifier = (cast_expression "(short *)*ppuVar7" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*ppuVar7" * identifier))) ;) (expression_statement "ppuVar7 = ppuVar7 + 3;" (assignment_expression "ppuVar7 = ppuVar7 + 3" identifier = (binary_expression "ppuVar7 + 3" identifier + number_literal)) ;) (expression_statement "sVar1 = strlen((char *)psVar8);" (assignment_expression "sVar1 = strlen((char *)psVar8)" identifier = (call_expression "strlen((char *)psVar8)" identifier (argument_list "((char *)psVar8)" ( (cast_expression "(char *)psVar8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) })) }) (else_clause "else if ((bVar10 == 0x61) && (*(char *)((int)param_1 + 5) == '\0')) {\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            do {\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||\n                    ((char)psVar8[1] != (char)param_1[1]));\nLAB_001d112b:\n            builtin_strncpy(param_2,"operator",9);\nLAB_001d0f9a:\n            strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            goto LAB_001d0eb5;\n          }" else (if_statement "if ((bVar10 == 0x61) && (*(char *)((int)param_1 + 5) == '\0')) {\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            do {\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||\n                    ((char)psVar8[1] != (char)param_1[1]));\nLAB_001d112b:\n            builtin_strncpy(param_2,"operator",9);\nLAB_001d0f9a:\n            strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            goto LAB_001d0eb5;\n          }" if (parenthesized_expression "((bVar10 == 0x61) && (*(char *)((int)param_1 + 5) == '\0'))" ( (binary_expression "(bVar10 == 0x61) && (*(char *)((int)param_1 + 5) == '\0')" (parenthesized_expression "(bVar10 == 0x61)" ( (binary_expression "bVar10 == 0x61" identifier == number_literal) )) && (parenthesized_expression "(*(char *)((int)param_1 + 5) == '\0')" ( (binary_expression "*(char *)((int)param_1 + 5) == '\0'" (pointer_expression "*(char *)((int)param_1 + 5)" * (cast_expression "(char *)((int)param_1 + 5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 5)" ( (binary_expression "(int)param_1 + 5" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            do {\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||\n                    ((char)psVar8[1] != (char)param_1[1]));\nLAB_001d112b:\n            builtin_strncpy(param_2,"operator",9);\nLAB_001d0f9a:\n            strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            goto LAB_001d0eb5;\n          }" { (expression_statement "ppuVar7 = &PTR_DAT_003864cc;" (assignment_expression "ppuVar7 = &PTR_DAT_003864cc" identifier = (pointer_expression "&PTR_DAT_003864cc" & identifier)) ;) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (do_statement "do {\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||\n                    ((char)psVar8[1] != (char)param_1[1]));" do (compound_statement "{\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            }" { (expression_statement "iVar5 = iVar5 + 1;" (assignment_expression "iVar5 = iVar5 + 1" identifier = (binary_expression "iVar5 + 1" identifier + number_literal)) ;) (if_statement "if (iVar5 == 0x4f) goto LAB_001d0eb3;" if (parenthesized_expression "(iVar5 == 0x4f)" ( (binary_expression "iVar5 == 0x4f" identifier == number_literal) )) (goto_statement "goto LAB_001d0eb3;" goto statement_identifier ;)) (expression_statement "psVar8 = (short *)*ppuVar7;" (assignment_expression "psVar8 = (short *)*ppuVar7" identifier = (cast_expression "(short *)*ppuVar7" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*ppuVar7" * identifier))) ;) (expression_statement "ppuVar7 = ppuVar7 + 3;" (assignment_expression "ppuVar7 = ppuVar7 + 3" identifier = (binary_expression "ppuVar7 + 3" identifier + number_literal)) ;) (expression_statement "sVar1 = strlen((char *)psVar8);" (assignment_expression "sVar1 = strlen((char *)psVar8)" identifier = (call_expression "strlen((char *)psVar8)" identifier (argument_list "((char *)psVar8)" ( (cast_expression "(char *)psVar8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) }) while (parenthesized_expression "(((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||\n                    ((char)psVar8[1] != (char)param_1[1]))" ( (binary_expression "((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||\n                    ((char)psVar8[1] != (char)param_1[1])" (parenthesized_expression "((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2)))" ( (binary_expression "(sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))" (parenthesized_expression "(sVar1 != 3)" ( (binary_expression "sVar1 != 3" identifier != number_literal) )) || (parenthesized_expression "(*psVar8 != *(short *)((int)param_1 + 2))" ( (binary_expression "*psVar8 != *(short *)((int)param_1 + 2)" (pointer_expression "*psVar8" * identifier) != (pointer_expression "*(short *)((int)param_1 + 2)" * (cast_expression "(short *)((int)param_1 + 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 2)" ( (binary_expression "(int)param_1 + 2" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ))) )) || (parenthesized_expression "((char)psVar8[1] != (char)param_1[1])" ( (binary_expression "(char)psVar8[1] != (char)param_1[1]" (cast_expression "(char)psVar8[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "psVar8[1]" identifier [ number_literal ])) != (cast_expression "(char)param_1[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) ))) )) ;) (labeled_statement "LAB_001d112b:\n            builtin_strncpy(param_2,"operator",9);" statement_identifier : (expression_statement "builtin_strncpy(param_2,"operator",9);" (call_expression "builtin_strncpy(param_2,"operator",9)" identifier (argument_list "(param_2,"operator",9)" ( identifier , (string_literal ""operator"" " string_content ") , number_literal ))) ;)) (labeled_statement "LAB_001d0f9a:\n            strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);" statement_identifier : (expression_statement "strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);" (call_expression "strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3])" identifier (argument_list "(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3])" ( (binary_expression "param_2 + 8" identifier + number_literal) , (subscript_expression "(&PTR_s_new_003864c4)[iVar5 * 3]" (parenthesized_expression "(&PTR_s_new_003864c4)" ( (pointer_expression "&PTR_s_new_003864c4" & identifier) )) [ (binary_expression "iVar5 * 3" identifier * number_literal) ]) ))) ;)) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_001d0eb5;" goto statement_identifier ;) })))) (goto_statement "goto LAB_001d0eb3;" goto statement_identifier ;) })) (goto_statement "goto LAB_001d0fca;" goto statement_identifier ;) })) (labeled_statement "LAB_001d100a:\n      iVar5 = FUN_001cf7b0();" statement_identifier : (expression_statement "iVar5 = FUN_001cf7b0();" (assignment_expression "iVar5 = FUN_001cf7b0()" identifier = (call_expression "FUN_001cf7b0()" identifier (argument_list "()" ( )))) ;)) (if_statement "if (iVar5 != 0) {\n        sVar1 = strlen(param_2);\n        builtin_strncpy(param_2 + sVar1,"operator ",10);\n        strncat(param_2,local_88,local_84 - (int)local_88);\n        free(local_88);\n        uVar6 = 1;\n        goto LAB_001d0eb5;\n      }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n        sVar1 = strlen(param_2);\n        builtin_strncpy(param_2 + sVar1,"operator ",10);\n        strncat(param_2,local_88,local_84 - (int)local_88);\n        free(local_88);\n        uVar6 = 1;\n        goto LAB_001d0eb5;\n      }" { (expression_statement "sVar1 = strlen(param_2);" (assignment_expression "sVar1 = strlen(param_2)" identifier = (call_expression "strlen(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "builtin_strncpy(param_2 + sVar1,"operator ",10);" (call_expression "builtin_strncpy(param_2 + sVar1,"operator ",10)" identifier (argument_list "(param_2 + sVar1,"operator ",10)" ( (binary_expression "param_2 + sVar1" identifier + identifier) , (string_literal ""operator "" " string_content ") , number_literal ))) ;) (expression_statement "strncat(param_2,local_88,local_84 - (int)local_88);" (call_expression "strncat(param_2,local_88,local_84 - (int)local_88)" identifier (argument_list "(param_2,local_88,local_84 - (int)local_88)" ( identifier , identifier , (binary_expression "local_84 - (int)local_88" identifier - (cast_expression "(int)local_88" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) (expression_statement "free(local_88);" (call_expression "free(local_88)" identifier (argument_list "(local_88)" ( identifier ))) ;) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_001d0eb5;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_001d0fca:\n      if (2 < sVar1) goto LAB_001d0fd3;\n    }" else (compound_statement "{\nLAB_001d0fca:\n      if (2 < sVar1) goto LAB_001d0fd3;\n    }" { (labeled_statement "LAB_001d0fca:\n      if (2 < sVar1) goto LAB_001d0fd3;" statement_identifier : (if_statement "if (2 < sVar1) goto LAB_001d0fd3;" if (parenthesized_expression "(2 < sVar1)" ( (binary_expression "2 < sVar1" number_literal < identifier) )) (goto_statement "goto LAB_001d0fd3;" goto statement_identifier ;))) }))) }) (else_clause "else if (2 < sVar1) {\n    if ((((char)*param_1 == 'o') && (*(char *)((int)param_1 + 1) == 'p')) &&\n       (pcVar2 = strchr(&DAT_0038f37c,(int)*(char *)((int)param_1 + 2)), pcVar2 != (char *)0x0)) {\n      if ((((sVar1 < 10) || (*(int *)((int)param_1 + 3) != 0x69737361)) ||\n          (*(short *)((int)param_1 + 7) != 0x6e67)) || (*(char *)((int)param_1 + 9) != '_')) {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar1 - 3 == sVar3) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            goto LAB_001d0f9a;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n      else {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar3 == sVar1 - 10) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n    }\n    else {\nLAB_001d0fd3:\n      if (((4 < sVar1) && (*param_1 == 0x65707974)) &&\n         (pcVar2 = strchr(&DAT_0038f37c,(int)(char)param_1[1]), pcVar2 != (char *)0x0))\n      goto LAB_001d100a;\n    }\n  }" else (if_statement "if (2 < sVar1) {\n    if ((((char)*param_1 == 'o') && (*(char *)((int)param_1 + 1) == 'p')) &&\n       (pcVar2 = strchr(&DAT_0038f37c,(int)*(char *)((int)param_1 + 2)), pcVar2 != (char *)0x0)) {\n      if ((((sVar1 < 10) || (*(int *)((int)param_1 + 3) != 0x69737361)) ||\n          (*(short *)((int)param_1 + 7) != 0x6e67)) || (*(char *)((int)param_1 + 9) != '_')) {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar1 - 3 == sVar3) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            goto LAB_001d0f9a;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n      else {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar3 == sVar1 - 10) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n    }\n    else {\nLAB_001d0fd3:\n      if (((4 < sVar1) && (*param_1 == 0x65707974)) &&\n         (pcVar2 = strchr(&DAT_0038f37c,(int)(char)param_1[1]), pcVar2 != (char *)0x0))\n      goto LAB_001d100a;\n    }\n  }" if (parenthesized_expression "(2 < sVar1)" ( (binary_expression "2 < sVar1" number_literal < identifier) )) (compound_statement "{\n    if ((((char)*param_1 == 'o') && (*(char *)((int)param_1 + 1) == 'p')) &&\n       (pcVar2 = strchr(&DAT_0038f37c,(int)*(char *)((int)param_1 + 2)), pcVar2 != (char *)0x0)) {\n      if ((((sVar1 < 10) || (*(int *)((int)param_1 + 3) != 0x69737361)) ||\n          (*(short *)((int)param_1 + 7) != 0x6e67)) || (*(char *)((int)param_1 + 9) != '_')) {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar1 - 3 == sVar3) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            goto LAB_001d0f9a;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n      else {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar3 == sVar1 - 10) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n    }\n    else {\nLAB_001d0fd3:\n      if (((4 < sVar1) && (*param_1 == 0x65707974)) &&\n         (pcVar2 = strchr(&DAT_0038f37c,(int)(char)param_1[1]), pcVar2 != (char *)0x0))\n      goto LAB_001d100a;\n    }\n  }" { (if_statement "if ((((char)*param_1 == 'o') && (*(char *)((int)param_1 + 1) == 'p')) &&\n       (pcVar2 = strchr(&DAT_0038f37c,(int)*(char *)((int)param_1 + 2)), pcVar2 != (char *)0x0)) {\n      if ((((sVar1 < 10) || (*(int *)((int)param_1 + 3) != 0x69737361)) ||\n          (*(short *)((int)param_1 + 7) != 0x6e67)) || (*(char *)((int)param_1 + 9) != '_')) {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar1 - 3 == sVar3) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            goto LAB_001d0f9a;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n      else {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar3 == sVar1 - 10) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n    }\n    else {\nLAB_001d0fd3:\n      if (((4 < sVar1) && (*param_1 == 0x65707974)) &&\n         (pcVar2 = strchr(&DAT_0038f37c,(int)(char)param_1[1]), pcVar2 != (char *)0x0))\n      goto LAB_001d100a;\n    }" if (parenthesized_expression "((((char)*param_1 == 'o') && (*(char *)((int)param_1 + 1) == 'p')) &&\n       (pcVar2 = strchr(&DAT_0038f37c,(int)*(char *)((int)param_1 + 2)), pcVar2 != (char *)0x0))" ( (binary_expression "(((char)*param_1 == 'o') && (*(char *)((int)param_1 + 1) == 'p')) &&\n       (pcVar2 = strchr(&DAT_0038f37c,(int)*(char *)((int)param_1 + 2)), pcVar2 != (char *)0x0)" (parenthesized_expression "(((char)*param_1 == 'o') && (*(char *)((int)param_1 + 1) == 'p'))" ( (binary_expression "((char)*param_1 == 'o') && (*(char *)((int)param_1 + 1) == 'p')" (parenthesized_expression "((char)*param_1 == 'o')" ( (binary_expression "(char)*param_1 == 'o'" (cast_expression "(char)*param_1" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*param_1" * identifier)) == (char_literal "'o'" ' character ')) )) && (parenthesized_expression "(*(char *)((int)param_1 + 1) == 'p')" ( (binary_expression "*(char *)((int)param_1 + 1) == 'p'" (pointer_expression "*(char *)((int)param_1 + 1)" * (cast_expression "(char *)((int)param_1 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 1)" ( (binary_expression "(int)param_1 + 1" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'p'" ' character ')) ))) )) && (parenthesized_expression "(pcVar2 = strchr(&DAT_0038f37c,(int)*(char *)((int)param_1 + 2)), pcVar2 != (char *)0x0)" ( (comma_expression "pcVar2 = strchr(&DAT_0038f37c,(int)*(char *)((int)param_1 + 2)), pcVar2 != (char *)0x0" (assignment_expression "pcVar2 = strchr(&DAT_0038f37c,(int)*(char *)((int)param_1 + 2))" identifier = (call_expression "strchr(&DAT_0038f37c,(int)*(char *)((int)param_1 + 2))" identifier (argument_list "(&DAT_0038f37c,(int)*(char *)((int)param_1 + 2))" ( (pointer_expression "&DAT_0038f37c" & identifier) , (cast_expression "(int)*(char *)((int)param_1 + 2)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char *)((int)param_1 + 2)" * (cast_expression "(char *)((int)param_1 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 2)" ( (binary_expression "(int)param_1 + 2" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )))) , (binary_expression "pcVar2 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n      if ((((sVar1 < 10) || (*(int *)((int)param_1 + 3) != 0x69737361)) ||\n          (*(short *)((int)param_1 + 7) != 0x6e67)) || (*(char *)((int)param_1 + 9) != '_')) {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar1 - 3 == sVar3) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            goto LAB_001d0f9a;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n      else {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar3 == sVar1 - 10) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n    }" { (if_statement "if ((((sVar1 < 10) || (*(int *)((int)param_1 + 3) != 0x69737361)) ||\n          (*(short *)((int)param_1 + 7) != 0x6e67)) || (*(char *)((int)param_1 + 9) != '_')) {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar1 - 3 == sVar3) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            goto LAB_001d0f9a;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n      else {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar3 == sVar1 - 10) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }" if (parenthesized_expression "((((sVar1 < 10) || (*(int *)((int)param_1 + 3) != 0x69737361)) ||\n          (*(short *)((int)param_1 + 7) != 0x6e67)) || (*(char *)((int)param_1 + 9) != '_'))" ( (binary_expression "(((sVar1 < 10) || (*(int *)((int)param_1 + 3) != 0x69737361)) ||\n          (*(short *)((int)param_1 + 7) != 0x6e67)) || (*(char *)((int)param_1 + 9) != '_')" (parenthesized_expression "(((sVar1 < 10) || (*(int *)((int)param_1 + 3) != 0x69737361)) ||\n          (*(short *)((int)param_1 + 7) != 0x6e67))" ( (binary_expression "((sVar1 < 10) || (*(int *)((int)param_1 + 3) != 0x69737361)) ||\n          (*(short *)((int)param_1 + 7) != 0x6e67)" (parenthesized_expression "((sVar1 < 10) || (*(int *)((int)param_1 + 3) != 0x69737361))" ( (binary_expression "(sVar1 < 10) || (*(int *)((int)param_1 + 3) != 0x69737361)" (parenthesized_expression "(sVar1 < 10)" ( (binary_expression "sVar1 < 10" identifier < number_literal) )) || (parenthesized_expression "(*(int *)((int)param_1 + 3) != 0x69737361)" ( (binary_expression "*(int *)((int)param_1 + 3) != 0x69737361" (pointer_expression "*(int *)((int)param_1 + 3)" * (cast_expression "(int *)((int)param_1 + 3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 3)" ( (binary_expression "(int)param_1 + 3" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) ))) )) || (parenthesized_expression "(*(short *)((int)param_1 + 7) != 0x6e67)" ( (binary_expression "*(short *)((int)param_1 + 7) != 0x6e67" (pointer_expression "*(short *)((int)param_1 + 7)" * (cast_expression "(short *)((int)param_1 + 7)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 7)" ( (binary_expression "(int)param_1 + 7" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) ))) )) || (parenthesized_expression "(*(char *)((int)param_1 + 9) != '_')" ( (binary_expression "*(char *)((int)param_1 + 9) != '_'" (pointer_expression "*(char *)((int)param_1 + 9)" * (cast_expression "(char *)((int)param_1 + 9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 9)" ( (binary_expression "(int)param_1 + 9" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'_'" ' character ')) ))) )) (compound_statement "{\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar1 - 3 == sVar3) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            goto LAB_001d0f9a;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }" { (expression_statement "pcVar2 = "nw";" (assignment_expression "pcVar2 = "nw"" identifier = (string_literal ""nw"" " string_content ")) ;) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (expression_statement "ppuVar7 = &PTR_DAT_003864cc;" (assignment_expression "ppuVar7 = &PTR_DAT_003864cc" identifier = (pointer_expression "&PTR_DAT_003864cc" & identifier)) ;) (expression_statement "sVar3 = 2;" (assignment_expression "sVar3 = 2" identifier = number_literal) ;) (while_statement "while( true ) {\n          if ((sVar1 - 3 == sVar3) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            goto LAB_001d0f9a;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          if ((sVar1 - 3 == sVar3) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            goto LAB_001d0f9a;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }" { (if_statement "if ((sVar1 - 3 == sVar3) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            goto LAB_001d0f9a;\n          }" if (parenthesized_expression "((sVar1 - 3 == sVar3) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0))" ( (binary_expression "(sVar1 - 3 == sVar3) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0)" (parenthesized_expression "(sVar1 - 3 == sVar3)" ( (binary_expression "sVar1 - 3 == sVar3" (binary_expression "sVar1 - 3" identifier - number_literal) == identifier) )) && (parenthesized_expression "(iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0)" ( (comma_expression "iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0" (assignment_expression "iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3)" identifier = (call_expression "memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3)" identifier (argument_list "(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3)" ( identifier , (cast_expression "(void *)((int)param_1 + 3)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 3)" ( (binary_expression "(int)param_1 + 3" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) , (binary_expression "sVar1 - 3" identifier - number_literal) )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n            builtin_strncpy(param_2,"operator",9);\n            goto LAB_001d0f9a;\n          }" { (expression_statement "builtin_strncpy(param_2,"operator",9);" (call_expression "builtin_strncpy(param_2,"operator",9)" identifier (argument_list "(param_2,"operator",9)" ( identifier , (string_literal ""operator"" " string_content ") , number_literal ))) ;) (goto_statement "goto LAB_001d0f9a;" goto statement_identifier ;) })) (expression_statement "iVar5 = iVar5 + 1;" (assignment_expression "iVar5 = iVar5 + 1" identifier = (binary_expression "iVar5 + 1" identifier + number_literal)) ;) (if_statement "if (iVar5 == 0x4f) break;" if (parenthesized_expression "(iVar5 == 0x4f)" ( (binary_expression "iVar5 == 0x4f" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "pcVar2 = *ppuVar7;" (assignment_expression "pcVar2 = *ppuVar7" identifier = (pointer_expression "*ppuVar7" * identifier)) ;) (expression_statement "ppuVar7 = ppuVar7 + 3;" (assignment_expression "ppuVar7 = ppuVar7 + 3" identifier = (binary_expression "ppuVar7 + 3" identifier + number_literal)) ;) (expression_statement "sVar3 = strlen(pcVar2);" (assignment_expression "sVar3 = strlen(pcVar2)" identifier = (call_expression "strlen(pcVar2)" identifier (argument_list "(pcVar2)" ( identifier )))) ;) })) }) (else_clause "else {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar3 == sVar1 - 10) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }" else (compound_statement "{\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar3 == sVar1 - 10) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }" { (expression_statement "pcVar2 = "nw";" (assignment_expression "pcVar2 = "nw"" identifier = (string_literal ""nw"" " string_content ")) ;) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (expression_statement "ppuVar7 = &PTR_DAT_003864cc;" (assignment_expression "ppuVar7 = &PTR_DAT_003864cc" identifier = (pointer_expression "&PTR_DAT_003864cc" & identifier)) ;) (expression_statement "sVar3 = 2;" (assignment_expression "sVar3 = 2" identifier = number_literal) ;) (while_statement "while( true ) {\n          if ((sVar3 == sVar1 - 10) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          if ((sVar3 == sVar1 - 10) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }" { (if_statement "if ((sVar3 == sVar1 - 10) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }" if (parenthesized_expression "((sVar3 == sVar1 - 10) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0))" ( (binary_expression "(sVar3 == sVar1 - 10) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0)" (parenthesized_expression "(sVar3 == sVar1 - 10)" ( (binary_expression "sVar3 == sVar1 - 10" identifier == (binary_expression "sVar1 - 10" identifier - number_literal)) )) && (parenthesized_expression "(iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0)" ( (comma_expression "iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0" (assignment_expression "iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3)" identifier = (call_expression "memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3)" identifier (argument_list "(pcVar2,(void *)((int)param_1 + 10),sVar3)" ( identifier , (cast_expression "(void *)((int)param_1 + 10)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 10)" ( (binary_expression "(int)param_1 + 10" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) , identifier )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n            builtin_strncpy(param_2,"operator",9);\n            pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }" { (expression_statement "builtin_strncpy(param_2,"operator",9);" (call_expression "builtin_strncpy(param_2,"operator",9)" identifier (argument_list "(param_2,"operator",9)" ( identifier , (string_literal ""operator"" " string_content ") , number_literal ))) ;) (expression_statement "pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);" (assignment_expression "pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3])" identifier = (call_expression "stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3])" identifier (argument_list "(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3])" ( (binary_expression "param_2 + 8" identifier + number_literal) , (subscript_expression "(&PTR_s_new_003864c4)[iVar5 * 3]" (parenthesized_expression "(&PTR_s_new_003864c4)" ( (pointer_expression "&PTR_s_new_003864c4" & identifier) )) [ (binary_expression "iVar5 * 3" identifier * number_literal) ]) )))) ;) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (expression_statement "pcVar2[0] = '=';" (assignment_expression "pcVar2[0] = '='" (subscript_expression "pcVar2[0]" identifier [ number_literal ]) = (char_literal "'='" ' character ')) ;) (expression_statement "pcVar2[1] = '\0';" (assignment_expression "pcVar2[1] = '\0'" (subscript_expression "pcVar2[1]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (goto_statement "goto LAB_001d0eb5;" goto statement_identifier ;) })) (expression_statement "iVar5 = iVar5 + 1;" (assignment_expression "iVar5 = iVar5 + 1" identifier = (binary_expression "iVar5 + 1" identifier + number_literal)) ;) (if_statement "if (iVar5 == 0x4f) break;" if (parenthesized_expression "(iVar5 == 0x4f)" ( (binary_expression "iVar5 == 0x4f" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "pcVar2 = *ppuVar7;" (assignment_expression "pcVar2 = *ppuVar7" identifier = (pointer_expression "*ppuVar7" * identifier)) ;) (expression_statement "ppuVar7 = ppuVar7 + 3;" (assignment_expression "ppuVar7 = ppuVar7 + 3" identifier = (binary_expression "ppuVar7 + 3" identifier + number_literal)) ;) (expression_statement "sVar3 = strlen(pcVar2);" (assignment_expression "sVar3 = strlen(pcVar2)" identifier = (call_expression "strlen(pcVar2)" identifier (argument_list "(pcVar2)" ( identifier )))) ;) })) }))) }) (else_clause "else {\nLAB_001d0fd3:\n      if (((4 < sVar1) && (*param_1 == 0x65707974)) &&\n         (pcVar2 = strchr(&DAT_0038f37c,(int)(char)param_1[1]), pcVar2 != (char *)0x0))\n      goto LAB_001d100a;\n    }" else (compound_statement "{\nLAB_001d0fd3:\n      if (((4 < sVar1) && (*param_1 == 0x65707974)) &&\n         (pcVar2 = strchr(&DAT_0038f37c,(int)(char)param_1[1]), pcVar2 != (char *)0x0))\n      goto LAB_001d100a;\n    }" { (labeled_statement "LAB_001d0fd3:\n      if (((4 < sVar1) && (*param_1 == 0x65707974)) &&\n         (pcVar2 = strchr(&DAT_0038f37c,(int)(char)param_1[1]), pcVar2 != (char *)0x0))\n      goto LAB_001d100a;" statement_identifier : (if_statement "if (((4 < sVar1) && (*param_1 == 0x65707974)) &&\n         (pcVar2 = strchr(&DAT_0038f37c,(int)(char)param_1[1]), pcVar2 != (char *)0x0))\n      goto LAB_001d100a;" if (parenthesized_expression "(((4 < sVar1) && (*param_1 == 0x65707974)) &&\n         (pcVar2 = strchr(&DAT_0038f37c,(int)(char)param_1[1]), pcVar2 != (char *)0x0))" ( (binary_expression "((4 < sVar1) && (*param_1 == 0x65707974)) &&\n         (pcVar2 = strchr(&DAT_0038f37c,(int)(char)param_1[1]), pcVar2 != (char *)0x0)" (parenthesized_expression "((4 < sVar1) && (*param_1 == 0x65707974))" ( (binary_expression "(4 < sVar1) && (*param_1 == 0x65707974)" (parenthesized_expression "(4 < sVar1)" ( (binary_expression "4 < sVar1" number_literal < identifier) )) && (parenthesized_expression "(*param_1 == 0x65707974)" ( (binary_expression "*param_1 == 0x65707974" (pointer_expression "*param_1" * identifier) == number_literal) ))) )) && (parenthesized_expression "(pcVar2 = strchr(&DAT_0038f37c,(int)(char)param_1[1]), pcVar2 != (char *)0x0)" ( (comma_expression "pcVar2 = strchr(&DAT_0038f37c,(int)(char)param_1[1]), pcVar2 != (char *)0x0" (assignment_expression "pcVar2 = strchr(&DAT_0038f37c,(int)(char)param_1[1])" identifier = (call_expression "strchr(&DAT_0038f37c,(int)(char)param_1[1])" identifier (argument_list "(&DAT_0038f37c,(int)(char)param_1[1])" ( (pointer_expression "&DAT_0038f37c" & identifier) , (cast_expression "(int)(char)param_1[1]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)param_1[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) )))) , (binary_expression "pcVar2 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_001d100a;" goto statement_identifier ;))) }))) })))) (labeled_statement "LAB_001d0eb3:\n  uVar6 = 0;" statement_identifier : (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;)) (labeled_statement "LAB_001d0eb5:\n  FUN_001cd9e0();" statement_identifier : (expression_statement "FUN_001cd9e0();" (call_expression "FUN_001cd9e0()" identifier (argument_list "()" ( ))) ;)) (return_statement "return uVar6;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration (sized_type_specifier short) (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)) == (char_literal ' character ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != (char_literal ' character ')) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) ]) & LIT) )) != LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) * LIT) ]) & LIT) )) != LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ))) )) || (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) != (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ))) )) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , LIT ))) ;)) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ]) ))) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })))) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + IDENT) , (string_literal " string_content ") , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;))) }))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)) == (char_literal ' character ')) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == (char_literal ' character ')) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) )))) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < LIT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != LIT) ))) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != LIT) ))) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != (char_literal ' character ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) == IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))) , (binary_expression IDENT - LIT) )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , LIT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (binary_expression IDENT - LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))) , IDENT )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ]) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' character ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) })) }))) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < IDENT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )))) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (goto_statement goto statement_identifier ;))) }))) })))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) (return_statement return IDENT ;) })))
(function_definition "undefined4 FUN_001d0e50(int *param_1,char *param_2)\n\n{\n  size_t sVar1;\n  char *pcVar2;\n  size_t sVar3;\n  int iVar4;\n  int iVar5;\n  undefined4 uVar6;\n  undefined **ppuVar7;\n  short *psVar8;\n  undefined4 *puVar9;\n  byte bVar10;\n  char *local_88;\n  int local_84;\n  undefined4 local_78 [25];\n  undefined4 uStack_14;\n  \n  bVar10 = 0;\n  uStack_14 = 0x1d0e59;\n  sVar1 = strlen((char *)param_1);\n  *param_2 = '\0';\n  puVar9 = local_78;\n  for (iVar5 = 0x17; iVar5 != 0; iVar5 = iVar5 + -1) {\n    *puVar9 = 0;\n    puVar9 = puVar9 + (uint)bVar10 * -2 + 1;\n  }\n  if ((char)*param_1 == '_') {\n    if (*(char *)((int)param_1 + 1) == '_') {\n      bVar10 = *(byte *)((int)param_1 + 2);\n      if ((bVar10 != 0x6f) || (*(char *)((int)param_1 + 3) != 'p')) {\n        if ((((&DAT_002a3600)[(uint)bVar10 * 2] & 8) != 0) &&\n           (((&DAT_002a3600)[(uint)*(byte *)((int)param_1 + 3) * 2] & 8) != 0)) {\n          if ((char)param_1[1] == '\0') {\n            psVar8 = &DAT_002a0b15;\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            sVar1 = 2;\n            while( true ) {\n              if ((sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2))) goto LAB_001d112b;\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) break;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            }\n          }\n          else if ((bVar10 == 0x61) && (*(char *)((int)param_1 + 5) == '\0')) {\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            do {\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||\n                    ((char)psVar8[1] != (char)param_1[1]));\nLAB_001d112b:\n            builtin_strncpy(param_2,"operator",9);\nLAB_001d0f9a:\n            strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            goto LAB_001d0eb5;\n          }\n          goto LAB_001d0eb3;\n        }\n        goto LAB_001d0fca;\n      }\nLAB_001d100a:\n      iVar5 = FUN_001cf7b0();\n      if (iVar5 != 0) {\n        sVar1 = strlen(param_2);\n        builtin_strncpy(param_2 + sVar1,"operator ",10);\n        strncat(param_2,local_88,local_84 - (int)local_88);\n        free(local_88);\n        uVar6 = 1;\n        goto LAB_001d0eb5;\n      }\n    }\n    else {\nLAB_001d0fca:\n      if (2 < sVar1) goto LAB_001d0fd3;\n    }\n  }\n  else if (2 < sVar1) {\n    if ((((char)*param_1 == 'o') && (*(char *)((int)param_1 + 1) == 'p')) &&\n       (pcVar2 = strchr(&DAT_0038f37c,(int)*(char *)((int)param_1 + 2)), pcVar2 != (char *)0x0)) {\n      if ((((sVar1 < 10) || (*(int *)((int)param_1 + 3) != 0x69737361)) ||\n          (*(short *)((int)param_1 + 7) != 0x6e67)) || (*(char *)((int)param_1 + 9) != '_')) {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar1 - 3 == sVar3) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            goto LAB_001d0f9a;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n      else {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar3 == sVar1 - 10) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n    }\n    else {\nLAB_001d0fd3:\n      if (((4 < sVar1) && (*param_1 == 0x65707974)) &&\n         (pcVar2 = strchr(&DAT_0038f37c,(int)(char)param_1[1]), pcVar2 != (char *)0x0))\n      goto LAB_001d100a;\n    }\n  }\nLAB_001d0eb3:\n  uVar6 = 0;\nLAB_001d0eb5:\n  FUN_001cd9e0();\n  return uVar6;\n}" (type_identifier "undefined4") (function_declarator "FUN_001d0e50(int *param_1,char *param_2)" (identifier "FUN_001d0e50") (parameter_list "(int *param_1,char *param_2)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "char *param_2" (primitive_type "char") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) () ")"))) (compound_statement "{\n  size_t sVar1;\n  char *pcVar2;\n  size_t sVar3;\n  int iVar4;\n  int iVar5;\n  undefined4 uVar6;\n  undefined **ppuVar7;\n  short *psVar8;\n  undefined4 *puVar9;\n  byte bVar10;\n  char *local_88;\n  int local_84;\n  undefined4 local_78 [25];\n  undefined4 uStack_14;\n  \n  bVar10 = 0;\n  uStack_14 = 0x1d0e59;\n  sVar1 = strlen((char *)param_1);\n  *param_2 = '\0';\n  puVar9 = local_78;\n  for (iVar5 = 0x17; iVar5 != 0; iVar5 = iVar5 + -1) {\n    *puVar9 = 0;\n    puVar9 = puVar9 + (uint)bVar10 * -2 + 1;\n  }\n  if ((char)*param_1 == '_') {\n    if (*(char *)((int)param_1 + 1) == '_') {\n      bVar10 = *(byte *)((int)param_1 + 2);\n      if ((bVar10 != 0x6f) || (*(char *)((int)param_1 + 3) != 'p')) {\n        if ((((&DAT_002a3600)[(uint)bVar10 * 2] & 8) != 0) &&\n           (((&DAT_002a3600)[(uint)*(byte *)((int)param_1 + 3) * 2] & 8) != 0)) {\n          if ((char)param_1[1] == '\0') {\n            psVar8 = &DAT_002a0b15;\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            sVar1 = 2;\n            while( true ) {\n              if ((sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2))) goto LAB_001d112b;\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) break;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            }\n          }\n          else if ((bVar10 == 0x61) && (*(char *)((int)param_1 + 5) == '\0')) {\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            do {\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||\n                    ((char)psVar8[1] != (char)param_1[1]));\nLAB_001d112b:\n            builtin_strncpy(param_2,"operator",9);\nLAB_001d0f9a:\n            strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            goto LAB_001d0eb5;\n          }\n          goto LAB_001d0eb3;\n        }\n        goto LAB_001d0fca;\n      }\nLAB_001d100a:\n      iVar5 = FUN_001cf7b0();\n      if (iVar5 != 0) {\n        sVar1 = strlen(param_2);\n        builtin_strncpy(param_2 + sVar1,"operator ",10);\n        strncat(param_2,local_88,local_84 - (int)local_88);\n        free(local_88);\n        uVar6 = 1;\n        goto LAB_001d0eb5;\n      }\n    }\n    else {\nLAB_001d0fca:\n      if (2 < sVar1) goto LAB_001d0fd3;\n    }\n  }\n  else if (2 < sVar1) {\n    if ((((char)*param_1 == 'o') && (*(char *)((int)param_1 + 1) == 'p')) &&\n       (pcVar2 = strchr(&DAT_0038f37c,(int)*(char *)((int)param_1 + 2)), pcVar2 != (char *)0x0)) {\n      if ((((sVar1 < 10) || (*(int *)((int)param_1 + 3) != 0x69737361)) ||\n          (*(short *)((int)param_1 + 7) != 0x6e67)) || (*(char *)((int)param_1 + 9) != '_')) {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar1 - 3 == sVar3) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            goto LAB_001d0f9a;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n      else {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar3 == sVar1 - 10) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n    }\n    else {\nLAB_001d0fd3:\n      if (((4 < sVar1) && (*param_1 == 0x65707974)) &&\n         (pcVar2 = strchr(&DAT_0038f37c,(int)(char)param_1[1]), pcVar2 != (char *)0x0))\n      goto LAB_001d100a;\n    }\n  }\nLAB_001d0eb3:\n  uVar6 = 0;\nLAB_001d0eb5:\n  FUN_001cd9e0();\n  return uVar6;\n}" ({ "{") (declaration "size_t sVar1;" (primitive_type "size_t") (identifier "sVar1") (; ";")) (declaration "char *pcVar2;" (primitive_type "char") (pointer_declarator "*pcVar2" (* "*") (identifier "pcVar2")) (; ";")) (declaration "size_t sVar3;" (primitive_type "size_t") (identifier "sVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "undefined4 uVar6;" (type_identifier "undefined4") (identifier "uVar6") (; ";")) (declaration "undefined **ppuVar7;" (type_identifier "undefined") (pointer_declarator "**ppuVar7" (* "*") (pointer_declarator "*ppuVar7" (* "*") (identifier "ppuVar7"))) (; ";")) (declaration "short *psVar8;" (sized_type_specifier "short" (short "short")) (pointer_declarator "*psVar8" (* "*") (identifier "psVar8")) (; ";")) (declaration "undefined4 *puVar9;" (type_identifier "undefined4") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (declaration "byte bVar10;" (type_identifier "byte") (identifier "bVar10") (; ";")) (declaration "char *local_88;" (primitive_type "char") (pointer_declarator "*local_88" (* "*") (identifier "local_88")) (; ";")) (declaration "int local_84;" (primitive_type "int") (identifier "local_84") (; ";")) (declaration "undefined4 local_78 [25];" (type_identifier "undefined4") (array_declarator "local_78 [25]" (identifier "local_78") ([ "[") (number_literal "25") (] "]")) (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "bVar10 = 0;" (assignment_expression "bVar10 = 0" (identifier "bVar10") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_14 = 0x1d0e59;" (assignment_expression "uStack_14 = 0x1d0e59" (identifier "uStack_14") (= "=") (number_literal "0x1d0e59")) (; ";")) (expression_statement "sVar1 = strlen((char *)param_1);" (assignment_expression "sVar1 = strlen((char *)param_1)" (identifier "sVar1") (= "=") (call_expression "strlen((char *)param_1)" (identifier "strlen") (argument_list "((char *)param_1)" (( "(") (cast_expression "(char *)param_1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1")) () ")")))) (; ";")) (expression_statement "*param_2 = '\0';" (assignment_expression "*param_2 = '\0'" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "puVar9 = local_78;" (assignment_expression "puVar9 = local_78" (identifier "puVar9") (= "=") (identifier "local_78")) (; ";")) (for_statement "for (iVar5 = 0x17; iVar5 != 0; iVar5 = iVar5 + -1) {\n    *puVar9 = 0;\n    puVar9 = puVar9 + (uint)bVar10 * -2 + 1;\n  }" (for "for") (( "(") (assignment_expression "iVar5 = 0x17" (identifier "iVar5") (= "=") (number_literal "0x17")) (; ";") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "iVar5 = iVar5 + -1" (identifier "iVar5") (= "=") (binary_expression "iVar5 + -1" (identifier "iVar5") (+ "+") (number_literal "-1"))) () ")") (compound_statement "{\n    *puVar9 = 0;\n    puVar9 = puVar9 + (uint)bVar10 * -2 + 1;\n  }" ({ "{") (expression_statement "*puVar9 = 0;" (assignment_expression "*puVar9 = 0" (pointer_expression "*puVar9" (* "*") (identifier "puVar9")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar9 = puVar9 + (uint)bVar10 * -2 + 1;" (assignment_expression "puVar9 = puVar9 + (uint)bVar10 * -2 + 1" (identifier "puVar9") (= "=") (binary_expression "puVar9 + (uint)bVar10 * -2 + 1" (binary_expression "puVar9 + (uint)bVar10 * -2" (identifier "puVar9") (+ "+") (binary_expression "(uint)bVar10 * -2" (cast_expression "(uint)bVar10" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar10")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (if_statement "if ((char)*param_1 == '_') {\n    if (*(char *)((int)param_1 + 1) == '_') {\n      bVar10 = *(byte *)((int)param_1 + 2);\n      if ((bVar10 != 0x6f) || (*(char *)((int)param_1 + 3) != 'p')) {\n        if ((((&DAT_002a3600)[(uint)bVar10 * 2] & 8) != 0) &&\n           (((&DAT_002a3600)[(uint)*(byte *)((int)param_1 + 3) * 2] & 8) != 0)) {\n          if ((char)param_1[1] == '\0') {\n            psVar8 = &DAT_002a0b15;\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            sVar1 = 2;\n            while( true ) {\n              if ((sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2))) goto LAB_001d112b;\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) break;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            }\n          }\n          else if ((bVar10 == 0x61) && (*(char *)((int)param_1 + 5) == '\0')) {\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            do {\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||\n                    ((char)psVar8[1] != (char)param_1[1]));\nLAB_001d112b:\n            builtin_strncpy(param_2,"operator",9);\nLAB_001d0f9a:\n            strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            goto LAB_001d0eb5;\n          }\n          goto LAB_001d0eb3;\n        }\n        goto LAB_001d0fca;\n      }\nLAB_001d100a:\n      iVar5 = FUN_001cf7b0();\n      if (iVar5 != 0) {\n        sVar1 = strlen(param_2);\n        builtin_strncpy(param_2 + sVar1,"operator ",10);\n        strncat(param_2,local_88,local_84 - (int)local_88);\n        free(local_88);\n        uVar6 = 1;\n        goto LAB_001d0eb5;\n      }\n    }\n    else {\nLAB_001d0fca:\n      if (2 < sVar1) goto LAB_001d0fd3;\n    }\n  }\n  else if (2 < sVar1) {\n    if ((((char)*param_1 == 'o') && (*(char *)((int)param_1 + 1) == 'p')) &&\n       (pcVar2 = strchr(&DAT_0038f37c,(int)*(char *)((int)param_1 + 2)), pcVar2 != (char *)0x0)) {\n      if ((((sVar1 < 10) || (*(int *)((int)param_1 + 3) != 0x69737361)) ||\n          (*(short *)((int)param_1 + 7) != 0x6e67)) || (*(char *)((int)param_1 + 9) != '_')) {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar1 - 3 == sVar3) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            goto LAB_001d0f9a;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n      else {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar3 == sVar1 - 10) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n    }\n    else {\nLAB_001d0fd3:\n      if (((4 < sVar1) && (*param_1 == 0x65707974)) &&\n         (pcVar2 = strchr(&DAT_0038f37c,(int)(char)param_1[1]), pcVar2 != (char *)0x0))\n      goto LAB_001d100a;\n    }\n  }" (if "if") (parenthesized_expression "((char)*param_1 == '_')" (( "(") (binary_expression "(char)*param_1 == '_'" (cast_expression "(char)*param_1" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (== "==") (char_literal "'_'" (' "'") (character "_") (' "'"))) () ")")) (compound_statement "{\n    if (*(char *)((int)param_1 + 1) == '_') {\n      bVar10 = *(byte *)((int)param_1 + 2);\n      if ((bVar10 != 0x6f) || (*(char *)((int)param_1 + 3) != 'p')) {\n        if ((((&DAT_002a3600)[(uint)bVar10 * 2] & 8) != 0) &&\n           (((&DAT_002a3600)[(uint)*(byte *)((int)param_1 + 3) * 2] & 8) != 0)) {\n          if ((char)param_1[1] == '\0') {\n            psVar8 = &DAT_002a0b15;\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            sVar1 = 2;\n            while( true ) {\n              if ((sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2))) goto LAB_001d112b;\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) break;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            }\n          }\n          else if ((bVar10 == 0x61) && (*(char *)((int)param_1 + 5) == '\0')) {\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            do {\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||\n                    ((char)psVar8[1] != (char)param_1[1]));\nLAB_001d112b:\n            builtin_strncpy(param_2,"operator",9);\nLAB_001d0f9a:\n            strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            goto LAB_001d0eb5;\n          }\n          goto LAB_001d0eb3;\n        }\n        goto LAB_001d0fca;\n      }\nLAB_001d100a:\n      iVar5 = FUN_001cf7b0();\n      if (iVar5 != 0) {\n        sVar1 = strlen(param_2);\n        builtin_strncpy(param_2 + sVar1,"operator ",10);\n        strncat(param_2,local_88,local_84 - (int)local_88);\n        free(local_88);\n        uVar6 = 1;\n        goto LAB_001d0eb5;\n      }\n    }\n    else {\nLAB_001d0fca:\n      if (2 < sVar1) goto LAB_001d0fd3;\n    }\n  }" ({ "{") (if_statement "if (*(char *)((int)param_1 + 1) == '_') {\n      bVar10 = *(byte *)((int)param_1 + 2);\n      if ((bVar10 != 0x6f) || (*(char *)((int)param_1 + 3) != 'p')) {\n        if ((((&DAT_002a3600)[(uint)bVar10 * 2] & 8) != 0) &&\n           (((&DAT_002a3600)[(uint)*(byte *)((int)param_1 + 3) * 2] & 8) != 0)) {\n          if ((char)param_1[1] == '\0') {\n            psVar8 = &DAT_002a0b15;\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            sVar1 = 2;\n            while( true ) {\n              if ((sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2))) goto LAB_001d112b;\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) break;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            }\n          }\n          else if ((bVar10 == 0x61) && (*(char *)((int)param_1 + 5) == '\0')) {\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            do {\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||\n                    ((char)psVar8[1] != (char)param_1[1]));\nLAB_001d112b:\n            builtin_strncpy(param_2,"operator",9);\nLAB_001d0f9a:\n            strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            goto LAB_001d0eb5;\n          }\n          goto LAB_001d0eb3;\n        }\n        goto LAB_001d0fca;\n      }\nLAB_001d100a:\n      iVar5 = FUN_001cf7b0();\n      if (iVar5 != 0) {\n        sVar1 = strlen(param_2);\n        builtin_strncpy(param_2 + sVar1,"operator ",10);\n        strncat(param_2,local_88,local_84 - (int)local_88);\n        free(local_88);\n        uVar6 = 1;\n        goto LAB_001d0eb5;\n      }\n    }\n    else {\nLAB_001d0fca:\n      if (2 < sVar1) goto LAB_001d0fd3;\n    }" (if "if") (parenthesized_expression "(*(char *)((int)param_1 + 1) == '_')" (( "(") (binary_expression "*(char *)((int)param_1 + 1) == '_'" (pointer_expression "*(char *)((int)param_1 + 1)" (* "*") (cast_expression "(char *)((int)param_1 + 1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 1)" (( "(") (binary_expression "(int)param_1 + 1" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "1")) () ")")))) (== "==") (char_literal "'_'" (' "'") (character "_") (' "'"))) () ")")) (compound_statement "{\n      bVar10 = *(byte *)((int)param_1 + 2);\n      if ((bVar10 != 0x6f) || (*(char *)((int)param_1 + 3) != 'p')) {\n        if ((((&DAT_002a3600)[(uint)bVar10 * 2] & 8) != 0) &&\n           (((&DAT_002a3600)[(uint)*(byte *)((int)param_1 + 3) * 2] & 8) != 0)) {\n          if ((char)param_1[1] == '\0') {\n            psVar8 = &DAT_002a0b15;\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            sVar1 = 2;\n            while( true ) {\n              if ((sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2))) goto LAB_001d112b;\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) break;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            }\n          }\n          else if ((bVar10 == 0x61) && (*(char *)((int)param_1 + 5) == '\0')) {\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            do {\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||\n                    ((char)psVar8[1] != (char)param_1[1]));\nLAB_001d112b:\n            builtin_strncpy(param_2,"operator",9);\nLAB_001d0f9a:\n            strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            goto LAB_001d0eb5;\n          }\n          goto LAB_001d0eb3;\n        }\n        goto LAB_001d0fca;\n      }\nLAB_001d100a:\n      iVar5 = FUN_001cf7b0();\n      if (iVar5 != 0) {\n        sVar1 = strlen(param_2);\n        builtin_strncpy(param_2 + sVar1,"operator ",10);\n        strncat(param_2,local_88,local_84 - (int)local_88);\n        free(local_88);\n        uVar6 = 1;\n        goto LAB_001d0eb5;\n      }\n    }" ({ "{") (expression_statement "bVar10 = *(byte *)((int)param_1 + 2);" (assignment_expression "bVar10 = *(byte *)((int)param_1 + 2)" (identifier "bVar10") (= "=") (pointer_expression "*(byte *)((int)param_1 + 2)" (* "*") (cast_expression "(byte *)((int)param_1 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 2)" (( "(") (binary_expression "(int)param_1 + 2" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "2")) () ")"))))) (; ";")) (if_statement "if ((bVar10 != 0x6f) || (*(char *)((int)param_1 + 3) != 'p')) {\n        if ((((&DAT_002a3600)[(uint)bVar10 * 2] & 8) != 0) &&\n           (((&DAT_002a3600)[(uint)*(byte *)((int)param_1 + 3) * 2] & 8) != 0)) {\n          if ((char)param_1[1] == '\0') {\n            psVar8 = &DAT_002a0b15;\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            sVar1 = 2;\n            while( true ) {\n              if ((sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2))) goto LAB_001d112b;\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) break;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            }\n          }\n          else if ((bVar10 == 0x61) && (*(char *)((int)param_1 + 5) == '\0')) {\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            do {\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||\n                    ((char)psVar8[1] != (char)param_1[1]));\nLAB_001d112b:\n            builtin_strncpy(param_2,"operator",9);\nLAB_001d0f9a:\n            strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            goto LAB_001d0eb5;\n          }\n          goto LAB_001d0eb3;\n        }\n        goto LAB_001d0fca;\n      }" (if "if") (parenthesized_expression "((bVar10 != 0x6f) || (*(char *)((int)param_1 + 3) != 'p'))" (( "(") (binary_expression "(bVar10 != 0x6f) || (*(char *)((int)param_1 + 3) != 'p')" (parenthesized_expression "(bVar10 != 0x6f)" (( "(") (binary_expression "bVar10 != 0x6f" (identifier "bVar10") (!= "!=") (number_literal "0x6f")) () ")")) (|| "||") (parenthesized_expression "(*(char *)((int)param_1 + 3) != 'p')" (( "(") (binary_expression "*(char *)((int)param_1 + 3) != 'p'" (pointer_expression "*(char *)((int)param_1 + 3)" (* "*") (cast_expression "(char *)((int)param_1 + 3)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 3)" (( "(") (binary_expression "(int)param_1 + 3" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "3")) () ")")))) (!= "!=") (char_literal "'p'" (' "'") (character "p") (' "'"))) () ")"))) () ")")) (compound_statement "{\n        if ((((&DAT_002a3600)[(uint)bVar10 * 2] & 8) != 0) &&\n           (((&DAT_002a3600)[(uint)*(byte *)((int)param_1 + 3) * 2] & 8) != 0)) {\n          if ((char)param_1[1] == '\0') {\n            psVar8 = &DAT_002a0b15;\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            sVar1 = 2;\n            while( true ) {\n              if ((sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2))) goto LAB_001d112b;\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) break;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            }\n          }\n          else if ((bVar10 == 0x61) && (*(char *)((int)param_1 + 5) == '\0')) {\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            do {\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||\n                    ((char)psVar8[1] != (char)param_1[1]));\nLAB_001d112b:\n            builtin_strncpy(param_2,"operator",9);\nLAB_001d0f9a:\n            strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            goto LAB_001d0eb5;\n          }\n          goto LAB_001d0eb3;\n        }\n        goto LAB_001d0fca;\n      }" ({ "{") (if_statement "if ((((&DAT_002a3600)[(uint)bVar10 * 2] & 8) != 0) &&\n           (((&DAT_002a3600)[(uint)*(byte *)((int)param_1 + 3) * 2] & 8) != 0)) {\n          if ((char)param_1[1] == '\0') {\n            psVar8 = &DAT_002a0b15;\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            sVar1 = 2;\n            while( true ) {\n              if ((sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2))) goto LAB_001d112b;\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) break;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            }\n          }\n          else if ((bVar10 == 0x61) && (*(char *)((int)param_1 + 5) == '\0')) {\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            do {\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||\n                    ((char)psVar8[1] != (char)param_1[1]));\nLAB_001d112b:\n            builtin_strncpy(param_2,"operator",9);\nLAB_001d0f9a:\n            strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            goto LAB_001d0eb5;\n          }\n          goto LAB_001d0eb3;\n        }" (if "if") (parenthesized_expression "((((&DAT_002a3600)[(uint)bVar10 * 2] & 8) != 0) &&\n           (((&DAT_002a3600)[(uint)*(byte *)((int)param_1 + 3) * 2] & 8) != 0))" (( "(") (binary_expression "(((&DAT_002a3600)[(uint)bVar10 * 2] & 8) != 0) &&\n           (((&DAT_002a3600)[(uint)*(byte *)((int)param_1 + 3) * 2] & 8) != 0)" (parenthesized_expression "(((&DAT_002a3600)[(uint)bVar10 * 2] & 8) != 0)" (( "(") (binary_expression "((&DAT_002a3600)[(uint)bVar10 * 2] & 8) != 0" (parenthesized_expression "((&DAT_002a3600)[(uint)bVar10 * 2] & 8)" (( "(") (binary_expression "(&DAT_002a3600)[(uint)bVar10 * 2] & 8" (subscript_expression "(&DAT_002a3600)[(uint)bVar10 * 2]" (parenthesized_expression "(&DAT_002a3600)" (( "(") (pointer_expression "&DAT_002a3600" (& "&") (identifier "DAT_002a3600")) () ")")) ([ "[") (binary_expression "(uint)bVar10 * 2" (cast_expression "(uint)bVar10" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar10")) (* "*") (number_literal "2")) (] "]")) (& "&") (number_literal "8")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(((&DAT_002a3600)[(uint)*(byte *)((int)param_1 + 3) * 2] & 8) != 0)" (( "(") (binary_expression "((&DAT_002a3600)[(uint)*(byte *)((int)param_1 + 3) * 2] & 8) != 0" (parenthesized_expression "((&DAT_002a3600)[(uint)*(byte *)((int)param_1 + 3) * 2] & 8)" (( "(") (binary_expression "(&DAT_002a3600)[(uint)*(byte *)((int)param_1 + 3) * 2] & 8" (subscript_expression "(&DAT_002a3600)[(uint)*(byte *)((int)param_1 + 3) * 2]" (parenthesized_expression "(&DAT_002a3600)" (( "(") (pointer_expression "&DAT_002a3600" (& "&") (identifier "DAT_002a3600")) () ")")) ([ "[") (binary_expression "(uint)*(byte *)((int)param_1 + 3) * 2" (binary_expression "(uint)*(byte *)((int)param_1 + 3)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)((int)param_1 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 3)" (( "(") (binary_expression "(int)param_1 + 3" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "3")) () ")")))) (* "*") (number_literal "2")) (] "]")) (& "&") (number_literal "8")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n          if ((char)param_1[1] == '\0') {\n            psVar8 = &DAT_002a0b15;\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            sVar1 = 2;\n            while( true ) {\n              if ((sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2))) goto LAB_001d112b;\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) break;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            }\n          }\n          else if ((bVar10 == 0x61) && (*(char *)((int)param_1 + 5) == '\0')) {\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            do {\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||\n                    ((char)psVar8[1] != (char)param_1[1]));\nLAB_001d112b:\n            builtin_strncpy(param_2,"operator",9);\nLAB_001d0f9a:\n            strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            goto LAB_001d0eb5;\n          }\n          goto LAB_001d0eb3;\n        }" ({ "{") (if_statement "if ((char)param_1[1] == '\0') {\n            psVar8 = &DAT_002a0b15;\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            sVar1 = 2;\n            while( true ) {\n              if ((sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2))) goto LAB_001d112b;\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) break;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            }\n          }\n          else if ((bVar10 == 0x61) && (*(char *)((int)param_1 + 5) == '\0')) {\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            do {\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||\n                    ((char)psVar8[1] != (char)param_1[1]));\nLAB_001d112b:\n            builtin_strncpy(param_2,"operator",9);\nLAB_001d0f9a:\n            strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            goto LAB_001d0eb5;\n          }" (if "if") (parenthesized_expression "((char)param_1[1] == '\0')" (( "(") (binary_expression "(char)param_1[1] == '\0'" (cast_expression "(char)param_1[1]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            psVar8 = &DAT_002a0b15;\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            sVar1 = 2;\n            while( true ) {\n              if ((sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2))) goto LAB_001d112b;\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) break;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            }\n          }" ({ "{") (expression_statement "psVar8 = &DAT_002a0b15;" (assignment_expression "psVar8 = &DAT_002a0b15" (identifier "psVar8") (= "=") (pointer_expression "&DAT_002a0b15" (& "&") (identifier "DAT_002a0b15"))) (; ";")) (expression_statement "ppuVar7 = &PTR_DAT_003864cc;" (assignment_expression "ppuVar7 = &PTR_DAT_003864cc" (identifier "ppuVar7") (= "=") (pointer_expression "&PTR_DAT_003864cc" (& "&") (identifier "PTR_DAT_003864cc"))) (; ";")) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" (identifier "iVar5") (= "=") (number_literal "0")) (; ";")) (expression_statement "sVar1 = 2;" (assignment_expression "sVar1 = 2" (identifier "sVar1") (= "=") (number_literal "2")) (; ";")) (while_statement "while( true ) {\n              if ((sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2))) goto LAB_001d112b;\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) break;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n              if ((sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2))) goto LAB_001d112b;\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) break;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            }" ({ "{") (if_statement "if ((sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2))) goto LAB_001d112b;" (if "if") (parenthesized_expression "((sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2)))" (( "(") (binary_expression "(sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2))" (parenthesized_expression "(sVar1 == 2)" (( "(") (binary_expression "sVar1 == 2" (identifier "sVar1") (== "==") (number_literal "2")) () ")")) (&& "&&") (parenthesized_expression "(*psVar8 == *(short *)((int)param_1 + 2))" (( "(") (binary_expression "*psVar8 == *(short *)((int)param_1 + 2)" (pointer_expression "*psVar8" (* "*") (identifier "psVar8")) (== "==") (pointer_expression "*(short *)((int)param_1 + 2)" (* "*") (cast_expression "(short *)((int)param_1 + 2)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 2)" (( "(") (binary_expression "(int)param_1 + 2" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "2")) () ")"))))) () ")"))) () ")")) (goto_statement "goto LAB_001d112b;" (goto "goto") (statement_identifier "LAB_001d112b") (; ";"))) (expression_statement "iVar5 = iVar5 + 1;" (assignment_expression "iVar5 = iVar5 + 1" (identifier "iVar5") (= "=") (binary_expression "iVar5 + 1" (identifier "iVar5") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (iVar5 == 0x4f) break;" (if "if") (parenthesized_expression "(iVar5 == 0x4f)" (( "(") (binary_expression "iVar5 == 0x4f" (identifier "iVar5") (== "==") (number_literal "0x4f")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "psVar8 = (short *)*ppuVar7;" (assignment_expression "psVar8 = (short *)*ppuVar7" (identifier "psVar8") (= "=") (cast_expression "(short *)*ppuVar7" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*ppuVar7" (* "*") (identifier "ppuVar7")))) (; ";")) (expression_statement "ppuVar7 = ppuVar7 + 3;" (assignment_expression "ppuVar7 = ppuVar7 + 3" (identifier "ppuVar7") (= "=") (binary_expression "ppuVar7 + 3" (identifier "ppuVar7") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "sVar1 = strlen((char *)psVar8);" (assignment_expression "sVar1 = strlen((char *)psVar8)" (identifier "sVar1") (= "=") (call_expression "strlen((char *)psVar8)" (identifier "strlen") (argument_list "((char *)psVar8)" (( "(") (cast_expression "(char *)psVar8" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "psVar8")) () ")")))) (; ";")) (} "}"))) (} "}")) (else_clause "else if ((bVar10 == 0x61) && (*(char *)((int)param_1 + 5) == '\0')) {\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            do {\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||\n                    ((char)psVar8[1] != (char)param_1[1]));\nLAB_001d112b:\n            builtin_strncpy(param_2,"operator",9);\nLAB_001d0f9a:\n            strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            goto LAB_001d0eb5;\n          }" (else "else") (if_statement "if ((bVar10 == 0x61) && (*(char *)((int)param_1 + 5) == '\0')) {\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            do {\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||\n                    ((char)psVar8[1] != (char)param_1[1]));\nLAB_001d112b:\n            builtin_strncpy(param_2,"operator",9);\nLAB_001d0f9a:\n            strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            goto LAB_001d0eb5;\n          }" (if "if") (parenthesized_expression "((bVar10 == 0x61) && (*(char *)((int)param_1 + 5) == '\0'))" (( "(") (binary_expression "(bVar10 == 0x61) && (*(char *)((int)param_1 + 5) == '\0')" (parenthesized_expression "(bVar10 == 0x61)" (( "(") (binary_expression "bVar10 == 0x61" (identifier "bVar10") (== "==") (number_literal "0x61")) () ")")) (&& "&&") (parenthesized_expression "(*(char *)((int)param_1 + 5) == '\0')" (( "(") (binary_expression "*(char *)((int)param_1 + 5) == '\0'" (pointer_expression "*(char *)((int)param_1 + 5)" (* "*") (cast_expression "(char *)((int)param_1 + 5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 5)" (( "(") (binary_expression "(int)param_1 + 5" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "5")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n            ppuVar7 = &PTR_DAT_003864cc;\n            iVar5 = 0;\n            do {\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||\n                    ((char)psVar8[1] != (char)param_1[1]));\nLAB_001d112b:\n            builtin_strncpy(param_2,"operator",9);\nLAB_001d0f9a:\n            strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            goto LAB_001d0eb5;\n          }" ({ "{") (expression_statement "ppuVar7 = &PTR_DAT_003864cc;" (assignment_expression "ppuVar7 = &PTR_DAT_003864cc" (identifier "ppuVar7") (= "=") (pointer_expression "&PTR_DAT_003864cc" (& "&") (identifier "PTR_DAT_003864cc"))) (; ";")) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" (identifier "iVar5") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            } while (((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||\n                    ((char)psVar8[1] != (char)param_1[1]));" (do "do") (compound_statement "{\n              iVar5 = iVar5 + 1;\n              if (iVar5 == 0x4f) goto LAB_001d0eb3;\n              psVar8 = (short *)*ppuVar7;\n              ppuVar7 = ppuVar7 + 3;\n              sVar1 = strlen((char *)psVar8);\n            }" ({ "{") (expression_statement "iVar5 = iVar5 + 1;" (assignment_expression "iVar5 = iVar5 + 1" (identifier "iVar5") (= "=") (binary_expression "iVar5 + 1" (identifier "iVar5") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (iVar5 == 0x4f) goto LAB_001d0eb3;" (if "if") (parenthesized_expression "(iVar5 == 0x4f)" (( "(") (binary_expression "iVar5 == 0x4f" (identifier "iVar5") (== "==") (number_literal "0x4f")) () ")")) (goto_statement "goto LAB_001d0eb3;" (goto "goto") (statement_identifier "LAB_001d0eb3") (; ";"))) (expression_statement "psVar8 = (short *)*ppuVar7;" (assignment_expression "psVar8 = (short *)*ppuVar7" (identifier "psVar8") (= "=") (cast_expression "(short *)*ppuVar7" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*ppuVar7" (* "*") (identifier "ppuVar7")))) (; ";")) (expression_statement "ppuVar7 = ppuVar7 + 3;" (assignment_expression "ppuVar7 = ppuVar7 + 3" (identifier "ppuVar7") (= "=") (binary_expression "ppuVar7 + 3" (identifier "ppuVar7") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "sVar1 = strlen((char *)psVar8);" (assignment_expression "sVar1 = strlen((char *)psVar8)" (identifier "sVar1") (= "=") (call_expression "strlen((char *)psVar8)" (identifier "strlen") (argument_list "((char *)psVar8)" (( "(") (cast_expression "(char *)psVar8" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "psVar8")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||\n                    ((char)psVar8[1] != (char)param_1[1]))" (( "(") (binary_expression "((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||\n                    ((char)psVar8[1] != (char)param_1[1])" (parenthesized_expression "((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2)))" (( "(") (binary_expression "(sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))" (parenthesized_expression "(sVar1 != 3)" (( "(") (binary_expression "sVar1 != 3" (identifier "sVar1") (!= "!=") (number_literal "3")) () ")")) (|| "||") (parenthesized_expression "(*psVar8 != *(short *)((int)param_1 + 2))" (( "(") (binary_expression "*psVar8 != *(short *)((int)param_1 + 2)" (pointer_expression "*psVar8" (* "*") (identifier "psVar8")) (!= "!=") (pointer_expression "*(short *)((int)param_1 + 2)" (* "*") (cast_expression "(short *)((int)param_1 + 2)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 2)" (( "(") (binary_expression "(int)param_1 + 2" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "2")) () ")"))))) () ")"))) () ")")) (|| "||") (parenthesized_expression "((char)psVar8[1] != (char)param_1[1])" (( "(") (binary_expression "(char)psVar8[1] != (char)param_1[1]" (cast_expression "(char)psVar8[1]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "psVar8[1]" (identifier "psVar8") ([ "[") (number_literal "1") (] "]"))) (!= "!=") (cast_expression "(char)param_1[1]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")))) () ")"))) () ")")) (; ";")) (labeled_statement "LAB_001d112b:\n            builtin_strncpy(param_2,"operator",9);" (statement_identifier "LAB_001d112b") (: ":") (expression_statement "builtin_strncpy(param_2,"operator",9);" (call_expression "builtin_strncpy(param_2,"operator",9)" (identifier "builtin_strncpy") (argument_list "(param_2,"operator",9)" (( "(") (identifier "param_2") (, ",") (string_literal ""operator"" (" """) (string_content "operator") (" """)) (, ",") (number_literal "9") () ")"))) (; ";"))) (labeled_statement "LAB_001d0f9a:\n            strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);" (statement_identifier "LAB_001d0f9a") (: ":") (expression_statement "strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);" (call_expression "strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3])" (identifier "strcpy") (argument_list "(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3])" (( "(") (binary_expression "param_2 + 8" (identifier "param_2") (+ "+") (number_literal "8")) (, ",") (subscript_expression "(&PTR_s_new_003864c4)[iVar5 * 3]" (parenthesized_expression "(&PTR_s_new_003864c4)" (( "(") (pointer_expression "&PTR_s_new_003864c4" (& "&") (identifier "PTR_s_new_003864c4")) () ")")) ([ "[") (binary_expression "iVar5 * 3" (identifier "iVar5") (* "*") (number_literal "3")) (] "]")) () ")"))) (; ";"))) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" (identifier "uVar6") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_001d0eb5;" (goto "goto") (statement_identifier "LAB_001d0eb5") (; ";")) (} "}"))))) (goto_statement "goto LAB_001d0eb3;" (goto "goto") (statement_identifier "LAB_001d0eb3") (; ";")) (} "}"))) (goto_statement "goto LAB_001d0fca;" (goto "goto") (statement_identifier "LAB_001d0fca") (; ";")) (} "}"))) (labeled_statement "LAB_001d100a:\n      iVar5 = FUN_001cf7b0();" (statement_identifier "LAB_001d100a") (: ":") (expression_statement "iVar5 = FUN_001cf7b0();" (assignment_expression "iVar5 = FUN_001cf7b0()" (identifier "iVar5") (= "=") (call_expression "FUN_001cf7b0()" (identifier "FUN_001cf7b0") (argument_list "()" (( "(") () ")")))) (; ";"))) (if_statement "if (iVar5 != 0) {\n        sVar1 = strlen(param_2);\n        builtin_strncpy(param_2 + sVar1,"operator ",10);\n        strncat(param_2,local_88,local_84 - (int)local_88);\n        free(local_88);\n        uVar6 = 1;\n        goto LAB_001d0eb5;\n      }" (if "if") (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        sVar1 = strlen(param_2);\n        builtin_strncpy(param_2 + sVar1,"operator ",10);\n        strncat(param_2,local_88,local_84 - (int)local_88);\n        free(local_88);\n        uVar6 = 1;\n        goto LAB_001d0eb5;\n      }" ({ "{") (expression_statement "sVar1 = strlen(param_2);" (assignment_expression "sVar1 = strlen(param_2)" (identifier "sVar1") (= "=") (call_expression "strlen(param_2)" (identifier "strlen") (argument_list "(param_2)" (( "(") (identifier "param_2") () ")")))) (; ";")) (expression_statement "builtin_strncpy(param_2 + sVar1,"operator ",10);" (call_expression "builtin_strncpy(param_2 + sVar1,"operator ",10)" (identifier "builtin_strncpy") (argument_list "(param_2 + sVar1,"operator ",10)" (( "(") (binary_expression "param_2 + sVar1" (identifier "param_2") (+ "+") (identifier "sVar1")) (, ",") (string_literal ""operator "" (" """) (string_content "operator ") (" """)) (, ",") (number_literal "10") () ")"))) (; ";")) (expression_statement "strncat(param_2,local_88,local_84 - (int)local_88);" (call_expression "strncat(param_2,local_88,local_84 - (int)local_88)" (identifier "strncat") (argument_list "(param_2,local_88,local_84 - (int)local_88)" (( "(") (identifier "param_2") (, ",") (identifier "local_88") (, ",") (binary_expression "local_84 - (int)local_88" (identifier "local_84") (- "-") (cast_expression "(int)local_88" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_88"))) () ")"))) (; ";")) (expression_statement "free(local_88);" (call_expression "free(local_88)" (identifier "free") (argument_list "(local_88)" (( "(") (identifier "local_88") () ")"))) (; ";")) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" (identifier "uVar6") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_001d0eb5;" (goto "goto") (statement_identifier "LAB_001d0eb5") (; ";")) (} "}"))) (} "}")) (else_clause "else {\nLAB_001d0fca:\n      if (2 < sVar1) goto LAB_001d0fd3;\n    }" (else "else") (compound_statement "{\nLAB_001d0fca:\n      if (2 < sVar1) goto LAB_001d0fd3;\n    }" ({ "{") (labeled_statement "LAB_001d0fca:\n      if (2 < sVar1) goto LAB_001d0fd3;" (statement_identifier "LAB_001d0fca") (: ":") (if_statement "if (2 < sVar1) goto LAB_001d0fd3;" (if "if") (parenthesized_expression "(2 < sVar1)" (( "(") (binary_expression "2 < sVar1" (number_literal "2") (< "<") (identifier "sVar1")) () ")")) (goto_statement "goto LAB_001d0fd3;" (goto "goto") (statement_identifier "LAB_001d0fd3") (; ";")))) (} "}")))) (} "}")) (else_clause "else if (2 < sVar1) {\n    if ((((char)*param_1 == 'o') && (*(char *)((int)param_1 + 1) == 'p')) &&\n       (pcVar2 = strchr(&DAT_0038f37c,(int)*(char *)((int)param_1 + 2)), pcVar2 != (char *)0x0)) {\n      if ((((sVar1 < 10) || (*(int *)((int)param_1 + 3) != 0x69737361)) ||\n          (*(short *)((int)param_1 + 7) != 0x6e67)) || (*(char *)((int)param_1 + 9) != '_')) {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar1 - 3 == sVar3) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            goto LAB_001d0f9a;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n      else {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar3 == sVar1 - 10) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n    }\n    else {\nLAB_001d0fd3:\n      if (((4 < sVar1) && (*param_1 == 0x65707974)) &&\n         (pcVar2 = strchr(&DAT_0038f37c,(int)(char)param_1[1]), pcVar2 != (char *)0x0))\n      goto LAB_001d100a;\n    }\n  }" (else "else") (if_statement "if (2 < sVar1) {\n    if ((((char)*param_1 == 'o') && (*(char *)((int)param_1 + 1) == 'p')) &&\n       (pcVar2 = strchr(&DAT_0038f37c,(int)*(char *)((int)param_1 + 2)), pcVar2 != (char *)0x0)) {\n      if ((((sVar1 < 10) || (*(int *)((int)param_1 + 3) != 0x69737361)) ||\n          (*(short *)((int)param_1 + 7) != 0x6e67)) || (*(char *)((int)param_1 + 9) != '_')) {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar1 - 3 == sVar3) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            goto LAB_001d0f9a;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n      else {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar3 == sVar1 - 10) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n    }\n    else {\nLAB_001d0fd3:\n      if (((4 < sVar1) && (*param_1 == 0x65707974)) &&\n         (pcVar2 = strchr(&DAT_0038f37c,(int)(char)param_1[1]), pcVar2 != (char *)0x0))\n      goto LAB_001d100a;\n    }\n  }" (if "if") (parenthesized_expression "(2 < sVar1)" (( "(") (binary_expression "2 < sVar1" (number_literal "2") (< "<") (identifier "sVar1")) () ")")) (compound_statement "{\n    if ((((char)*param_1 == 'o') && (*(char *)((int)param_1 + 1) == 'p')) &&\n       (pcVar2 = strchr(&DAT_0038f37c,(int)*(char *)((int)param_1 + 2)), pcVar2 != (char *)0x0)) {\n      if ((((sVar1 < 10) || (*(int *)((int)param_1 + 3) != 0x69737361)) ||\n          (*(short *)((int)param_1 + 7) != 0x6e67)) || (*(char *)((int)param_1 + 9) != '_')) {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar1 - 3 == sVar3) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            goto LAB_001d0f9a;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n      else {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar3 == sVar1 - 10) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n    }\n    else {\nLAB_001d0fd3:\n      if (((4 < sVar1) && (*param_1 == 0x65707974)) &&\n         (pcVar2 = strchr(&DAT_0038f37c,(int)(char)param_1[1]), pcVar2 != (char *)0x0))\n      goto LAB_001d100a;\n    }\n  }" ({ "{") (if_statement "if ((((char)*param_1 == 'o') && (*(char *)((int)param_1 + 1) == 'p')) &&\n       (pcVar2 = strchr(&DAT_0038f37c,(int)*(char *)((int)param_1 + 2)), pcVar2 != (char *)0x0)) {\n      if ((((sVar1 < 10) || (*(int *)((int)param_1 + 3) != 0x69737361)) ||\n          (*(short *)((int)param_1 + 7) != 0x6e67)) || (*(char *)((int)param_1 + 9) != '_')) {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar1 - 3 == sVar3) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            goto LAB_001d0f9a;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n      else {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar3 == sVar1 - 10) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n    }\n    else {\nLAB_001d0fd3:\n      if (((4 < sVar1) && (*param_1 == 0x65707974)) &&\n         (pcVar2 = strchr(&DAT_0038f37c,(int)(char)param_1[1]), pcVar2 != (char *)0x0))\n      goto LAB_001d100a;\n    }" (if "if") (parenthesized_expression "((((char)*param_1 == 'o') && (*(char *)((int)param_1 + 1) == 'p')) &&\n       (pcVar2 = strchr(&DAT_0038f37c,(int)*(char *)((int)param_1 + 2)), pcVar2 != (char *)0x0))" (( "(") (binary_expression "(((char)*param_1 == 'o') && (*(char *)((int)param_1 + 1) == 'p')) &&\n       (pcVar2 = strchr(&DAT_0038f37c,(int)*(char *)((int)param_1 + 2)), pcVar2 != (char *)0x0)" (parenthesized_expression "(((char)*param_1 == 'o') && (*(char *)((int)param_1 + 1) == 'p'))" (( "(") (binary_expression "((char)*param_1 == 'o') && (*(char *)((int)param_1 + 1) == 'p')" (parenthesized_expression "((char)*param_1 == 'o')" (( "(") (binary_expression "(char)*param_1 == 'o'" (cast_expression "(char)*param_1" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (== "==") (char_literal "'o'" (' "'") (character "o") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(*(char *)((int)param_1 + 1) == 'p')" (( "(") (binary_expression "*(char *)((int)param_1 + 1) == 'p'" (pointer_expression "*(char *)((int)param_1 + 1)" (* "*") (cast_expression "(char *)((int)param_1 + 1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 1)" (( "(") (binary_expression "(int)param_1 + 1" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "1")) () ")")))) (== "==") (char_literal "'p'" (' "'") (character "p") (' "'"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(pcVar2 = strchr(&DAT_0038f37c,(int)*(char *)((int)param_1 + 2)), pcVar2 != (char *)0x0)" (( "(") (comma_expression "pcVar2 = strchr(&DAT_0038f37c,(int)*(char *)((int)param_1 + 2)), pcVar2 != (char *)0x0" (assignment_expression "pcVar2 = strchr(&DAT_0038f37c,(int)*(char *)((int)param_1 + 2))" (identifier "pcVar2") (= "=") (call_expression "strchr(&DAT_0038f37c,(int)*(char *)((int)param_1 + 2))" (identifier "strchr") (argument_list "(&DAT_0038f37c,(int)*(char *)((int)param_1 + 2))" (( "(") (pointer_expression "&DAT_0038f37c" (& "&") (identifier "DAT_0038f37c")) (, ",") (cast_expression "(int)*(char *)((int)param_1 + 2)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(char *)((int)param_1 + 2)" (* "*") (cast_expression "(char *)((int)param_1 + 2)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 2)" (( "(") (binary_expression "(int)param_1 + 2" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "2")) () ")"))))) () ")")))) (, ",") (binary_expression "pcVar2 != (char *)0x0" (identifier "pcVar2") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\n      if ((((sVar1 < 10) || (*(int *)((int)param_1 + 3) != 0x69737361)) ||\n          (*(short *)((int)param_1 + 7) != 0x6e67)) || (*(char *)((int)param_1 + 9) != '_')) {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar1 - 3 == sVar3) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            goto LAB_001d0f9a;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n      else {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar3 == sVar1 - 10) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n    }" ({ "{") (if_statement "if ((((sVar1 < 10) || (*(int *)((int)param_1 + 3) != 0x69737361)) ||\n          (*(short *)((int)param_1 + 7) != 0x6e67)) || (*(char *)((int)param_1 + 9) != '_')) {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar1 - 3 == sVar3) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            goto LAB_001d0f9a;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }\n      else {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar3 == sVar1 - 10) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }" (if "if") (parenthesized_expression "((((sVar1 < 10) || (*(int *)((int)param_1 + 3) != 0x69737361)) ||\n          (*(short *)((int)param_1 + 7) != 0x6e67)) || (*(char *)((int)param_1 + 9) != '_'))" (( "(") (binary_expression "(((sVar1 < 10) || (*(int *)((int)param_1 + 3) != 0x69737361)) ||\n          (*(short *)((int)param_1 + 7) != 0x6e67)) || (*(char *)((int)param_1 + 9) != '_')" (parenthesized_expression "(((sVar1 < 10) || (*(int *)((int)param_1 + 3) != 0x69737361)) ||\n          (*(short *)((int)param_1 + 7) != 0x6e67))" (( "(") (binary_expression "((sVar1 < 10) || (*(int *)((int)param_1 + 3) != 0x69737361)) ||\n          (*(short *)((int)param_1 + 7) != 0x6e67)" (parenthesized_expression "((sVar1 < 10) || (*(int *)((int)param_1 + 3) != 0x69737361))" (( "(") (binary_expression "(sVar1 < 10) || (*(int *)((int)param_1 + 3) != 0x69737361)" (parenthesized_expression "(sVar1 < 10)" (( "(") (binary_expression "sVar1 < 10" (identifier "sVar1") (< "<") (number_literal "10")) () ")")) (|| "||") (parenthesized_expression "(*(int *)((int)param_1 + 3) != 0x69737361)" (( "(") (binary_expression "*(int *)((int)param_1 + 3) != 0x69737361" (pointer_expression "*(int *)((int)param_1 + 3)" (* "*") (cast_expression "(int *)((int)param_1 + 3)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 3)" (( "(") (binary_expression "(int)param_1 + 3" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "3")) () ")")))) (!= "!=") (number_literal "0x69737361")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(*(short *)((int)param_1 + 7) != 0x6e67)" (( "(") (binary_expression "*(short *)((int)param_1 + 7) != 0x6e67" (pointer_expression "*(short *)((int)param_1 + 7)" (* "*") (cast_expression "(short *)((int)param_1 + 7)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 7)" (( "(") (binary_expression "(int)param_1 + 7" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "7")) () ")")))) (!= "!=") (number_literal "0x6e67")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(*(char *)((int)param_1 + 9) != '_')" (( "(") (binary_expression "*(char *)((int)param_1 + 9) != '_'" (pointer_expression "*(char *)((int)param_1 + 9)" (* "*") (cast_expression "(char *)((int)param_1 + 9)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 9)" (( "(") (binary_expression "(int)param_1 + 9" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "9")) () ")")))) (!= "!=") (char_literal "'_'" (' "'") (character "_") (' "'"))) () ")"))) () ")")) (compound_statement "{\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar1 - 3 == sVar3) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            goto LAB_001d0f9a;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }" ({ "{") (expression_statement "pcVar2 = "nw";" (assignment_expression "pcVar2 = "nw"" (identifier "pcVar2") (= "=") (string_literal ""nw"" (" """) (string_content "nw") (" """))) (; ";")) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" (identifier "iVar5") (= "=") (number_literal "0")) (; ";")) (expression_statement "ppuVar7 = &PTR_DAT_003864cc;" (assignment_expression "ppuVar7 = &PTR_DAT_003864cc" (identifier "ppuVar7") (= "=") (pointer_expression "&PTR_DAT_003864cc" (& "&") (identifier "PTR_DAT_003864cc"))) (; ";")) (expression_statement "sVar3 = 2;" (assignment_expression "sVar3 = 2" (identifier "sVar3") (= "=") (number_literal "2")) (; ";")) (while_statement "while( true ) {\n          if ((sVar1 - 3 == sVar3) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            goto LAB_001d0f9a;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n          if ((sVar1 - 3 == sVar3) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            goto LAB_001d0f9a;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }" ({ "{") (if_statement "if ((sVar1 - 3 == sVar3) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            goto LAB_001d0f9a;\n          }" (if "if") (parenthesized_expression "((sVar1 - 3 == sVar3) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0))" (( "(") (binary_expression "(sVar1 - 3 == sVar3) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0)" (parenthesized_expression "(sVar1 - 3 == sVar3)" (( "(") (binary_expression "sVar1 - 3 == sVar3" (binary_expression "sVar1 - 3" (identifier "sVar1") (- "-") (number_literal "3")) (== "==") (identifier "sVar3")) () ")")) (&& "&&") (parenthesized_expression "(iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0)" (( "(") (comma_expression "iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0" (assignment_expression "iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3)" (identifier "iVar4") (= "=") (call_expression "memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3)" (identifier "memcmp") (argument_list "(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3)" (( "(") (identifier "pcVar2") (, ",") (cast_expression "(void *)((int)param_1 + 3)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 3)" (( "(") (binary_expression "(int)param_1 + 3" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "3")) () ")"))) (, ",") (binary_expression "sVar1 - 3" (identifier "sVar1") (- "-") (number_literal "3")) () ")")))) (, ",") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n            builtin_strncpy(param_2,"operator",9);\n            goto LAB_001d0f9a;\n          }" ({ "{") (expression_statement "builtin_strncpy(param_2,"operator",9);" (call_expression "builtin_strncpy(param_2,"operator",9)" (identifier "builtin_strncpy") (argument_list "(param_2,"operator",9)" (( "(") (identifier "param_2") (, ",") (string_literal ""operator"" (" """) (string_content "operator") (" """)) (, ",") (number_literal "9") () ")"))) (; ";")) (goto_statement "goto LAB_001d0f9a;" (goto "goto") (statement_identifier "LAB_001d0f9a") (; ";")) (} "}"))) (expression_statement "iVar5 = iVar5 + 1;" (assignment_expression "iVar5 = iVar5 + 1" (identifier "iVar5") (= "=") (binary_expression "iVar5 + 1" (identifier "iVar5") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (iVar5 == 0x4f) break;" (if "if") (parenthesized_expression "(iVar5 == 0x4f)" (( "(") (binary_expression "iVar5 == 0x4f" (identifier "iVar5") (== "==") (number_literal "0x4f")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "pcVar2 = *ppuVar7;" (assignment_expression "pcVar2 = *ppuVar7" (identifier "pcVar2") (= "=") (pointer_expression "*ppuVar7" (* "*") (identifier "ppuVar7"))) (; ";")) (expression_statement "ppuVar7 = ppuVar7 + 3;" (assignment_expression "ppuVar7 = ppuVar7 + 3" (identifier "ppuVar7") (= "=") (binary_expression "ppuVar7 + 3" (identifier "ppuVar7") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "sVar3 = strlen(pcVar2);" (assignment_expression "sVar3 = strlen(pcVar2)" (identifier "sVar3") (= "=") (call_expression "strlen(pcVar2)" (identifier "strlen") (argument_list "(pcVar2)" (( "(") (identifier "pcVar2") () ")")))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar3 == sVar1 - 10) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }" (else "else") (compound_statement "{\n        pcVar2 = "nw";\n        iVar5 = 0;\n        ppuVar7 = &PTR_DAT_003864cc;\n        sVar3 = 2;\n        while( true ) {\n          if ((sVar3 == sVar1 - 10) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }\n      }" ({ "{") (expression_statement "pcVar2 = "nw";" (assignment_expression "pcVar2 = "nw"" (identifier "pcVar2") (= "=") (string_literal ""nw"" (" """) (string_content "nw") (" """))) (; ";")) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" (identifier "iVar5") (= "=") (number_literal "0")) (; ";")) (expression_statement "ppuVar7 = &PTR_DAT_003864cc;" (assignment_expression "ppuVar7 = &PTR_DAT_003864cc" (identifier "ppuVar7") (= "=") (pointer_expression "&PTR_DAT_003864cc" (& "&") (identifier "PTR_DAT_003864cc"))) (; ";")) (expression_statement "sVar3 = 2;" (assignment_expression "sVar3 = 2" (identifier "sVar3") (= "=") (number_literal "2")) (; ";")) (while_statement "while( true ) {\n          if ((sVar3 == sVar1 - 10) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n          if ((sVar3 == sVar1 - 10) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }\n          iVar5 = iVar5 + 1;\n          if (iVar5 == 0x4f) break;\n          pcVar2 = *ppuVar7;\n          ppuVar7 = ppuVar7 + 3;\n          sVar3 = strlen(pcVar2);\n        }" ({ "{") (if_statement "if ((sVar3 == sVar1 - 10) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0)) {\n            builtin_strncpy(param_2,"operator",9);\n            pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }" (if "if") (parenthesized_expression "((sVar3 == sVar1 - 10) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0))" (( "(") (binary_expression "(sVar3 == sVar1 - 10) &&\n             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0)" (parenthesized_expression "(sVar3 == sVar1 - 10)" (( "(") (binary_expression "sVar3 == sVar1 - 10" (identifier "sVar3") (== "==") (binary_expression "sVar1 - 10" (identifier "sVar1") (- "-") (number_literal "10"))) () ")")) (&& "&&") (parenthesized_expression "(iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0)" (( "(") (comma_expression "iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0" (assignment_expression "iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3)" (identifier "iVar4") (= "=") (call_expression "memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3)" (identifier "memcmp") (argument_list "(pcVar2,(void *)((int)param_1 + 10),sVar3)" (( "(") (identifier "pcVar2") (, ",") (cast_expression "(void *)((int)param_1 + 10)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 10)" (( "(") (binary_expression "(int)param_1 + 10" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "10")) () ")"))) (, ",") (identifier "sVar3") () ")")))) (, ",") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n            builtin_strncpy(param_2,"operator",9);\n            pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);\n            uVar6 = 1;\n            pcVar2[0] = '=';\n            pcVar2[1] = '\0';\n            goto LAB_001d0eb5;\n          }" ({ "{") (expression_statement "builtin_strncpy(param_2,"operator",9);" (call_expression "builtin_strncpy(param_2,"operator",9)" (identifier "builtin_strncpy") (argument_list "(param_2,"operator",9)" (( "(") (identifier "param_2") (, ",") (string_literal ""operator"" (" """) (string_content "operator") (" """)) (, ",") (number_literal "9") () ")"))) (; ";")) (expression_statement "pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);" (assignment_expression "pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3])" (identifier "pcVar2") (= "=") (call_expression "stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3])" (identifier "stpcpy") (argument_list "(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3])" (( "(") (binary_expression "param_2 + 8" (identifier "param_2") (+ "+") (number_literal "8")) (, ",") (subscript_expression "(&PTR_s_new_003864c4)[iVar5 * 3]" (parenthesized_expression "(&PTR_s_new_003864c4)" (( "(") (pointer_expression "&PTR_s_new_003864c4" (& "&") (identifier "PTR_s_new_003864c4")) () ")")) ([ "[") (binary_expression "iVar5 * 3" (identifier "iVar5") (* "*") (number_literal "3")) (] "]")) () ")")))) (; ";")) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" (identifier "uVar6") (= "=") (number_literal "1")) (; ";")) (expression_statement "pcVar2[0] = '=';" (assignment_expression "pcVar2[0] = '='" (subscript_expression "pcVar2[0]" (identifier "pcVar2") ([ "[") (number_literal "0") (] "]")) (= "=") (char_literal "'='" (' "'") (character "=") (' "'"))) (; ";")) (expression_statement "pcVar2[1] = '\0';" (assignment_expression "pcVar2[1] = '\0'" (subscript_expression "pcVar2[1]" (identifier "pcVar2") ([ "[") (number_literal "1") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (goto_statement "goto LAB_001d0eb5;" (goto "goto") (statement_identifier "LAB_001d0eb5") (; ";")) (} "}"))) (expression_statement "iVar5 = iVar5 + 1;" (assignment_expression "iVar5 = iVar5 + 1" (identifier "iVar5") (= "=") (binary_expression "iVar5 + 1" (identifier "iVar5") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (iVar5 == 0x4f) break;" (if "if") (parenthesized_expression "(iVar5 == 0x4f)" (( "(") (binary_expression "iVar5 == 0x4f" (identifier "iVar5") (== "==") (number_literal "0x4f")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "pcVar2 = *ppuVar7;" (assignment_expression "pcVar2 = *ppuVar7" (identifier "pcVar2") (= "=") (pointer_expression "*ppuVar7" (* "*") (identifier "ppuVar7"))) (; ";")) (expression_statement "ppuVar7 = ppuVar7 + 3;" (assignment_expression "ppuVar7 = ppuVar7 + 3" (identifier "ppuVar7") (= "=") (binary_expression "ppuVar7 + 3" (identifier "ppuVar7") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "sVar3 = strlen(pcVar2);" (assignment_expression "sVar3 = strlen(pcVar2)" (identifier "sVar3") (= "=") (call_expression "strlen(pcVar2)" (identifier "strlen") (argument_list "(pcVar2)" (( "(") (identifier "pcVar2") () ")")))) (; ";")) (} "}"))) (} "}")))) (} "}")) (else_clause "else {\nLAB_001d0fd3:\n      if (((4 < sVar1) && (*param_1 == 0x65707974)) &&\n         (pcVar2 = strchr(&DAT_0038f37c,(int)(char)param_1[1]), pcVar2 != (char *)0x0))\n      goto LAB_001d100a;\n    }" (else "else") (compound_statement "{\nLAB_001d0fd3:\n      if (((4 < sVar1) && (*param_1 == 0x65707974)) &&\n         (pcVar2 = strchr(&DAT_0038f37c,(int)(char)param_1[1]), pcVar2 != (char *)0x0))\n      goto LAB_001d100a;\n    }" ({ "{") (labeled_statement "LAB_001d0fd3:\n      if (((4 < sVar1) && (*param_1 == 0x65707974)) &&\n         (pcVar2 = strchr(&DAT_0038f37c,(int)(char)param_1[1]), pcVar2 != (char *)0x0))\n      goto LAB_001d100a;" (statement_identifier "LAB_001d0fd3") (: ":") (if_statement "if (((4 < sVar1) && (*param_1 == 0x65707974)) &&\n         (pcVar2 = strchr(&DAT_0038f37c,(int)(char)param_1[1]), pcVar2 != (char *)0x0))\n      goto LAB_001d100a;" (if "if") (parenthesized_expression "(((4 < sVar1) && (*param_1 == 0x65707974)) &&\n         (pcVar2 = strchr(&DAT_0038f37c,(int)(char)param_1[1]), pcVar2 != (char *)0x0))" (( "(") (binary_expression "((4 < sVar1) && (*param_1 == 0x65707974)) &&\n         (pcVar2 = strchr(&DAT_0038f37c,(int)(char)param_1[1]), pcVar2 != (char *)0x0)" (parenthesized_expression "((4 < sVar1) && (*param_1 == 0x65707974))" (( "(") (binary_expression "(4 < sVar1) && (*param_1 == 0x65707974)" (parenthesized_expression "(4 < sVar1)" (( "(") (binary_expression "4 < sVar1" (number_literal "4") (< "<") (identifier "sVar1")) () ")")) (&& "&&") (parenthesized_expression "(*param_1 == 0x65707974)" (( "(") (binary_expression "*param_1 == 0x65707974" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (== "==") (number_literal "0x65707974")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(pcVar2 = strchr(&DAT_0038f37c,(int)(char)param_1[1]), pcVar2 != (char *)0x0)" (( "(") (comma_expression "pcVar2 = strchr(&DAT_0038f37c,(int)(char)param_1[1]), pcVar2 != (char *)0x0" (assignment_expression "pcVar2 = strchr(&DAT_0038f37c,(int)(char)param_1[1])" (identifier "pcVar2") (= "=") (call_expression "strchr(&DAT_0038f37c,(int)(char)param_1[1])" (identifier "strchr") (argument_list "(&DAT_0038f37c,(int)(char)param_1[1])" (( "(") (pointer_expression "&DAT_0038f37c" (& "&") (identifier "DAT_0038f37c")) (, ",") (cast_expression "(int)(char)param_1[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)param_1[1]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")))) () ")")))) (, ",") (binary_expression "pcVar2 != (char *)0x0" (identifier "pcVar2") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (goto_statement "goto LAB_001d100a;" (goto "goto") (statement_identifier "LAB_001d100a") (; ";")))) (} "}")))) (} "}"))))) (labeled_statement "LAB_001d0eb3:\n  uVar6 = 0;" (statement_identifier "LAB_001d0eb3") (: ":") (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" (identifier "uVar6") (= "=") (number_literal "0")) (; ";"))) (labeled_statement "LAB_001d0eb5:\n  FUN_001cd9e0();" (statement_identifier "LAB_001d0eb5") (: ":") (expression_statement "FUN_001cd9e0();" (call_expression "FUN_001cd9e0()" (identifier "FUN_001cd9e0") (argument_list "()" (( "(") () ")"))) (; ";"))) (return_statement "return uVar6;" (return "return") (identifier "uVar6") (; ";")) (} "}")))

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

int function_1(char *var_7,char *var_10,int options)

{
  size_t var_6;
  char *var_15;
  size_t var_16;
  int var_18;
  char *var_20;
  int var_2;
  type_1 *var_5;
  short *psVar8;
  char ***var_3;
  type_2 var_4;
  char *tem;
  type_3 type;
  type_4 work [1];
  
  var_4 = 0;
  var_6 = var_1(var_7);
  *var_10 = '\0';
  var_3 = &work[0].typevec;
  for (var_2 = 0x17; var_2 != 0; var_2 = var_2 + -1) {
    *var_3 = (char **)0x0;
    var_3 = var_3 + (type_5)var_4 * -2 + 1;
  }
  work[0].options = options;
  if (*var_7 == '_') {
    if (var_7[1] == '_') {
      var_4 = var_7[2];
      if ((var_4 != 0x6f) || (var_7[3] != 'p')) {
        if (((_sch_istable[var_4] & 8) != 0) && ((_sch_istable[(type_2)var_7[3]] & 8) != 0)) {
          if (var_7[4] == '\0') {
            psVar8 = &DAT_002a0b15;
            var_5 = type_1;
            var_2 = 0;
            var_6 = 2;
            while( true ) {
              var_5 = var_5 + 1;
              if ((var_6 == 2) && (*psVar8 == *(short *)(var_7 + 2))) goto LAB_001d112b;
              var_2 = var_2 + 1;
              if (var_2 == 0x4f) break;
              psVar8 = (short *)var_5->in;
              var_6 = var_1((char *)psVar8);
            }
          }
          else if ((var_4 == 0x61) && (var_7[5] == '\0')) {
            var_5 = type_1 + 1;
            var_2 = 0;
            do {
              var_2 = var_2 + 1;
              if (var_2 == 0x4f) goto LAB_001d0eb3;
              psVar8 = (short *)var_5->in;
              var_5 = var_5 + 1;
              var_6 = var_1((char *)psVar8);
            } while (((var_6 != 3) || (*psVar8 != *(short *)(var_7 + 2))) ||
                    ((char)psVar8[1] != var_7[4]));
LAB_001d112b:
            var_8(var_10,"operator",9);
LAB_001d0f9a:
            var_9(var_10 + 8,type_1[var_2].out);
            var_2 = 1;
            goto LAB_001d0eb5;
          }
          goto LAB_001d0eb3;
        }
        goto LAB_001d0fca;
      }
      var_15 = var_7 + 4;
LAB_001d100a:
      tem = var_15;
      var_2 = var_11(work,&tem,&type);
      if (var_2 != 0) {
        var_6 = var_1(var_10);
        var_8(var_10 + var_6,"operator ",10);
        var_12(var_10,type.b,(int)type.p - (int)type.b);
        var_13(type.b);
        type.p = (char *)0x0;
        var_2 = 1;
        type.e = (char *)0x0;
        type.b = (char *)0x0;
        goto LAB_001d0eb5;
      }
    }
    else {
LAB_001d0fca:
      if (2 < var_6) goto LAB_001d0fd3;
    }
  }
  else if (2 < var_6) {
    if (((*var_7 == 'o') && (var_7[1] == 'p')) &&
       (var_15 = var_14(cplus_markers,(int)var_7[2]), var_15 != (char *)0x0)) {
      if ((((var_6 < 10) || (*(int *)(var_7 + 3) != 0x69737361)) ||
          (*(short *)(var_7 + 7) != 0x6e67)) || (var_7[9] != '_')) {
        var_15 = "nw";
        var_2 = 0;
        var_5 = type_1;
        var_16 = 2;
        while( true ) {
          var_5 = var_5 + 1;
          if ((var_6 - 3 == var_16) && (var_18 = var_17(var_15,var_7 + 3,var_6 - 3), var_18 == 0)) {
            var_8(var_10,"operator",9);
            goto LAB_001d0f9a;
          }
          var_2 = var_2 + 1;
          if (var_2 == 0x4f) break;
          var_15 = var_5->in;
          var_16 = var_1(var_15);
        }
      }
      else {
        var_15 = "nw";
        var_2 = 0;
        var_5 = type_1;
        var_16 = 2;
        while( true ) {
          var_5 = var_5 + 1;
          if ((var_16 == var_6 - 10) && (var_18 = var_17(var_15,var_7 + 10,var_16), var_18 == 0)) {
            var_8(var_10,"operator",9);
            var_15 = var_19(var_10 + 8,type_1[var_2].out);
            var_2 = 1;
            var_15[0] = '=';
            var_15[1] = '\0';
            goto LAB_001d0eb5;
          }
          var_2 = var_2 + 1;
          if (var_2 == 0x4f) break;
          var_15 = var_5->in;
          var_16 = var_1(var_15);
        }
      }
    }
    else {
LAB_001d0fd3:
      if ((4 < var_6) && (*(int *)var_7 == 0x65707974)) {
        var_15 = var_7 + 5;
        var_20 = var_14(cplus_markers,(int)var_7[4]);
        if (var_20 != (char *)0x0) goto LAB_001d100a;
      }
    }
  }
LAB_001d0eb3:
  var_2 = 0;
LAB_001d0eb5:
  var_21(work);
  return var_2;
}


(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (sized_type_specifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (char_literal (character)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (char_literal (character)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (char_literal (character)))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) right: (number_literal))) right: (number_literal))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (char_literal (escape_sequence)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))))) condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))))))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content)) (number_literal))))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)) (string_literal (string_content)) (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (goto_statement label: (statement_identifier)))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (char_literal (character)))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (char_literal (character)))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))))) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (char_literal (character)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content)) (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content)) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (character)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))))))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))))))) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))))) consequence: (goto_statement label: (statement_identifier))))))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list)))) (return_statement (identifier)))))

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

undefined4 MASKED(int *param_1,char *param_2)

{
  size_t sVar1;
  char *pcVar2;
  size_t sVar3;
  int iVar4;
  int iVar5;
  undefined4 uVar6;
  undefined **ppuVar7;
  short *psVar8;
  undefined4 *puVar9;
  byte bVar10;
  char *local_88;
  int local_84;
  undefined4 local_78 [25];
  undefined4 uStack_14;
  
  bVar10 = 0;
  uStack_14 = 0x1d0e59;
  sVar1 = strlen((char *)param_1);
  *param_2 = '\0';
  puVar9 = local_78;
  for (iVar5 = 0x17; iVar5 != 0; iVar5 = iVar5 + -1) {
    *puVar9 = 0;
    puVar9 = puVar9 + (uint)bVar10 * -2 + 1;
  }
  if ((char)*param_1 == '_') {
    if (*(char *)((int)param_1 + 1) == '_') {
      bVar10 = *(byte *)((int)param_1 + 2);
      if ((bVar10 != 0x6f) || (*(char *)((int)param_1 + 3) != 'p')) {
        if ((((&DAT_002a3600)[(uint)bVar10 * 2] & 8) != 0) &&
           (((&DAT_002a3600)[(uint)*(byte *)((int)param_1 + 3) * 2] & 8) != 0)) {
          if ((char)param_1[1] == '\0') {
            psVar8 = &DAT_002a0b15;
            ppuVar7 = &PTR_DAT_003864cc;
            iVar5 = 0;
            sVar1 = 2;
            while( true ) {
              if ((sVar1 == 2) && (*psVar8 == *(short *)((int)param_1 + 2))) goto LAB_001d112b;
              iVar5 = iVar5 + 1;
              if (iVar5 == 0x4f) break;
              psVar8 = (short *)*ppuVar7;
              ppuVar7 = ppuVar7 + 3;
              sVar1 = strlen((char *)psVar8);
            }
          }
          else if ((bVar10 == 0x61) && (*(char *)((int)param_1 + 5) == '\0')) {
            ppuVar7 = &PTR_DAT_003864cc;
            iVar5 = 0;
            do {
              iVar5 = iVar5 + 1;
              if (iVar5 == 0x4f) goto LAB_001d0eb3;
              psVar8 = (short *)*ppuVar7;
              ppuVar7 = ppuVar7 + 3;
              sVar1 = strlen((char *)psVar8);
            } while (((sVar1 != 3) || (*psVar8 != *(short *)((int)param_1 + 2))) ||
                    ((char)psVar8[1] != (char)param_1[1]));
LAB_001d112b:
            builtin_strncpy(param_2,"operator",9);
LAB_001d0f9a:
            strcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);
            uVar6 = 1;
            goto LAB_001d0eb5;
          }
          goto LAB_001d0eb3;
        }
        goto LAB_001d0fca;
      }
LAB_001d100a:
      iVar5 = FUN_001cf7b0();
      if (iVar5 != 0) {
        sVar1 = strlen(param_2);
        builtin_strncpy(param_2 + sVar1,"operator ",10);
        strncat(param_2,local_88,local_84 - (int)local_88);
        free(local_88);
        uVar6 = 1;
        goto LAB_001d0eb5;
      }
    }
    else {
LAB_001d0fca:
      if (2 < sVar1) goto LAB_001d0fd3;
    }
  }
  else if (2 < sVar1) {
    if ((((char)*param_1 == 'o') && (*(char *)((int)param_1 + 1) == 'p')) &&
       (pcVar2 = strchr(&DAT_0038f37c,(int)*(char *)((int)param_1 + 2)), pcVar2 != (char *)0x0)) {
      if ((((sVar1 < 10) || (*(int *)((int)param_1 + 3) != 0x69737361)) ||
          (*(short *)((int)param_1 + 7) != 0x6e67)) || (*(char *)((int)param_1 + 9) != '_')) {
        pcVar2 = "nw";
        iVar5 = 0;
        ppuVar7 = &PTR_DAT_003864cc;
        sVar3 = 2;
        while( true ) {
          if ((sVar1 - 3 == sVar3) &&
             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 3),sVar1 - 3), iVar4 == 0)) {
            builtin_strncpy(param_2,"operator",9);
            goto LAB_001d0f9a;
          }
          iVar5 = iVar5 + 1;
          if (iVar5 == 0x4f) break;
          pcVar2 = *ppuVar7;
          ppuVar7 = ppuVar7 + 3;
          sVar3 = strlen(pcVar2);
        }
      }
      else {
        pcVar2 = "nw";
        iVar5 = 0;
        ppuVar7 = &PTR_DAT_003864cc;
        sVar3 = 2;
        while( true ) {
          if ((sVar3 == sVar1 - 10) &&
             (iVar4 = memcmp(pcVar2,(void *)((int)param_1 + 10),sVar3), iVar4 == 0)) {
            builtin_strncpy(param_2,"operator",9);
            pcVar2 = stpcpy(param_2 + 8,(&PTR_s_new_003864c4)[iVar5 * 3]);
            uVar6 = 1;
            pcVar2[0] = '=';
            pcVar2[1] = '\0';
            goto LAB_001d0eb5;
          }
          iVar5 = iVar5 + 1;
          if (iVar5 == 0x4f) break;
          pcVar2 = *ppuVar7;
          ppuVar7 = ppuVar7 + 3;
          sVar3 = strlen(pcVar2);
        }
      }
    }
    else {
LAB_001d0fd3:
      if (((4 < sVar1) && (*param_1 == 0x65707974)) &&
         (pcVar2 = strchr(&DAT_0038f37c,(int)(char)param_1[1]), pcVar2 != (char *)0x0))
      goto LAB_001d100a;
    }
  }
LAB_001d0eb3:
  uVar6 = 0;
LAB_001d0eb5:
  FUN_001cd9e0();
  return uVar6;
}

